diff options
author | joye <joye> | 2014-04-17 18:45:56 (GMT) |
---|---|---|
committer | joye <joye> | 2014-04-17 18:45:56 (GMT) |
commit | e3ff80289eb0252ad0597f11867c3eef59f28dc5 (patch) | |
tree | f86c28563f2a8d2038b224ec75c4b4c9d1434231 /src | |
parent | 675412c7b062450b79a5614b9d3b47e916af60b1 (diff) | |
download | blt-e3ff80289eb0252ad0597f11867c3eef59f28dc5.zip blt-e3ff80289eb0252ad0597f11867c3eef59f28dc5.tar.gz blt-e3ff80289eb0252ad0597f11867c3eef59f28dc5.tar.bz2 |
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r-- | src/bltGrAxisOp.C | 10 | ||||
-rw-r--r-- | src/bltGrElemOp.C | 10 | ||||
-rw-r--r-- | src/bltGrLegdOp.C | 3 | ||||
-rw-r--r-- | src/bltGrMarkerOp.C | 12 | ||||
-rw-r--r-- | src/bltGrMarkerOp.h | 2 | ||||
-rw-r--r-- | src/bltGrXAxisOp.C | 2 | ||||
-rw-r--r-- | src/bltGraph.C | 64 | ||||
-rw-r--r-- | src/bltGraph.h | 11 |
8 files changed, 51 insertions, 63 deletions
diff --git a/src/bltGrAxisOp.C b/src/bltGrAxisOp.C index 55f18c6..f4d1964 100644 --- a/src/bltGrAxisOp.C +++ b/src/bltGrAxisOp.C @@ -417,7 +417,7 @@ static int BindOp(Tcl_Interp* interp, Graph* graphPtr, int objc, return TCL_OK; } else - return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, Blt_MakeAxisTag(graphPtr, Tcl_GetString(objv[3])), objc-4, objv+4); + return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, graphPtr->axisTag(Tcl_GetString(objv[3])), objc-4, objv+4); } static int CreateOp(Tcl_Interp* interp, Graph* graphPtr, @@ -696,14 +696,6 @@ Axis *Blt_GetFirstAxis(Blt_Chain chain) return (Axis*)Blt_Chain_GetValue(link); } -ClientData Blt_MakeAxisTag(Graph* graphPtr, const char *tagName) -{ - int isNew; - Tcl_HashEntry *hPtr = - Tcl_CreateHashEntry(&graphPtr->axes_.tagTable, tagName, &isNew); - return Tcl_GetHashKey(&graphPtr->axes_.tagTable, hPtr); -} - /* *--------------------------------------------------------------------------- * diff --git a/src/bltGrElemOp.C b/src/bltGrElemOp.C index 1879e59..22be905 100644 --- a/src/bltGrElemOp.C +++ b/src/bltGrElemOp.C @@ -268,7 +268,7 @@ static int BindOp(Graph* graphPtr, Tcl_Interp* interp, return TCL_OK; } - return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, Blt_MakeElementTag(graphPtr, Tcl_GetString(objv[3])), objc - 4, objv + 4); + return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, graphPtr->elementTag(Tcl_GetString(objv[3])), objc - 4, objv + 4); } static int ClosestOp(Graph* graphPtr, Tcl_Interp* interp, @@ -651,11 +651,3 @@ int Blt_GetElement(Tcl_Interp* interp, Graph* graphPtr, Tcl_Obj *objPtr, return TCL_OK; } -ClientData Blt_MakeElementTag(Graph* graphPtr, const char *tagName) -{ - Tcl_HashEntry *hPtr; - int isNew; - - hPtr = Tcl_CreateHashEntry(&graphPtr->elements_.tagTable, tagName, &isNew); - return Tcl_GetHashKey(&graphPtr->elements_.tagTable, hPtr); -} diff --git a/src/bltGrLegdOp.C b/src/bltGrLegdOp.C index 2a7b081..6676663 100644 --- a/src/bltGrLegdOp.C +++ b/src/bltGrLegdOp.C @@ -216,7 +216,8 @@ static int BindOp(Graph* graphPtr, Tcl_Interp* interp, Tcl_SetObjResult(interp, listObjPtr); return TCL_OK; } - return Blt_ConfigureBindingsFromObj(interp, graphPtr->legend_->bindTable_, Blt_MakeElementTag(graphPtr, Tcl_GetString(objv[3])), objc - 4, objv + 4); + + return Blt_ConfigureBindingsFromObj(interp, graphPtr->legend_->bindTable_, graphPtr->elementTag(Tcl_GetString(objv[3])), objc - 4, objv + 4); } static int CurselectionOp(Graph* graphPtr, Tcl_Interp* interp, diff --git a/src/bltGrMarkerOp.C b/src/bltGrMarkerOp.C index cebe0a3..2f3d5d1 100644 --- a/src/bltGrMarkerOp.C +++ b/src/bltGrMarkerOp.C @@ -213,9 +213,7 @@ static int BindOp(Graph* graphPtr, Tcl_Interp* interp, return TCL_OK; } - ClientData rr = Blt::MakeMarkerTag(graphPtr, Tcl_GetString(objv[3])); - return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, rr, - objc - 4, objv + 4); + return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, graphPtr->markerTag(Tcl_GetString(objv[3])), objc - 4, objv + 4); } static int CreateOp(Graph* graphPtr, Tcl_Interp* interp, @@ -467,11 +465,3 @@ static void FreeMarker(char* dataPtr) delete markerPtr; } -ClientData Blt::MakeMarkerTag(Graph* graphPtr, const char* tagName) -{ - int isNew; - Tcl_HashEntry *hPtr = - Tcl_CreateHashEntry(&graphPtr->markers_.tagTable, tagName, &isNew); - return Tcl_GetHashKey(&graphPtr->markers_.tagTable, hPtr); -} - diff --git a/src/bltGrMarkerOp.h b/src/bltGrMarkerOp.h index d1af663..91d7b35 100644 --- a/src/bltGrMarkerOp.h +++ b/src/bltGrMarkerOp.h @@ -33,8 +33,6 @@ namespace Blt { extern int MarkerOp(Graph* graphPtr, Tcl_Interp* interp, int objc, Tcl_Obj* const objv[]); - - extern ClientData MakeMarkerTag(Graph* graphPtr, const char* tagName); }; #endif diff --git a/src/bltGrXAxisOp.C b/src/bltGrXAxisOp.C index 2330930..b022bd3 100644 --- a/src/bltGrXAxisOp.C +++ b/src/bltGrXAxisOp.C @@ -101,7 +101,7 @@ static int BindOp(Tcl_Interp* interp, Axis* axisPtr, { Graph* graphPtr = axisPtr->graphPtr_; - return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, Blt_MakeAxisTag(graphPtr, axisPtr->name()), objc-3, objv+3); + return Blt_ConfigureBindingsFromObj(interp, graphPtr->bindTable_, graphPtr->axisTag(axisPtr->name()), objc-3, objv+3); } static int UseOp(Tcl_Interp* interp, Axis* axisPtr, diff --git a/src/bltGraph.C b/src/bltGraph.C index a0190c5..3dc35c0 100644 --- a/src/bltGraph.C +++ b/src/bltGraph.C @@ -897,6 +897,13 @@ void Graph::printActiveElements(Blt_Ps ps) } } +ClientData Graph::elementTag(const char *tagName) +{ + int isNew; + Tcl_HashEntry* hPtr = Tcl_CreateHashEntry(&elements_.tagTable,tagName,&isNew); + return Tcl_GetHashKey(&elements_.tagTable, hPtr); +} + // Markers void Graph::destroyMarkers() @@ -981,6 +988,13 @@ void Graph::printMarkers(Blt_Ps ps, int under) } } +ClientData Graph::markerTag(const char* tagName) +{ + int isNew; + Tcl_HashEntry* hPtr = Tcl_CreateHashEntry(&markers_.tagTable, tagName,&isNew); + return Tcl_GetHashKey(&markers_.tagTable, hPtr); +} + Marker* Graph::nearestMarker(int x, int y, int under) { Point2d point; @@ -1153,6 +1167,13 @@ void Graph::printAxesLimits(Blt_Ps ps) } } +ClientData Graph::axisTag(const char *tagName) +{ + int isNew; + Tcl_HashEntry *hPtr = Tcl_CreateHashEntry(&axes_.tagTable, tagName, &isNew); + return Tcl_GetHashKey(&axes_.tagTable, hPtr); +} + void Graph::resetAxes() { GraphOptions* gops = (GraphOptions*)ops_; @@ -1302,27 +1323,23 @@ void Blt_GraphTags(Blt_BindTable table, ClientData object, ClientData context, case CID_ELEM_BAR: case CID_ELEM_LINE: { - Element* elemPtr = (Element*)object; - ElementOptions* ops = (ElementOptions*)elemPtr->ops(); - MakeTagProc* tagProc = Blt_MakeElementTag; - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, elemPtr->name()), 0); - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, elemPtr->className()), 0); - if (ops->tags) - for (const char** p = ops->tags; *p != NULL; p++) - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, *p), 0); + Element* ptr = (Element*)object; + Blt_List_Append(list,(const char*)graphPtr->elementTag(ptr->name()),0); + Blt_List_Append(list,(const char*)graphPtr->elementTag(ptr->className()),0); + ElementOptions* ops = (ElementOptions*)ptr->ops(); + for (const char** pp = ops->tags; *pp; pp++) + Blt_List_Append(list, (const char*)graphPtr->elementTag(*pp),0); } break; case CID_AXIS_X: case CID_AXIS_Y: { - Axis* axisPtr = (Axis*)object; - AxisOptions* ops = (AxisOptions*)axisPtr->ops(); - MakeTagProc* tagProc = Blt_MakeAxisTag; - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, axisPtr->name()), 0); - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, axisPtr->className()), 0); - if (ops->tags) - for (const char** p = ops->tags; *p != NULL; p++) - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, *p), 0); + Axis* ptr = (Axis*)object; + Blt_List_Append(list,(const char*)graphPtr->axisTag(ptr->name()),0); + Blt_List_Append(list,(const char*)graphPtr->axisTag(ptr->className()),0); + AxisOptions* ops = (AxisOptions*)ptr->ops(); + for (const char** pp = ops->tags; *pp; pp++) + Blt_List_Append(list, (const char*)graphPtr->axisTag(*pp),0); } break; case CID_MARKER_BITMAP: @@ -1331,15 +1348,12 @@ void Blt_GraphTags(Blt_BindTable table, ClientData object, ClientData context, case CID_MARKER_TEXT: case CID_MARKER_WINDOW: { - Marker* markerPtr = (Marker*)object; - MarkerOptions* ops = (MarkerOptions*)markerPtr->ops(); - MakeTagProc* tagProc = Blt::MakeMarkerTag; - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, markerPtr->name()), 0); - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, markerPtr->className()), 0); - if (ops->tags) - for (const char** p = ops->tags; *p != NULL; p++) - Blt_List_Append(list, (const char*)(*tagProc)(graphPtr, *p), 0); - + Marker* ptr = (Marker*)object; + Blt_List_Append(list,(const char*)graphPtr->markerTag(ptr->name()),0); + Blt_List_Append(list,(const char*)graphPtr->markerTag(ptr->className()),0); + MarkerOptions* ops = (MarkerOptions*)ptr->ops(); + for (const char** pp = ops->tags; *pp; pp++) + Blt_List_Append(list, (const char*)graphPtr->markerTag(*pp),0); } break; default: diff --git a/src/bltGraph.h b/src/bltGraph.h index 4dd5cf5..4e44620 100644 --- a/src/bltGraph.h +++ b/src/bltGraph.h @@ -245,16 +245,17 @@ class Graph { void printAxes(Blt_Ps); void printAxesGrids(Blt_Ps); void printAxesLimits(Blt_Ps); + ClientData axisTag(const char*); + Axis* nearestAxis(int, int); - int isElementHidden(Blt::Marker*); + ClientData markerTag(const char*); Blt::Marker* nearestMarker(int, int, int); - Axis* nearestAxis(int, int); + int isElementHidden(Blt::Marker*); + + ClientData elementTag(const char*); }; typedef ClientData (MakeTagProc)(Graph* graphPtr, const char *tagName); -extern MakeTagProc Blt_MakeElementTag; -extern MakeTagProc Blt_MakeAxisTag; extern Blt_BindTagProc Blt_GraphTags; -extern Blt_BindTagProc Blt_AxisTags; #endif |