summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoye <joye>2014-03-17 22:19:42 (GMT)
committerjoye <joye>2014-03-17 22:19:42 (GMT)
commitab93911357f921ec15187f510cda811f276d6192 (patch)
tree7671bab5cda57dc9e99c73f5fe100b3c2f8fda8c
parent616e63f07f6fb11f568c68cb84df210dac876753 (diff)
downloadblt-ab93911357f921ec15187f510cda811f276d6192.zip
blt-ab93911357f921ec15187f510cda811f276d6192.tar.gz
blt-ab93911357f921ec15187f510cda811f276d6192.tar.bz2
*** empty log message ***
-rw-r--r--library/graph.tcl14
-rw-r--r--src/bltGrAxis.C9
-rw-r--r--src/bltGrElemOp.C9
-rw-r--r--src/bltGrMarker.C9
-rw-r--r--src/bltGrPenOp.C14
-rw-r--r--tests/base.tcl1
-rw-r--r--tests/linemarker.tcl65
7 files changed, 74 insertions, 47 deletions
diff --git a/library/graph.tcl b/library/graph.tcl
index 4a8410c..4a49a88 100644
--- a/library/graph.tcl
+++ b/library/graph.tcl
@@ -637,16 +637,24 @@ proc blt::ZoomStack::TitleNext { g } {
} else {
set coords "-Inf Inf"
}
- $g marker create text "zoomTitle" -text "Zoom #$level" \
- -coords $coords -bindtags "" -anchor nw
+ set marker "zoomTitle"
+ if {![$g marker exists $marker]} {
+ $g marker create text $marker -bindtags "" -anchor nw
+ }
+ $g marker configure $marker -text "Zoom #$level" \
+ -coords $coords
}
proc blt::ZoomStack::TitleLast { g } {
variable _private
+ set marker "zoomTitle"
set level [llength $_private($g,stack)]
if { $level > 0 } {
- $g marker create text "zoomTitle" -anchor nw -text "Zoom #$level"
+ if {![$g marker exists $marker]} {
+ $g marker create text "zoomTitle" -anchor nw
+ }
+ $g marker configure $marker -text "Zoom #$level"
}
}
diff --git a/src/bltGrAxis.C b/src/bltGrAxis.C
index 2eda587..3d9783b 100644
--- a/src/bltGrAxis.C
+++ b/src/bltGrAxis.C
@@ -1005,9 +1005,16 @@ static int AxisCreateOp(Tcl_Interp* interp, Graph* graphPtr,
static int AxisDeleteOp(Tcl_Interp* interp, Graph* graphPtr,
int objc, Tcl_Obj* const objv[])
{
+ if (objc<4)
+ return TCL_OK;
+
Axis *axisPtr;
- if (GetAxisFromObj(interp, graphPtr, objv[3], &axisPtr) != TCL_OK)
+ if (GetAxisFromObj(interp, graphPtr, objv[3], &axisPtr) != TCL_OK) {
+ Tcl_AppendResult(interp, "can't find axis \"",
+ Tcl_GetString(objv[3]), "\" in \"",
+ Tk_PathName(graphPtr->tkwin), "\"", NULL);
return TCL_ERROR;
+ }
axisPtr->flags |= DELETE_PENDING;
if (axisPtr->refCount == 0) {
diff --git a/src/bltGrElemOp.C b/src/bltGrElemOp.C
index 5f00912..184a454 100644
--- a/src/bltGrElemOp.C
+++ b/src/bltGrElemOp.C
@@ -644,9 +644,16 @@ static int CreateOp(Graph* graphPtr, Tcl_Interp* interp,
static int DeleteOp(Graph* graphPtr, Tcl_Interp* interp,
int objc, Tcl_Obj* const objv[])
{
+ if (objc<4)
+ return TCL_OK;
+
Element* elemPtr;
- if (Blt_GetElement(interp, graphPtr, objv[3], &elemPtr) != TCL_OK)
+ if (Blt_GetElement(interp, graphPtr, objv[3], &elemPtr) != TCL_OK) {
+ Tcl_AppendResult(interp, "can't find element \"",
+ Tcl_GetString(objv[3]), "\" in \"",
+ Tk_PathName(graphPtr->tkwin), "\"", NULL);
return TCL_ERROR;
+ }
elemPtr->flags |= DELETE_PENDING;
Tcl_EventuallyFree(elemPtr, FreeElement);
diff --git a/src/bltGrMarker.C b/src/bltGrMarker.C
index e1c49ca..f17a19f 100644
--- a/src/bltGrMarker.C
+++ b/src/bltGrMarker.C
@@ -412,9 +412,16 @@ static int CreateOp(Graph* graphPtr, Tcl_Interp* interp,
static int DeleteOp(Graph* graphPtr, Tcl_Interp* interp,
int objc, Tcl_Obj* const objv[])
{
+ if (objc<4)
+ return TCL_OK;
+
Marker *markerPtr;
- if (GetMarkerFromObj(NULL, graphPtr, objv[3], &markerPtr) != TCL_OK)
+ if (GetMarkerFromObj(NULL, graphPtr, objv[3], &markerPtr) != TCL_OK) {
+ Tcl_AppendResult(interp, "can't find marker \"",
+ Tcl_GetString(objv[3]), "\" in \"",
+ Tk_PathName(graphPtr->tkwin), "\"", NULL);
return TCL_ERROR;
+ }
markerPtr->flags |= DELETE_PENDING;
Tcl_EventuallyFree(markerPtr, Blt_FreeMarker);
diff --git a/src/bltGrPenOp.C b/src/bltGrPenOp.C
index f8c8ae0..ed28b82 100644
--- a/src/bltGrPenOp.C
+++ b/src/bltGrPenOp.C
@@ -264,16 +264,17 @@ static int CreateOp(Tcl_Interp* interp, Graph* graphPtr,
static int DeleteOp(Tcl_Interp* interp, Graph* graphPtr,
int objc, Tcl_Obj* const objv[])
{
+ if (objc<4)
+ return TCL_OK;
+
Pen* penPtr;
- if (GetPenFromObj(interp, graphPtr, objv[3], &penPtr) != TCL_OK)
- return TCL_ERROR;
-
- if (penPtr->flags & DELETE_PENDING) {
+ if (GetPenFromObj(interp, graphPtr, objv[3], &penPtr) != TCL_OK) {
Tcl_AppendResult(interp, "can't find pen \"",
Tcl_GetString(objv[3]), "\" in \"",
- Tk_PathName(graphPtr->tkwin), "\"", (char *)NULL);
+ Tk_PathName(graphPtr->tkwin), "\"", NULL);
return TCL_ERROR;
}
+
penPtr->flags |= DELETE_PENDING;
if (penPtr->refCount == 0)
DestroyPen(penPtr);
@@ -331,8 +332,7 @@ static int TypeOp(Tcl_Interp* interp, Graph* graphPtr,
static Blt_OpSpec penOps[] =
{
{"cget", 2, (void*)CgetOp, 5, 5, "penName option",},
- {"configure", 2, (void*)ConfigureOp, 4, 0,
- "penName ?penName?... ?option value?...",},
+ {"configure", 2, (void*)ConfigureOp, 4, 0, "penName ?penName?... ?option value?...",},
{"create", 2, (void*)CreateOp, 4, 0, "penName ?option value?...",},
{"delete", 2, (void*)DeleteOp, 3, 0, "?penName?...",},
{"names", 1, (void*)NamesOp, 3, 0, "?pattern?...",},
diff --git a/tests/base.tcl b/tests/base.tcl
index 84f21d2..518f8c6 100644
--- a/tests/base.tcl
+++ b/tests/base.tcl
@@ -36,7 +36,6 @@ proc bltTest2 {graph which option value} {
set org [$graph $which cget $option]
$graph $which configure $option $value
update
-# read stdin
after $sleep
$graph $which configure $option $org
update
diff --git a/tests/linemarker.tcl b/tests/linemarker.tcl
index e3df272..70c69d4 100644
--- a/tests/linemarker.tcl
+++ b/tests/linemarker.tcl
@@ -2,44 +2,43 @@ source base.tcl
set w .line
set graph [bltLineGraph $w]
-return
-set marker [$graph marker create line tt \
- -element data1 \
- -coords "1 50 1.5 100 1 150" \
- -linewidth 10]
-#bltTest2 $graph $marker -bindtags
-bltTest2 $graph $marker -cap round
-#bltTest2 $graph $marker -coords
-bltTest2 $graph $marker -dashes dashdot
-bltTest2 $graph $marker -dashes dashdot dashoffset 10
-bltTest2 $graph $marker -element data2
-#bltTest2 $graph $marker -fill
-bltTest2 $graph $marker -join round
-bltTest2 $graph $marker -linewidth 1
-bltTest2 $graph $marker -hide yes
-#bltTest2 $graph $marker -mapx
-#bltTest2 $graph $marker -mapy
-bltTest2 $graph $marker -outline green
-#bltTest2 $graph $marker -state
-#bltTest2 $graph $marker -under
-#bltTest2 $graph $marker -xoffset
-#bltTest2 $graph $marker -xor
-#bltTest2 $graph $marker -yoffset
+set mm [$graph marker create line tt -element data1 \
+ -coords "1 50 1.5 100 1 150" -linewidth 10]
+return
+#bltTest3 $graph marker $mm -bindtags
+bltTest3 $graph marker $mm -cap round
+#bltTest3 $graph marker $mm -coords
+bltTest3 $graph marker $mm -dashes dashdot
+bltTest3 $graph marker $mm -dashoffset 10
+bltTest3 $graph marker $mm -element data2
+#bltTest3 $graph marker $mm -fill
+bltTest3 $graph marker $mm -join round
+bltTest3 $graph marker $mm -linewidth 1
+bltTest3 $graph marker $mm -hide yes
+bltTest3 $graph marker $mm -mapx x
+bltTest3 $graph marker $mm -mapy y
+bltTest3 $graph marker $mm -outline green
+#bltTest3 $graph marker $mm -state
+bltTest3 $graph marker $mm -under yes
+bltTest3 $graph marker $mm -xoffset 20
+bltTest3 $graph marker $mm -xor yes
+bltTest3 $graph marker $mm -yoffset 20
-#bltCmd $graph marker axis
#bltCmd $graph marker bind marker ?sequence command?
-#bltCmd $graph marker cget marker ?option?
-#bltCmd $graph marker configure marker ?option value?...
-#bltCmd $graph marker create type marker ?option value?...
-bltCmd $graph marker exists $marker
+#bltCmd $graph marker cget
+#bltCmd $graph marker configure
+set foo [$graph marker create line]
+bltCmd $graph marker delete $foo
+set foo [$graph marker create line foo]
+bltCmd $graph marker delete $foo
+bltCmd $graph marker exists $mm
#bltCmd $graph marker find "enclosed|overlapping x1 y1 x2 y2"
#bltCmd $graph marker get name
-#bltCmd $graph marker lower "marker ?afterMarker?"
-#bltCmd $graph marker names "?pattern?..."
-#bltCmd $graph marker raise "marker ?beforeMarker?"
-bltCmd $graph marker type $marker
-bltCmd $graph marker delete $marker
+bltCmd $graph marker lower $mm
+bltCmd $graph marker names
+bltCmd $graph marker raise $mm
+bltCmd $graph marker type $mm
echo "done"
#bltPlotDestroy $w