set canvas [newObjectId canvas]
global $canvas
lappend canvas_list $canvas
+ set $canvas {}
if { $name != "" } {
- set $canvas [list "name $name"]
+ setCanvasName $canvas $name
} else {
- set $canvas [list "name Canvas[string range $canvas 1 end]"]
+ setCanvasName $canvas Canvas[string range $canvas 1 end]
}
return $canvas
proc getCanvasName { canvas } {
global $canvas
- return [lrange [lsearch -inline [set $canvas] "name *"] 1 end]
+ set entry [lrange [lsearch -inline [set $canvas] "name *"] 1 end]
+ return [string trim $entry \{\}]
+}
+
+
+proc setCanvasName { canvas name } {
+ global $canvas
+
+ set i [lsearch [set $canvas] "name *"]
+ if { $i >= 0 } {
+ set $canvas [lreplace [set $canvas] $i $i "name {$name}"]
+ } else {
+ set $canvas [linsert [set $canvas] 1 "name {$name}"]
+ }
+ return
}
}
+proc renameCanvasApply { w } {
+ global curcanvas
+
+ set newname [$w.e1 get]
+ destroy $w
+ setCanvasName $curcanvas $newname
+ refreshCanvasMenu
+}
+
+
proc refreshCanvasMenu {} {
global canvas_list curcanvas
updateUndoLog
refreshCanvasMenu
}
+ .menubar.canvas add command -label "Rename" -command {
+ set w .entry1
+ catch {destroy $w}
+ toplevel $w -takefocus 1
+ grab $w
+ wm title $w "Canvas rename"
+ wm iconname $w "Canvas rename"
+
+ label $w.msg -wraplength 5i -justify left -text "Canvas name:"
+ pack $w.msg -side top
+
+ frame $w.buttons
+ pack $w.buttons -side bottom -fill x -pady 2m
+ button $w.buttons.print -text "Apply" -command "renameCanvasApply $w"
+ button $w.buttons.cancel -text "Cancel" -command "destroy $w"
+ pack $w.buttons.print $w.buttons.cancel -side left -expand 1
+
+ entry $w.e1 -bg white
+ $w.e1 insert 0 [getCanvasName $curcanvas]
+ pack $w.e1 -side top -pady 5 -padx 10 -fill x
+ }
.menubar.canvas add command -label "Delete" -command {
if { [llength $canvas_list] == 1 } {
return
set w .entry1
catch {destroy $w}
toplevel $w
- wm title $w "IMUNES"
- wm iconname $w "IMUNESt"
+ wm title $w "Printing options"
+ wm iconname $w "Printing options"
label $w.msg -wraplength 5i -justify left -text "Print command:"
pack $w.msg -side top