summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorjoye <joye>2014-04-17 18:45:56 (GMT)
committerjoye <joye>2014-04-17 18:45:56 (GMT)
commite3ff80289eb0252ad0597f11867c3eef59f28dc5 (patch)
treef86c28563f2a8d2038b224ec75c4b4c9d1434231 /src
parent675412c7b062450b79a5614b9d3b47e916af60b1 (diff)
downloadblt-e3ff80289eb0252ad0597f11867c3eef59f28dc5.zip
blt-e3ff80289eb0252ad0597f11867c3eef59f28dc5.tar.gz
blt-e3ff80289eb0252ad0597f11867c3eef59f28dc5.tar.bz2
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/bltGrAxisOp.C10
-rw-r--r--src/bltGrElemOp.C10
-rw-r--r--src/bltGrLegdOp.C3
-rw-r--r--src/bltGrMarkerOp.C12
-rw-r--r--src/bltGrMarkerOp.h2
-rw-r--r--src/bltGrXAxisOp.C2
-rw-r--r--src/bltGraph.C64
-rw-r--r--src/bltGraph.h11
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