arcadia 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. data/README +126 -123
  2. data/arcadia.rb +770 -756
  3. data/base/a-contracts.rb +130 -93
  4. data/base/a-ext.rb +280 -280
  5. data/base/a-libs.rb +5 -11
  6. data/base/a-utils.rb +235 -44
  7. data/conf/arcadia.conf +20 -16
  8. data/conf/arcadia.init.rb +0 -0
  9. data/conf/arcadia.res.rb +74 -0
  10. data/ext/ae-complete-code/ae-complete-code.conf +0 -0
  11. data/ext/ae-complete-code/ae-complete-code.rb +80 -79
  12. data/ext/ae-debug/ae-debug.conf +0 -0
  13. data/ext/ae-debug/ae-debug.rb +2 -6
  14. data/ext/ae-debug/debug1.57.rb +0 -0
  15. data/ext/ae-doc-code/ae-doc-code.conf +15 -0
  16. data/ext/ae-doc-code/ae-doc-code.rb +289 -0
  17. data/ext/ae-editor/ae-editor.conf +17 -8
  18. data/ext/ae-editor/ae-editor.rb +738 -396
  19. data/ext/ae-event-log/ae-event-log.conf +0 -0
  20. data/ext/ae-event-log/ae-event-log.rb +0 -0
  21. data/ext/ae-file-history/ae-file-history.conf +2 -2
  22. data/ext/ae-file-history/ae-file-history.rb +286 -290
  23. data/ext/ae-inspector/ae-inspector.conf +0 -0
  24. data/ext/ae-inspector/ae-inspector.rb +0 -0
  25. data/ext/ae-output-event/ae-output-event.conf +2 -2
  26. data/ext/ae-output/ae-output.conf +2 -2
  27. data/ext/ae-output/ae-output.rb +173 -178
  28. data/ext/ae-palette/ae-palette.conf +0 -0
  29. data/ext/ae-palette/ae-palette.rb +0 -0
  30. data/ext/ae-shell/ae-shell.conf +0 -0
  31. data/ext/ae-shell/ae-shell.rb +54 -54
  32. data/lib/tk/al-tk.rb +3076 -3082
  33. data/lib/tk/al-tk.res.rb +0 -0
  34. data/lib/tk/al-tkarcadia.rb +0 -0
  35. data/lib/tk/al-tkcustom.rb +0 -0
  36. data/lib/tkext/al-bwidget.rb +0 -0
  37. data/lib/tkext/al-iwidgets.rb +0 -0
  38. data/lib/tkext/al-tile.rb +0 -0
  39. data/lib/tkext/al-tktable.rb +0 -0
  40. data/tcl/BWidget-1.8.0/BWman/ArrowButton.html +276 -0
  41. data/tcl/BWidget-1.8.0/BWman/BWidget.html +228 -0
  42. data/tcl/BWidget-1.8.0/BWman/Button.html +273 -0
  43. data/tcl/BWidget-1.8.0/BWman/ButtonBox.html +264 -0
  44. data/tcl/BWidget-1.8.0/BWman/ComboBox.html +402 -0
  45. data/tcl/BWidget-1.8.0/BWman/Dialog.html +314 -0
  46. data/tcl/BWidget-1.8.0/BWman/DragSite.html +139 -0
  47. data/tcl/BWidget-1.8.0/BWman/DropSite.html +254 -0
  48. data/tcl/BWidget-1.8.0/BWman/DynamicHelp.html +248 -0
  49. data/tcl/BWidget-1.8.0/BWman/Entry.html +341 -0
  50. data/tcl/BWidget-1.8.0/BWman/Label.html +331 -0
  51. data/tcl/BWidget-1.8.0/BWman/LabelEntry.html +194 -0
  52. data/tcl/BWidget-1.8.0/BWman/LabelFrame.html +144 -0
  53. data/tcl/BWidget-1.8.0/BWman/ListBox.html +678 -0
  54. data/tcl/BWidget-1.8.0/BWman/MainFrame.html +283 -0
  55. data/tcl/BWidget-1.8.0/BWman/MessageDlg.html +218 -0
  56. data/tcl/BWidget-1.8.0/BWman/NoteBook.html +374 -0
  57. data/tcl/BWidget-1.8.0/BWman/PagesManager.html +180 -0
  58. data/tcl/BWidget-1.8.0/BWman/PanedWindow.html +142 -0
  59. data/tcl/BWidget-1.8.0/BWman/PanelFrame.html +153 -0
  60. data/tcl/BWidget-1.8.0/BWman/PasswdDlg.html +214 -0
  61. data/tcl/BWidget-1.8.0/BWman/ProgressBar.html +152 -0
  62. data/tcl/BWidget-1.8.0/BWman/ProgressDlg.html +145 -0
  63. data/tcl/BWidget-1.8.0/BWman/ScrollView.html +130 -0
  64. data/tcl/BWidget-1.8.0/BWman/ScrollableFrame.html +191 -0
  65. data/tcl/BWidget-1.8.0/BWman/ScrolledWindow.html +116 -0
  66. data/tcl/BWidget-1.8.0/BWman/SelectColor.html +164 -0
  67. data/tcl/BWidget-1.8.0/BWman/SelectFont.html +152 -0
  68. data/tcl/BWidget-1.8.0/BWman/Separator.html +77 -0
  69. data/tcl/BWidget-1.8.0/BWman/SpinBox.html +250 -0
  70. data/tcl/BWidget-1.8.0/BWman/StatusBar.html +147 -0
  71. data/tcl/BWidget-1.8.0/BWman/TitleFrame.html +107 -0
  72. data/tcl/BWidget-1.8.0/BWman/Tree.html +947 -0
  73. data/tcl/BWidget-1.8.0/BWman/Widget.html +502 -0
  74. data/tcl/BWidget-1.8.0/BWman/contents.html +84 -0
  75. data/tcl/BWidget-1.8.0/BWman/index.html +7 -0
  76. data/tcl/BWidget-1.8.0/BWman/navtree.html +41 -0
  77. data/tcl/BWidget-1.8.0/BWman/options.htm +458 -0
  78. data/tcl/BWidget-1.8.0/CHANGES.txt +266 -0
  79. data/tcl/BWidget-1.8.0/ChangeLog +1641 -0
  80. data/tcl/BWidget-1.8.0/LICENSE.txt +41 -0
  81. data/tcl/BWidget-1.8.0/README.txt +127 -0
  82. data/tcl/BWidget-1.8.0/arrow.tcl +551 -0
  83. data/tcl/BWidget-1.8.0/bitmap.tcl +94 -0
  84. data/tcl/BWidget-1.8.0/button.tcl +324 -0
  85. data/tcl/BWidget-1.8.0/buttonbox.tcl +403 -0
  86. data/tcl/BWidget-1.8.0/color.tcl +493 -0
  87. data/tcl/BWidget-1.8.0/combobox.tcl +809 -0
  88. data/tcl/BWidget-1.8.0/demo/basic.tcl +199 -0
  89. data/tcl/BWidget-1.8.0/demo/bwidget.xbm +46 -0
  90. data/tcl/BWidget-1.8.0/demo/demo.tcl +212 -0
  91. data/tcl/BWidget-1.8.0/demo/dnd.tcl +42 -0
  92. data/tcl/BWidget-1.8.0/demo/manager.tcl +141 -0
  93. data/tcl/BWidget-1.8.0/demo/select.tcl +59 -0
  94. data/tcl/BWidget-1.8.0/demo/tmpldlg.tcl +214 -0
  95. data/tcl/BWidget-1.8.0/demo/tree.tcl +260 -0
  96. data/tcl/BWidget-1.8.0/demo/x1.xbm +2258 -0
  97. data/tcl/BWidget-1.8.0/dialog.tcl +345 -0
  98. data/tcl/BWidget-1.8.0/dragsite.tcl +197 -0
  99. data/tcl/BWidget-1.8.0/dropsite.tcl +455 -0
  100. data/tcl/BWidget-1.8.0/dynhelp.tcl +625 -0
  101. data/tcl/BWidget-1.8.0/entry.tcl +469 -0
  102. data/tcl/BWidget-1.8.0/font.tcl +566 -0
  103. data/tcl/BWidget-1.8.0/images/bold.gif +0 -0
  104. data/tcl/BWidget-1.8.0/images/copy.gif +0 -0
  105. data/tcl/BWidget-1.8.0/images/cut.gif +0 -0
  106. data/tcl/BWidget-1.8.0/images/dragfile.gif +0 -0
  107. data/tcl/BWidget-1.8.0/images/dragicon.gif +0 -0
  108. data/tcl/BWidget-1.8.0/images/error.gif +0 -0
  109. data/tcl/BWidget-1.8.0/images/file.gif +0 -0
  110. data/tcl/BWidget-1.8.0/images/folder.gif +0 -0
  111. data/tcl/BWidget-1.8.0/images/hourglass.gif +0 -0
  112. data/tcl/BWidget-1.8.0/images/info.gif +0 -0
  113. data/tcl/BWidget-1.8.0/images/italic.gif +0 -0
  114. data/tcl/BWidget-1.8.0/images/minus.xbm +5 -0
  115. data/tcl/BWidget-1.8.0/images/new.gif +0 -0
  116. data/tcl/BWidget-1.8.0/images/opcopy.xbm +5 -0
  117. data/tcl/BWidget-1.8.0/images/open.gif +0 -0
  118. data/tcl/BWidget-1.8.0/images/openfold.gif +0 -0
  119. data/tcl/BWidget-1.8.0/images/oplink.xbm +5 -0
  120. data/tcl/BWidget-1.8.0/images/opmove.xbm +5 -0
  121. data/tcl/BWidget-1.8.0/images/overstrike.gif +0 -0
  122. data/tcl/BWidget-1.8.0/images/palette.gif +0 -0
  123. data/tcl/BWidget-1.8.0/images/passwd.gif +0 -0
  124. data/tcl/BWidget-1.8.0/images/paste.gif +0 -0
  125. data/tcl/BWidget-1.8.0/images/plus.xbm +5 -0
  126. data/tcl/BWidget-1.8.0/images/print.gif +0 -0
  127. data/tcl/BWidget-1.8.0/images/question.gif +0 -0
  128. data/tcl/BWidget-1.8.0/images/redo.gif +0 -0
  129. data/tcl/BWidget-1.8.0/images/save.gif +0 -0
  130. data/tcl/BWidget-1.8.0/images/target.xbm +9 -0
  131. data/tcl/BWidget-1.8.0/images/underline.gif +0 -0
  132. data/tcl/BWidget-1.8.0/images/undo.gif +0 -0
  133. data/tcl/BWidget-1.8.0/images/warning.gif +0 -0
  134. data/tcl/BWidget-1.8.0/init.tcl +40 -0
  135. data/tcl/BWidget-1.8.0/label.tcl +271 -0
  136. data/tcl/BWidget-1.8.0/labelentry.tcl +100 -0
  137. data/tcl/BWidget-1.8.0/labelframe.tcl +160 -0
  138. data/tcl/BWidget-1.8.0/lang/da.rc +52 -0
  139. data/tcl/BWidget-1.8.0/lang/de.rc +52 -0
  140. data/tcl/BWidget-1.8.0/lang/en.rc +52 -0
  141. data/tcl/BWidget-1.8.0/lang/es.rc +53 -0
  142. data/tcl/BWidget-1.8.0/lang/fr.rc +52 -0
  143. data/tcl/BWidget-1.8.0/listbox.tcl +1638 -0
  144. data/tcl/BWidget-1.8.0/mainframe.tcl +711 -0
  145. data/tcl/BWidget-1.8.0/messagedlg.tcl +128 -0
  146. data/tcl/BWidget-1.8.0/notebook.tcl +1164 -0
  147. data/tcl/BWidget-1.8.0/pagesmgr.tcl +294 -0
  148. data/tcl/BWidget-1.8.0/panedw.tcl +381 -0
  149. data/tcl/BWidget-1.8.0/panelframe.tcl +246 -0
  150. data/tcl/BWidget-1.8.0/passwddlg.tcl +178 -0
  151. data/tcl/BWidget-1.8.0/pkgIndex.tcl +47 -0
  152. data/tcl/BWidget-1.8.0/progressbar.tcl +208 -0
  153. data/tcl/BWidget-1.8.0/progressdlg.tcl +87 -0
  154. data/tcl/BWidget-1.8.0/scrollframe.tcl +226 -0
  155. data/tcl/BWidget-1.8.0/scrollview.tcl +254 -0
  156. data/tcl/BWidget-1.8.0/scrollw.tcl +280 -0
  157. data/tcl/BWidget-1.8.0/separator.tcl +75 -0
  158. data/tcl/BWidget-1.8.0/spinbox.tcl +331 -0
  159. data/tcl/BWidget-1.8.0/statusbar.tcl +422 -0
  160. data/tcl/BWidget-1.8.0/tests/entry.test +173 -0
  161. data/tcl/BWidget-1.8.0/titleframe.tcl +170 -0
  162. data/tcl/BWidget-1.8.0/tree.tcl +2228 -0
  163. data/tcl/BWidget-1.8.0/utils.tcl +645 -0
  164. data/tcl/BWidget-1.8.0/widget.tcl +1576 -0
  165. data/tcl/BWidget-1.8.0/wizard.tcl +1028 -0
  166. data/tcl/BWidget-1.8.0/xpm2image.tcl +115 -0
  167. metadata +141 -5
@@ -0,0 +1,5 @@
1
+ #define minus_width 9
2
+ #define minus_height 9
3
+ static char minus_bits[] = {
4
+ 0xff,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x7d,0x01,0x01,0x01,0x01,0x01,0x01,
5
+ 0x01,0xff,0x01};
@@ -0,0 +1,5 @@
1
+ #define opcopy_width 11
2
+ #define opcopy_height 11
3
+ static char opcopy_bits[] = {
4
+ 0xff,0xff,0x01,0xfc,0x21,0xfc,0x21,0xfc,0x21,0xfc,0xfd,0xfd,0x21,0xfc,0x21,
5
+ 0xfc,0x21,0xfc,0x01,0xfc,0xff,0xff};
@@ -0,0 +1,5 @@
1
+ #define oplink_width 11
2
+ #define oplink_height 11
3
+ static char oplink_bits[] = {
4
+ 0xff,0xff,0x01,0xfc,0xf1,0xfc,0xe1,0xfc,0xf1,0xfc,0xb9,0xfc,0x19,0xfc,0x09,
5
+ 0xfc,0x11,0xfc,0x01,0xfc,0xff,0xff};
@@ -0,0 +1,5 @@
1
+ #define opmove_width 11
2
+ #define opmove_height 11
3
+ static char opmove_bits[] = {
4
+ 0xff,0xff,0x01,0xfc,0x01,0xfc,0x51,0xfc,0x89,0xfc,0xfd,0xfd,0x89,0xfc,0x51,
5
+ 0xfc,0x01,0xfc,0x01,0xfc,0xff,0xff};
@@ -0,0 +1,5 @@
1
+ #define plus_width 9
2
+ #define plus_height 9
3
+ static char plus_bits[] = {
4
+ 0xff,0x01,0x01,0x01,0x11,0x01,0x11,0x01,0x7d,0x01,0x11,0x01,0x11,0x01,0x01,
5
+ 0x01,0xff,0x01};
@@ -0,0 +1,9 @@
1
+ #define target_width 24
2
+ #define target_height 24
3
+ static unsigned char target_bits[] = {
4
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00,
5
+ 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
6
+ 0x3e, 0xe0, 0x03, 0x3e, 0xe0, 0x03, 0x3e, 0xe0, 0x03, 0x00, 0x00, 0x00,
7
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00,
8
+ 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
9
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
@@ -0,0 +1,40 @@
1
+ namespace eval Widget {}
2
+ proc Widget::_opt_defaults {{prio widgetDefault}} {
3
+ if {$::tcl_version >= 8.4} {
4
+ set plat [tk windowingsystem]
5
+ } else {
6
+ set plat $::tcl_platform(platform)
7
+ }
8
+ switch -exact $plat {
9
+ "aqua" {
10
+ }
11
+ "win32" -
12
+ "windows" {
13
+ #option add *Listbox.background SystemWindow $prio
14
+ option add *ListBox.background SystemWindow $prio
15
+ #option add *Button.padY 0 $prio
16
+ option add *ButtonBox.padY 0 $prio
17
+ option add *Dialog.padY 0 $prio
18
+ option add *Dialog.anchor e $prio
19
+ }
20
+ "x11" -
21
+ default {
22
+ option add *Scrollbar.width 12 $prio
23
+ option add *Scrollbar.borderWidth 1 $prio
24
+ option add *Dialog.separator 1 $prio
25
+ option add *MainFrame.relief raised $prio
26
+ option add *MainFrame.separator none $prio
27
+ }
28
+ }
29
+ }
30
+ Widget::_opt_defaults
31
+
32
+ option read [file join $::BWIDGET::LIBRARY "lang" "en.rc"]
33
+
34
+ ## Add a TraverseIn binding to standard Tk widgets to handle some of
35
+ ## the BWidget-specific things we do.
36
+ bind Entry <<TraverseIn>> { %W selection range 0 end; %W icursor end }
37
+ bind Spinbox <<TraverseIn>> { %W selection range 0 end; %W icursor end }
38
+
39
+ bind all <Key-Tab> { Widget::traverseTo [Widget::focusNext %W] }
40
+ bind all <<PrevWindow>> { Widget::traverseTo [Widget::focusPrev %W] }
@@ -0,0 +1,271 @@
1
+ # ------------------------------------------------------------------------------
2
+ # label.tcl
3
+ # This file is part of Unifix BWidget Toolkit
4
+ # $Id: label.tcl,v 1.10 2003/10/20 21:23:52 damonc Exp $
5
+ # ------------------------------------------------------------------------------
6
+ # Index of commands:
7
+ # - Label::create
8
+ # - Label::configure
9
+ # - Label::cget
10
+ # - Label::setfocus
11
+ # - Label::_drag_cmd
12
+ # - Label::_drop_cmd
13
+ # - Label::_over_cmd
14
+ # ------------------------------------------------------------------------------
15
+
16
+ namespace eval Label {
17
+ Widget::define Label label DragSite DropSite DynamicHelp
18
+
19
+ Widget::tkinclude Label label .l \
20
+ remove { -foreground -text -textvariable -underline }
21
+
22
+ Widget::declare Label {
23
+ {-name String "" 0}
24
+ {-text String "" 0}
25
+ {-textvariable String "" 0}
26
+ {-underline Int -1 0 "%d >= -1"}
27
+ {-focus String "" 0}
28
+ {-foreground TkResource "" 0 label}
29
+ {-disabledforeground TkResource "" 0 button}
30
+ {-state Enum normal 0 {normal disabled}}
31
+
32
+ {-fg Synonym -foreground}
33
+ }
34
+
35
+ DynamicHelp::include Label balloon
36
+ DragSite::include Label "" 1
37
+ DropSite::include Label {
38
+ TEXT {move {}}
39
+ IMAGE {move {}}
40
+ BITMAP {move {}}
41
+ FGCOLOR {move {}}
42
+ BGCOLOR {move {}}
43
+ COLOR {move {}}
44
+ }
45
+
46
+ Widget::syncoptions Label "" .l {-text {} -underline {}}
47
+
48
+ bind BwLabel <FocusIn> [list Label::setfocus %W]
49
+ bind BwLabel <Destroy> [list Label::_destroy %W]
50
+ }
51
+
52
+
53
+ # ------------------------------------------------------------------------------
54
+ # Command Label::create
55
+ # ------------------------------------------------------------------------------
56
+ proc Label::create { path args } {
57
+ array set maps [list Label {} .l {}]
58
+ array set maps [Widget::parseArgs Label $args]
59
+ frame $path -class Label -borderwidth 0 -highlightthickness 0 -relief flat
60
+ Widget::initFromODB Label $path $maps(Label)
61
+
62
+ eval [list label $path.l] $maps(.l)
63
+
64
+ if { [Widget::cget $path -state] == "normal" } {
65
+ set fg [Widget::cget $path -foreground]
66
+ } else {
67
+ set fg [Widget::cget $path -disabledforeground]
68
+ }
69
+
70
+ set var [Widget::cget $path -textvariable]
71
+ if { $var == "" &&
72
+ [Widget::cget $path -image] == "" &&
73
+ [Widget::cget $path -bitmap] == ""} {
74
+ set desc [BWidget::getname [Widget::cget $path -name]]
75
+ if { $desc != "" } {
76
+ set text [lindex $desc 0]
77
+ set under [lindex $desc 1]
78
+ } else {
79
+ set text [Widget::cget $path -text]
80
+ set under [Widget::cget $path -underline]
81
+ }
82
+ } else {
83
+ set under -1
84
+ set text ""
85
+ }
86
+
87
+ $path.l configure -text $text -textvariable $var \
88
+ -underline $under -foreground $fg
89
+
90
+ set accel [string tolower [string index $text $under]]
91
+ if { $accel != "" } {
92
+ bind [winfo toplevel $path] <Alt-$accel> "Label::setfocus $path"
93
+ }
94
+
95
+ bindtags $path [list BwLabel [winfo toplevel $path] all]
96
+ bindtags $path.l [list $path.l $path Label [winfo toplevel $path] all]
97
+ pack $path.l -expand yes -fill both
98
+
99
+ set dragendcmd [Widget::cget $path -dragendcmd]
100
+ DragSite::setdrag $path $path.l Label::_init_drag_cmd $dragendcmd 1
101
+ DropSite::setdrop $path $path.l Label::_over_cmd Label::_drop_cmd 1
102
+ DynamicHelp::sethelp $path $path.l 1
103
+
104
+ return [Widget::create Label $path]
105
+ }
106
+
107
+
108
+ # ------------------------------------------------------------------------------
109
+ # Command Label::configure
110
+ # ------------------------------------------------------------------------------
111
+ proc Label::configure { path args } {
112
+ set oldunder [$path.l cget -underline]
113
+ if { $oldunder != -1 } {
114
+ set oldaccel [string tolower [string index [$path.l cget -text] $oldunder]]
115
+ } else {
116
+ set oldaccel ""
117
+ }
118
+ set res [Widget::configure $path $args]
119
+
120
+ set cfg [Widget::hasChanged $path -foreground fg]
121
+ set cdfg [Widget::hasChanged $path -disabledforeground dfg]
122
+ set cst [Widget::hasChanged $path -state state]
123
+
124
+ if { $cst || $cfg || $cdfg } {
125
+ if { $state == "normal" } {
126
+ $path.l configure -fg $fg
127
+ } else {
128
+ $path.l configure -fg $dfg
129
+ }
130
+ }
131
+
132
+ set cv [Widget::hasChanged $path -textvariable var]
133
+ set cb [Widget::hasChanged $path -image img]
134
+ set ci [Widget::hasChanged $path -bitmap bmp]
135
+ set cn [Widget::hasChanged $path -name name]
136
+ set ct [Widget::hasChanged $path -text text]
137
+ set cu [Widget::hasChanged $path -underline under]
138
+
139
+ if { $cv || $cb || $ci || $cn || $ct || $cu } {
140
+ if { $var == "" && $img == "" && $bmp == "" } {
141
+ set desc [BWidget::getname $name]
142
+ if { $desc != "" } {
143
+ set text [lindex $desc 0]
144
+ set under [lindex $desc 1]
145
+ }
146
+ } else {
147
+ set under -1
148
+ set text ""
149
+ }
150
+ set top [winfo toplevel $path]
151
+ if { $oldaccel != "" } {
152
+ bind $top <Alt-$oldaccel> {}
153
+ }
154
+ set accel [string tolower [string index $text $under]]
155
+ if { $accel != "" } {
156
+ bind $top <Alt-$accel> [list Label::setfocus $path]
157
+ }
158
+ $path.l configure -text $text -underline $under -textvariable $var
159
+ }
160
+
161
+ set force [Widget::hasChanged $path -dragendcmd dragend]
162
+ DragSite::setdrag $path $path.l Label::_init_drag_cmd $dragend $force
163
+ DropSite::setdrop $path $path.l Label::_over_cmd Label::_drop_cmd
164
+ DynamicHelp::sethelp $path $path.l
165
+
166
+ return $res
167
+ }
168
+
169
+
170
+ # ------------------------------------------------------------------------------
171
+ # Command Label::cget
172
+ # ------------------------------------------------------------------------------
173
+ proc Label::cget { path option } {
174
+ return [Widget::cget $path $option]
175
+ }
176
+
177
+
178
+ # ------------------------------------------------------------------------------
179
+ # Command Label::setfocus
180
+ # ------------------------------------------------------------------------------
181
+ proc Label::setfocus { path } {
182
+ if { [string equal [Widget::cget $path -state] "normal"] } {
183
+ set w [Widget::cget $path -focus]
184
+ if { [winfo exists $w] && [Widget::focusOK $w] } {
185
+ focus $w
186
+ }
187
+ }
188
+ }
189
+
190
+
191
+ # ------------------------------------------------------------------------------
192
+ # Command Label::_init_drag_cmd
193
+ # ------------------------------------------------------------------------------
194
+ proc Label::_init_drag_cmd { path X Y top } {
195
+ set path [winfo parent $path]
196
+ if { [set cmd [Widget::cget $path -draginitcmd]] != "" } {
197
+ return [uplevel \#0 $cmd [list $path $X $Y $top]]
198
+ }
199
+ if { [set data [$path.l cget -image]] != "" } {
200
+ set type "IMAGE"
201
+ pack [label $top.l -image $data]
202
+ } elseif { [set data [$path.l cget -bitmap]] != "" } {
203
+ set type "BITMAP"
204
+ pack [label $top.l -bitmap $data]
205
+ } else {
206
+ set data [$path.l cget -text]
207
+ set type "TEXT"
208
+ }
209
+ set usertype [Widget::getoption $path -dragtype]
210
+ if { $usertype != "" } {
211
+ set type $usertype
212
+ }
213
+ return [list $type {copy} $data]
214
+ }
215
+
216
+
217
+ # ------------------------------------------------------------------------------
218
+ # Command Label::_drop_cmd
219
+ # ------------------------------------------------------------------------------
220
+ proc Label::_drop_cmd { path source X Y op type data } {
221
+ set path [winfo parent $path]
222
+ if { [set cmd [Widget::cget $path -dropcmd]] != "" } {
223
+ return [uplevel \#0 $cmd [list $path $source $X $Y $op $type $data]]
224
+ }
225
+ if { $type == "COLOR" || $type == "FGCOLOR" } {
226
+ configure $path -foreground $data
227
+ } elseif { $type == "BGCOLOR" } {
228
+ configure $path -background $data
229
+ } else {
230
+ set text ""
231
+ set image ""
232
+ set bitmap ""
233
+ switch -- $type {
234
+ IMAGE {set image $data}
235
+ BITMAP {set bitmap $data}
236
+ default {
237
+ set text $data
238
+ if { [set var [$path.l cget -textvariable]] != "" } {
239
+ configure $path -image "" -bitmap ""
240
+ GlobalVar::setvar $var $data
241
+ return
242
+ }
243
+ }
244
+ }
245
+ configure $path -text $text -image $image -bitmap $bitmap
246
+ }
247
+ return 1
248
+ }
249
+
250
+
251
+ # ------------------------------------------------------------------------------
252
+ # Command Label::_over_cmd
253
+ # ------------------------------------------------------------------------------
254
+ proc Label::_over_cmd { path source event X Y op type data } {
255
+ set path [winfo parent $path]
256
+ if { [set cmd [Widget::cget $path -dropovercmd]] != "" } {
257
+ return [uplevel \#0 $cmd [list $path $source $event $X $Y $op $type $data]]
258
+ }
259
+ if { [Widget::getoption $path -state] == "normal" ||
260
+ $type == "COLOR" || $type == "FGCOLOR" || $type == "BGCOLOR" } {
261
+ DropSite::setcursor based_arrow_down
262
+ return 1
263
+ }
264
+ DropSite::setcursor dot
265
+ return 0
266
+ }
267
+
268
+
269
+ proc Label::_destroy { path } {
270
+ Widget::destroy $path
271
+ }
@@ -0,0 +1,100 @@
1
+ # ------------------------------------------------------------------------------
2
+ # labelentry.tcl
3
+ # This file is part of Unifix BWidget Toolkit
4
+ # $Id: labelentry.tcl,v 1.6 2003/10/20 21:23:52 damonc Exp $
5
+ # ------------------------------------------------------------------------------
6
+ # Index of commands:
7
+ # - LabelEntry::create
8
+ # - LabelEntry::configure
9
+ # - LabelEntry::cget
10
+ # - LabelEntry::bind
11
+ # ------------------------------------------------------------------------------
12
+
13
+ namespace eval LabelEntry {
14
+ Widget::define LabelEntry labelentry Entry LabelFrame
15
+
16
+ Widget::bwinclude LabelEntry LabelFrame .labf \
17
+ remove {-relief -borderwidth -focus} \
18
+ rename {-text -label} \
19
+ prefix {label -justify -width -anchor -height -font -textvariable}
20
+
21
+ Widget::bwinclude LabelEntry Entry .e \
22
+ remove {-fg -bg} \
23
+ rename {-foreground -entryfg -background -entrybg}
24
+
25
+ Widget::addmap LabelEntry "" :cmd {-background {}}
26
+
27
+ Widget::syncoptions LabelEntry Entry .e {-text {}}
28
+ Widget::syncoptions LabelEntry LabelFrame .labf {-label -text -underline {}}
29
+
30
+ ::bind BwLabelEntry <FocusIn> [list focus %W.labf]
31
+ ::bind BwLabelEntry <Destroy> [list LabelEntry::_destroy %W]
32
+ }
33
+
34
+
35
+ # ------------------------------------------------------------------------------
36
+ # Command LabelEntry::create
37
+ # ------------------------------------------------------------------------------
38
+ proc LabelEntry::create { path args } {
39
+ array set maps [list LabelEntry {} :cmd {} .labf {} .e {}]
40
+ array set maps [Widget::parseArgs LabelEntry $args]
41
+
42
+ eval [list frame $path] $maps(:cmd) -class LabelEntry \
43
+ -relief flat -bd 0 -highlightthickness 0 -takefocus 0
44
+ Widget::initFromODB LabelEntry $path $maps(LabelEntry)
45
+
46
+ set labf [eval [list LabelFrame::create $path.labf] $maps(.labf) \
47
+ [list -relief flat -borderwidth 0 -focus $path.e]]
48
+ set subf [LabelFrame::getframe $labf]
49
+ set entry [eval [list Entry::create $path.e] $maps(.e)]
50
+
51
+ pack $entry -in $subf -fill both -expand yes
52
+ pack $labf -fill both -expand yes
53
+
54
+ bindtags $path [list $path BwLabelEntry [winfo toplevel $path] all]
55
+
56
+ return [Widget::create LabelEntry $path]
57
+ }
58
+
59
+
60
+ # ------------------------------------------------------------------------------
61
+ # Command LabelEntry::configure
62
+ # ------------------------------------------------------------------------------
63
+ proc LabelEntry::configure { path args } {
64
+ return [Widget::configure $path $args]
65
+ }
66
+
67
+
68
+ # ------------------------------------------------------------------------------
69
+ # Command LabelEntry::cget
70
+ # ------------------------------------------------------------------------------
71
+ proc LabelEntry::cget { path option } {
72
+ return [Widget::cget $path $option]
73
+ }
74
+
75
+
76
+ # ------------------------------------------------------------------------------
77
+ # Command LabelEntry::bind
78
+ # ------------------------------------------------------------------------------
79
+ proc LabelEntry::bind { path args } {
80
+ return [eval [list ::bind $path.e] $args]
81
+ }
82
+
83
+
84
+ #------------------------------------------------------------------------------
85
+ # Command LabelEntry::_path_command
86
+ #------------------------------------------------------------------------------
87
+ proc LabelEntry::_path_command { path cmd larg } {
88
+ if { [string equal $cmd "configure"] ||
89
+ [string equal $cmd "cget"] ||
90
+ [string equal $cmd "bind"] } {
91
+ return [eval [list LabelEntry::$cmd $path] $larg]
92
+ } else {
93
+ return [eval [list $path.e:cmd $cmd] $larg]
94
+ }
95
+ }
96
+
97
+
98
+ proc LabelEntry::_destroy { path } {
99
+ Widget::destroy $path
100
+ }