From ab93911357f921ec15187f510cda811f276d6192 Mon Sep 17 00:00:00 2001 From: joye Date: Mon, 17 Mar 2014 22:19:42 +0000 Subject: *** empty log message *** --- library/graph.tcl | 14 ++++++++--- src/bltGrAxis.C | 9 +++++++- src/bltGrElemOp.C | 9 +++++++- src/bltGrMarker.C | 9 +++++++- src/bltGrPenOp.C | 14 +++++------ tests/base.tcl | 1 - tests/linemarker.tcl | 65 ++++++++++++++++++++++++++-------------------------- 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 -- cgit v0.12