21 setGroupIconResource $minskyHome/icons/group.svg
23 proc rightMouseGroup {x y X Y} {
24 if [selectVar $x $y] {
25 .wiring.context delete 0 end
26 .wiring.context add command -label "Edit" -command "editItem"
27 .wiring.context add command -label "Copy" -command "canvas.copyItem"
28 .wiring.context add command -label "Remove" -command "canvas.removeItemFromItsGroup"
29 .wiring.context post $X $Y
35 proc deiconifyEditGroup {} {
36 if {![
winfo exists .wiring.editGroup]} {
37 toplevel .wiring.editGroup
38 wm title .wiring.editGroup "Edit Group"
39 wm transient .wiring.editGroup .wiring
41 frame .wiring.editGroup.name
42 label .wiring.editGroup.name.label -text "Name"
43 entry .wiring.editGroup.name.val -width 20
44 pack .wiring.editGroup.name.label .wiring.editGroup.name.val -side left
46 frame .wiring.editGroup.rot
47 label .wiring.editGroup.rot.label -text " Rotation"
48 entry .wiring.editGroup.rot.val -width 20
49 pack .wiring.editGroup.rot.label .wiring.editGroup.rot.val -side left
51 pack .wiring.editGroup.name .wiring.editGroup.rot
53 frame .wiring.editGroup.buttonBar
54 button .wiring.editGroup.buttonBar.ok -text OK
55 button .wiring.editGroup.buttonBar.cancel -text Cancel -command {
56 closeEditWindow .wiring.editGroup}
57 pack .wiring.editGroup.buttonBar.ok .wiring.editGroup.buttonBar.cancel -side left
58 pack .wiring.editGroup.buttonBar -side bottom
60 bind .wiring.editGroup <Key-Return> {invokeOKorCancel .wiring.editGroup.buttonBar}
61 bind .wiring.editGroup <Key-Escape> {.wiring.editGroup.buttonBar.cancel invoke}
63 wm deiconify .wiring.editGroup
70 .wiring.editGroup.name.val delete 0 end
71 .wiring.editGroup.name.val insert 0 [minsky.canvas.item.title]
72 .wiring.editGroup.rot.val delete 0 end
73 .wiring.editGroup.rot.val insert 0 [minsky.canvas.item.rotation]
74 .wiring.editGroup.buttonBar.ok configure \
76 minsky.canvas.item.rotation [.wiring.editGroup.rot.val get]
77 minsky.canvas.item.title [.wiring.editGroup.name.val get]
78 minsky.canvas.requestRedraw
79 closeEditWindow .wiring.editGroup
81 grab .wiring.editGroup
84 namespace eval group {
88 set ext [minsky.canvas.item.defaultExtension]
89 set fname [
tk_getSaveFile -defaultextension $ext -initialdir $workDir \
91 if [
string length $fname] {
92 eval saveCanvasItemAsFile {$fname}