summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorjoye <joye>2014-04-18 17:07:46 (GMT)
committerjoye <joye>2014-04-18 17:07:46 (GMT)
commitdd944a4a6dbca67e4a661dfe5ef243d199abd833 (patch)
treeaed1e7ba92ed7d9f4bab9c33de468794753504cf /src
parent3f52c6e39673ce7866d8c4dfbc8b87ce8f6567ec (diff)
downloadblt-dd944a4a6dbca67e4a661dfe5ef243d199abd833.zip
blt-dd944a4a6dbca67e4a661dfe5ef243d199abd833.tar.gz
blt-dd944a4a6dbca67e4a661dfe5ef243d199abd833.tar.bz2
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/bltGrAxisOp.C40
-rw-r--r--src/bltGrAxisOp.h2
-rw-r--r--src/bltGraph.C32
-rw-r--r--src/bltGraph.h8
4 files changed, 41 insertions, 41 deletions
diff --git a/src/bltGrAxisOp.C b/src/bltGrAxisOp.C
index c3ddb8f..5d0484c 100644
--- a/src/bltGrAxisOp.C
+++ b/src/bltGrAxisOp.C
@@ -55,8 +55,8 @@ static double Clamp(double x)
return (x < 0.0) ? 0.0 : (x > 1.0) ? 1.0 : x;
}
-static int AxisObjConfigure(Tcl_Interp* interp, Axis* axisPtr,
- int objc, Tcl_Obj* const objv[])
+int AxisObjConfigure(Tcl_Interp* interp, Axis* axisPtr,
+ int objc, Tcl_Obj* const objv[])
{
Graph* graphPtr = axisPtr->graphPtr_;
Tk_SavedOptions savedOptions;
@@ -337,40 +337,6 @@ int AxisViewOp(Tcl_Interp* interp, Axis* axisPtr,
// Axis
-static int CreateAxis(Tcl_Interp* interp, Graph* graphPtr,
- int objc, Tcl_Obj* const objv[])
-{
- char *string = Tcl_GetString(objv[3]);
- if (string[0] == '-') {
- Tcl_AppendResult(interp, "name of axis \"", string,
- "\" can't start with a '-'", NULL);
- return TCL_ERROR;
- }
-
- int isNew;
- Tcl_HashEntry* hPtr =
- Tcl_CreateHashEntry(&graphPtr->axes_.table, string, &isNew);
- if (!isNew) {
- Tcl_AppendResult(interp, "axis \"", string,
- "\" already exists in \"", Tcl_GetString(objv[0]),
- "\"", NULL);
- return TCL_ERROR;
- }
-
- Axis* axisPtr = new Axis(graphPtr, Tcl_GetString(objv[3]), MARGIN_NONE, hPtr);
- if (!axisPtr)
- return TCL_ERROR;
-
- Tcl_SetHashValue(hPtr, axisPtr);
-
- if ((Tk_InitOptions(interp, (char*)axisPtr->ops(), axisPtr->optionTable(), graphPtr->tkwin_) != TCL_OK) || (AxisObjConfigure(interp, axisPtr, objc-4, objv+4) != TCL_OK)) {
- delete axisPtr;
- return TCL_ERROR;
- }
-
- return TCL_OK;
-}
-
static int CgetOp(Tcl_Interp* interp, Graph* graphPtr,
int objc, Tcl_Obj* const objv[])
{
@@ -423,7 +389,7 @@ static int BindOp(Tcl_Interp* interp, Graph* graphPtr, int objc,
static int CreateOp(Tcl_Interp* interp, Graph* graphPtr,
int objc, Tcl_Obj* const objv[])
{
- if (CreateAxis(interp, graphPtr, objc, objv) != TCL_OK)
+ if (graphPtr->createAxis(objc, objv) != TCL_OK)
return TCL_ERROR;
Tcl_SetObjResult(interp, objv[3]);
diff --git a/src/bltGrAxisOp.h b/src/bltGrAxisOp.h
index ce84f35..dd15a17 100644
--- a/src/bltGrAxisOp.h
+++ b/src/bltGrAxisOp.h
@@ -30,6 +30,8 @@
#ifndef __BltGrAxisOp_h__
#define __BltGrAxisOp_h__
+extern int AxisObjConfigure(Tcl_Interp* interp, Axis* axisPtr,
+ int objc, Tcl_Obj* const objv[]);
extern int Blt_AxisOp(Graph* graphPtr, Tcl_Interp* interp,
int objc, Tcl_Obj* const objv[]);
diff --git a/src/bltGraph.C b/src/bltGraph.C
index 02ac74a..4de7d4f 100644
--- a/src/bltGraph.C
+++ b/src/bltGraph.C
@@ -1179,6 +1179,38 @@ int Graph::createAxes()
return TCL_OK;
}
+int Graph::createAxis(int objc, Tcl_Obj* const objv[])
+{
+ char *string = Tcl_GetString(objv[3]);
+ if (string[0] == '-') {
+ Tcl_AppendResult(interp_, "name of axis \"", string,
+ "\" can't start with a '-'", NULL);
+ return TCL_ERROR;
+ }
+
+ int isNew;
+ Tcl_HashEntry* hPtr =
+ Tcl_CreateHashEntry(&axes_.table, string, &isNew);
+ if (!isNew) {
+ Tcl_AppendResult(interp_, "axis \"", string, "\" already exists in \"",
+ Tcl_GetString(objv[0]), "\"", NULL);
+ return TCL_ERROR;
+ }
+
+ Axis* axisPtr = new Axis(this, Tcl_GetString(objv[3]), MARGIN_NONE, hPtr);
+ if (!axisPtr)
+ return TCL_ERROR;
+
+ Tcl_SetHashValue(hPtr, axisPtr);
+
+ if ((Tk_InitOptions(interp_, (char*)axisPtr->ops(), axisPtr->optionTable(), tkwin_) != TCL_OK) || (AxisObjConfigure(interp_, axisPtr, objc-4, objv+4) != TCL_OK)) {
+ delete axisPtr;
+ return TCL_ERROR;
+ }
+
+ return TCL_OK;
+}
+
void Graph::destroyAxes()
{
Tcl_HashSearch cursor;
diff --git a/src/bltGraph.h b/src/bltGraph.h
index 1faa361..bbccc58 100644
--- a/src/bltGraph.h
+++ b/src/bltGraph.h
@@ -246,23 +246,23 @@ class Graph {
void enableCrosshairs();
void disableCrosshairs();
- void resetAxes();
+ int createAxis(int, Tcl_Obj* const []);
void printAxes(Blt_Ps);
void printAxesGrids(Blt_Ps);
void printAxesLimits(Blt_Ps);
+ int getAxis(Tcl_Obj*, Axis**);
ClientData axisTag(const char*);
+ void resetAxes();
Axis* nearestAxis(int, int);
ClientData markerTag(const char*);
Blt::Marker* nearestMarker(int, int, int);
int isElementHidden(Blt::Marker*);
+ int getElement(Tcl_Obj*, Element**);
ClientData elementTag(const char*);
int createPen(const char*, int, Tcl_Obj* const []);
-
- int getElement(Tcl_Obj*, Element**);
- int getAxis(Tcl_Obj*, Axis**);
int getPen(Tcl_Obj*, Pen**);
};