arcadia 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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,502 @@
1
+ <HTML>
2
+ <HEAD><TITLE>Widget</TITLE></HEAD>
3
+ <BODY BGCOLOR=white>
4
+ <IMG SRC="constr.gif" WIDTH="40" HEIGHT="40"> Under construction ...<BR>
5
+ <DL><DT><I><A HREF="#descr">NAME</A></I></DT>
6
+ <DD><B>Widget</B>
7
+ - The Widget base class
8
+ </DD></DL>
9
+ <DL>
10
+ <DT><I><A HREF="#wc">COMMAND</A></I></DT>
11
+ <DD>Widget::<A HREF="#addmap"><B>addmap</B></A>
12
+ <I>class</I>
13
+ <I>subclass</I>
14
+ <I>subpath</I>
15
+ <I>options</I>
16
+ </DD>
17
+ <DD>Widget::<A HREF="#bwinclude"><B>bwinclude</B></A>
18
+ <I>class</I>
19
+ <I>subclass</I>
20
+ <I>subpath</I>
21
+ ?<I>arg...</I>?
22
+ </DD>
23
+ <DD>Widget::<A HREF="#cget"><B>cget</B></A>
24
+ <I>path</I>
25
+ <I>option</I>
26
+ </DD>
27
+ <DD>Widget::<A HREF="#configure"><B>configure</B></A>
28
+ <I>path</I>
29
+ <I>options</I>
30
+ </DD>
31
+ <DD>Widget::<A HREF="#create"><B>create</B></A>
32
+ <I>class</I>
33
+ <I>path</I>
34
+ ?<I>rename</I>?
35
+ </DD>
36
+ <DD>Widget::<A HREF="#declare"><B>declare</B></A>
37
+ <I>class</I>
38
+ <I>optlist</I>
39
+ </DD>
40
+ <DD>Widget::<A HREF="#define"><B>define</B></A>
41
+ <I>class</I>
42
+ <I>filename</I>
43
+ ?<I>class ...</I>?
44
+ </DD>
45
+ <DD>Widget::<A HREF="#destroy"><B>destroy</B></A>
46
+ <I>path</I>
47
+ </DD>
48
+ <DD>Widget::<A HREF="#focusNext"><B>focusNext</B></A>
49
+ <I>w</I>
50
+ </DD>
51
+ <DD>Widget::<A HREF="#focusOK"><B>focusOK</B></A>
52
+ <I>w</I>
53
+ </DD>
54
+ <DD>Widget::<A HREF="#focusPrev"><B>focusPrev</B></A>
55
+ <I>w</I>
56
+ </DD>
57
+ <DD>Widget::<A HREF="#generate-doc"><B>generate-doc</B></A>
58
+ <I>dir</I>
59
+ <I>widgetlist</I>
60
+ </DD>
61
+ <DD>Widget::<A HREF="#generate-widget-doc"><B>generate-widget-doc</B></A>
62
+ <I>class</I>
63
+ <I>iscmd</I>
64
+ <I>file</I>
65
+ </DD>
66
+ <DD>Widget::<A HREF="#getoption"><B>getoption</B></A>
67
+ <I>path</I>
68
+ <I>option</I>
69
+ </DD>
70
+ <DD>Widget::<A HREF="#getVariable"><B>getVariable</B></A>
71
+ <I>path</I>
72
+ <I>varName</I>
73
+ <I>?myVarName?</I>
74
+ </DD>
75
+ <DD>Widget::<A HREF="#hasChanged"><B>hasChanged</B></A>
76
+ <I>path</I>
77
+ <I>option</I>
78
+ <I>pvalue</I>
79
+ </DD>
80
+ <DD>Widget::<A HREF="#init"><B>init</B></A>
81
+ <I>class</I>
82
+ <I>path</I>
83
+ <I>options</I>
84
+ </DD>
85
+ <DD>Widget::<A HREF="#setoption"><B>setoption</B></A>
86
+ <I>path</I>
87
+ <I>option</I>
88
+ <I>value</I>
89
+ </DD>
90
+ <DD>Widget::<A HREF="#subcget"><B>subcget</B></A>
91
+ <I>path</I>
92
+ <I>subwidget</I>
93
+ </DD>
94
+ <DD>Widget::<A HREF="#syncoptions"><B>syncoptions</B></A>
95
+ <I>class</I>
96
+ <I>subclass</I>
97
+ <I>subpath</I>
98
+ <I>options</I>
99
+ </DD>
100
+ <DD>Widget::<A HREF="#tkinclude"><B>tkinclude</B></A>
101
+ <I>class</I>
102
+ <I>tkwidget</I>
103
+ <I>subpath</I>
104
+ ?<I>arg...</I>?
105
+ </DD>
106
+ </DL>
107
+ <BR><HR WIDTH="100%"><BR>
108
+ <B><A NAME="descr"></A>DESCRIPTION</B><BR>
109
+ <P>
110
+
111
+ The <B>Widget</B> namespace handle data associated to all BWidget and provide commands
112
+ to easily define BWidget.
113
+ <BR>For commands can be used to define a BWidget:
114
+ <B>tkinclude</B>, <B>bwinclude</B>, <B>declare</B>, <B>addmap</B> and <B>syncoptions</B>.
115
+ Here is the definition of <A HREF="ComboBox.html">ComboBox</A> widget:
116
+ <BR><BR>
117
+ <CENTER>
118
+ <TABLE BORDER=2 CELSPACING=2 WIDTH=80%>
119
+ <TR><TD><PRE>
120
+ namespace eval ComboBox {
121
+ <FONT COLOR=red><I># We're using ArrowButton, Entry and LabelFrame</I></FONT>
122
+ ArrowButton::use
123
+ Entry::use
124
+ LabelFrame::use
125
+
126
+ <FONT COLOR=red><I># Include resources of LabelFrame</I></FONT>
127
+ Widget::bwinclude ComboBox LabelFrame .labf \
128
+ rename {-text -label} \
129
+ remove {-focus} \
130
+ prefix {label -justify -width -anchor -height -font} \
131
+ initialize {-relief sunken -borderwidth 2}
132
+
133
+ <FONT COLOR=red><I># Include resources of Entry</I></FONT>
134
+ Widget::bwinclude ComboBox Entry .e \
135
+ remove {-relief -bd -borderwidth -bg -fg} \
136
+ rename {-foreground -entryfg -background -entrybg}
137
+
138
+ <FONT COLOR=red><I># Declare new resources</I></FONT>
139
+ Widget::declare ComboBox {
140
+ {-height TkResource 0 0 listbox}
141
+ {-values String "" 0}
142
+ {-modifycmd String "" 0}
143
+ {-postcommand String "" 0}
144
+ }
145
+
146
+ <FONT COLOR=red><I># Map resources to subwidget</I></FONT>
147
+ Widget::addmap ComboBox "" :cmd {-background {}}
148
+ Widget::addmap ComboBox ArrowButton .a \
149
+ {-foreground {} -background {} -disabledforeground {} -state {}}
150
+
151
+ <FONT COLOR=red><I># Synchronize subwidget options</I></FONT>
152
+ Widget::syncoptions ComboBox Entry .e {-text {}}
153
+ Widget::syncoptions ComboBox LabelFrame .labf {-label -text -underline {}}
154
+
155
+ proc use {} {}
156
+ }</PRE>
157
+ </TD></TR>
158
+ </TABLE></CENTER>
159
+
160
+ </P>
161
+ <HR WIDTH="50%"><BR>
162
+ <B><A NAME="wc">COMMAND</A></B><BR>
163
+ <DL><DT><A NAME="addmap">Widget::<B>addmap</B></A>
164
+ <I>class</I>
165
+ <I>subclass</I>
166
+ <I>subpath</I>
167
+ <I>options</I>
168
+ </DT><DD>
169
+
170
+ This command map some resources to subwidget.
171
+ Mapped resources automatically configure subwidget when widget is configured.
172
+ <UL>
173
+ <LI><I>class</I> is the class of the new BWidget
174
+ <LI><I>subclass</I> is the class the subwidget (BWidget class, e.g Entry, or empty for Tk widget)
175
+ <LI><I>subpath</I> is the path of the subwidget
176
+ <LI><I>options</I> is the list <I>{option realres ...}</I> of options to map to subwidget
177
+ </UL>
178
+ </DD></DL>
179
+ <DL><DT><A NAME="bwinclude">Widget::<B>bwinclude</B></A>
180
+ <I>class</I>
181
+ <I>subclass</I>
182
+ <I>subpath</I>
183
+ ?<I>arg...</I>?
184
+ </DT><DD>
185
+
186
+ This command includes into a new BWidget the resources of another BWidget.
187
+ Arguments are:
188
+ <UL>
189
+ <LI><I>class</I> class of the new widget
190
+ <LI><I>subclass</I> class name of the BWidget to be included
191
+ <LI><I>subpath</I> path of the widget to configure when BWidget is configured
192
+ <LI><I>options</I> is:
193
+ <UL>
194
+ <LI><I><B>include</B> {option option ...}</I>
195
+ <BR>list of options to include (all if not defined)
196
+ <LI><I><B>remove</B> {option option ...}</I>
197
+ <BR> list of options to remove
198
+ <LI><I><B>rename</B> {option name option name ...}</I>
199
+ <BR>list of options to rename
200
+ <LI><I><B>prefix</B> {prefix option option ...}</I>
201
+ <BR>pefix all <I>option</I> by <I>prefix</I>
202
+ <LI><I><B>initialize</B> {option value option value ...}</I>
203
+ <BR>default value of options
204
+ <LI><I><B>readonly</B> {option value option value ...}</I>
205
+ <BR>new readonly flag
206
+ </UL></UL>
207
+ </DD></DL>
208
+ <DL><DT><A NAME="cget">Widget::<B>cget</B></A>
209
+ <I>path</I>
210
+ <I>option</I>
211
+ </DT><DD>
212
+
213
+ Returns the value of <I>option</I> of BWidget <I>path</I>. <B>cget</B> tests the option
214
+ existence and takes care of synchronization with subwidget.
215
+ Typically called by the BWidget <B>cget</B> command.
216
+
217
+ </DD></DL>
218
+ <DL><DT><A NAME="configure">Widget::<B>configure</B></A>
219
+ <I>path</I>
220
+ <I>options</I>
221
+ </DT><DD>
222
+ Description text
223
+ </DD></DL>
224
+
225
+ <DL><DT><A NAME="create">Widget::<B>create</B></A>
226
+ <I>class</I>
227
+ <I>path</I>
228
+ ?<I>rename</I>?
229
+ </DT><DD>
230
+ The standard method for creating a BWidget. The real widget path
231
+ is renamed to $path:cmd, and a new proc is created to replace the
232
+ path which points to the BWidget's commands.
233
+
234
+ <p>
235
+ If <i>rename</i> is false, the path will not be renamed, but the
236
+ proc will still be created. This is useful when inheriting another
237
+ BWidget who will already have renamed the widget.
238
+ </p>
239
+
240
+ <p>
241
+ The command returns the widget path. This command is usually the
242
+ last command executed in the ::create command for the widget.
243
+ </p>
244
+ </DD></DL>
245
+
246
+ <DL><DT><A NAME="declare">Widget::<B>declare</B></A>
247
+ <I>class</I>
248
+ <I>optlist</I>
249
+ </DT><DD>
250
+
251
+ This command declare new resources for a BWidget.
252
+ <UL>
253
+ <LI><I>class</I> is class of the new widget
254
+ <LI><I>options</I> is the list describing new options. Each new option is a list
255
+ <B>{option type value ro ?args?}</B> where:
256
+ <UL>
257
+ <LI><I>option</I> is the name of the option
258
+ <LI><I>type</I> is the type of the option
259
+ <LI><I>value</I> is the default value of the option
260
+ <LI><I>ro</I> is the readonly flag of the option
261
+ <LI><I>args</I> depends on type
262
+ </UL></UL>
263
+ <BR>
264
+ <I>type</I> can be:
265
+ <BR>
266
+ <DL>
267
+ <DT><B>TkResource</B></DT>
268
+ <DD>
269
+ <I>value</I> of <I>option</I> denotes a resource of a Tk widget. <I>args</I> must be <I>class</I> or
270
+ <I>{class realoption}</I>. <I>class</I> is the creation command of the Tk widget, e.g.
271
+ <B>entry</B>.
272
+ The second form must be used if <I>option</I> has not the same name in Tk widget,
273
+ but <I>realoption</I>.
274
+ <BR>If <I>value</I> is empty, it is initialized to the default value of the Tk widget.
275
+ </DD>
276
+
277
+ <DT><B>BwResource</B></DT>
278
+ <DD>
279
+ <I>value</I> of <I>option</I> denotes a resource of a BWidget. <I>args</I> must be <I>class</I> or
280
+ <I>{class realoption}</I>. <I>class</I> is the name of the namespace of the BWidget, e.g.
281
+ <B>LabelFrame</B>.
282
+ The second form must be used if <I>option</I> has not the same name in BWidget,
283
+ but <I>realoption</I>.
284
+ <BR>If <I>value</I> is empty, it is initialized to the default value of the BWidget.
285
+ </DD>
286
+
287
+ <DT><B>Int</B></DT>
288
+ <DD><I>value</I> of <I>option</I> is an integer.
289
+ <I>args</I> can be <I>{?min? ?max?}</I> to force it to be in a range. The test is
290
+ <I>[expr $option &gt; $min] && [expr $option &lt; $max]</I> so
291
+ if args is <I>{0 10}</I>, value must be beetween 0 and 10 exclude,
292
+ if <I>args</I> is <I>{=0 =10}</I> , value must be beetween 0 and 10 include.
293
+ </DD>
294
+
295
+ <DT><B>Boolean</B></DT>
296
+ <DD><I>value</I> of <I>option</I> is a boolean. True values can be <B>1</B>, <B>true</B> or <B>yes</B>.
297
+ False values can be <B>0</B>, <B>false</B> or <B>no</B>. <B>Widget::cget</B> always return
298
+ 0 or 1.
299
+ </DD>
300
+
301
+ <DT><B>Enum</B></DT>
302
+ <DD>
303
+ <I>value</I> of <I>option</I> is a element of a enumeration. <I>args</I> must be the list
304
+ of enumeration, e.g. <I>{top left bottom right}</I>.
305
+ </DD>
306
+
307
+ <DT><B>Flag</B></DT>
308
+ <DD>
309
+ <I>value</I> of <I>option</I> is a combination of a set of chars. <I>args</I> must be a
310
+ string defining the set.
311
+ </DD>
312
+
313
+ <DT><B>String</B></DT>
314
+ <DD>
315
+ <DD><I>value</I> of <I>option</I> is any uncontrolled string.
316
+ </DD>
317
+
318
+ <DT><B>Synonym</B></DT>
319
+ <DD>
320
+ <DD><I>option</I> is a synonym of option <I>args</I>. <I>value</I> has no effect here.
321
+ </DD>
322
+ </DL>
323
+ </DD></DL>
324
+
325
+ <DL><DT><A NAME="define">Widget::<B>define</B></A>
326
+ <I>class</I>
327
+ <I>filename</I>
328
+ ?<I>class ...</I>?
329
+ </DT><DD>
330
+
331
+ <p>
332
+ This command is used to define a new BWidget class. It is
333
+ usually the first command executed in a new widget definition.
334
+ </p>
335
+
336
+ <ul>
337
+ <li><i>class</i> is the name of the new widget class.</li>
338
+ <li><i>filename</i> is the name of the file (without extension) in the
339
+ BWidget distribution that defines this class.</li>
340
+ </ul>
341
+
342
+ <p>
343
+ Each class defined after the filename is a class that this widget
344
+ depends on. The ::use command will be called for each of these
345
+ classes after the new widget has been defined.
346
+ </p>
347
+
348
+ <p>
349
+ This command does several things to setup the new class. First, it
350
+ creates an alias in the global namespace for the name of the class
351
+ that points to the class's ::create subcommand. Second, it defines
352
+ a ::use subcommand for the class which other classes can use to load
353
+ this class on the fly. Lastly, it creates a default binding to the
354
+ &lt;Destroy&gt; event for the class that calls Widget::destroy on
355
+ the path. This is the default setup for almost all widgets in the
356
+ BWidget package.
357
+ </p>
358
+
359
+ </DD></DL>
360
+
361
+ <DL><DT><A NAME="destroy">Widget::<B>destroy</B></A>
362
+ <I>path</I>
363
+ </DT><DD>
364
+ Description text
365
+ </DD></DL>
366
+ <DL><DT><A NAME="focusNext">Widget::<B>focusNext</B></A>
367
+ <I>w</I>
368
+ </DT><DD>
369
+ Description text
370
+ </DD></DL>
371
+ <DL><DT><A NAME="focusOK">Widget::<B>focusOK</B></A>
372
+ <I>w</I>
373
+ </DT><DD>
374
+ Description text
375
+ </DD></DL>
376
+ <DL><DT><A NAME="focusPrev">Widget::<B>focusPrev</B></A>
377
+ <I>w</I>
378
+ </DT><DD>
379
+ Description text
380
+ </DD></DL>
381
+ <DL><DT><A NAME="generate-doc">Widget::<B>generate-doc</B></A>
382
+ <I>dir</I>
383
+ <I>widgetlist</I>
384
+ </DT><DD>
385
+ Description text
386
+ </DD></DL>
387
+ <DL><DT><A NAME="generate-widget-doc">Widget::<B>generate-widget-doc</B></A>
388
+ <I>class</I>
389
+ <I>iscmd</I>
390
+ <I>file</I>
391
+ </DT><DD>
392
+ Description text
393
+ </DD></DL>
394
+ <DL><DT><A NAME="getoption">Widget::<B>getoption</B></A>
395
+ <I>path</I>
396
+ <I>option</I>
397
+ </DT><DD>
398
+
399
+ Returns the value of <I>option</I> of BWidget <I>path</I>. This command does not test
400
+ option existence, does not handle synonym and does not take care of synchronization with
401
+ subwidget.
402
+
403
+ </DD></DL>
404
+ <DL><DT><A NAME="getVariable">Widget::<B>getVariable</B></A>
405
+ <I>path</I>
406
+ <I>varName</I>
407
+ <I>?myVarName?</I>
408
+ </DT><DD>
409
+
410
+ <p>
411
+ Make the variable <i>varName</i> relational to <i>path</i> accessible in
412
+ the current procedure. The variable will be created in the widget namespace
413
+ for <i>path</i> and can be used for storing widget-specific information.
414
+ When <i>path</i> is destroyed, any variable accessed in this manner will be
415
+ destroyed with it.
416
+ </p>
417
+
418
+ <p>
419
+ If <i>myVarName</i> is specified, the variable will be accessible in the
420
+ current procedure as that name.
421
+ </p>
422
+
423
+ </DD></DL>
424
+ <DL><DT><A NAME="hasChanged">Widget::<B>hasChanged</B></A>
425
+ <I>path</I>
426
+ <I>option</I>
427
+ <I>pvalue</I>
428
+ </DT><DD>
429
+ Description text
430
+ </DD></DL>
431
+ <DL><DT><A NAME="init">Widget::<B>init</B></A>
432
+ <I>class</I>
433
+ <I>path</I>
434
+ <I>options</I>
435
+ </DT><DD>
436
+ Description text
437
+ </DD></DL>
438
+ <DL><DT><A NAME="setoption">Widget::<B>setoption</B></A>
439
+ <I>path</I>
440
+ <I>option</I>
441
+ <I>value</I>
442
+ </DT><DD>
443
+
444
+ Set the value of <I>option</I> of BWidget <I>path</I> without option test, subwidget mapping,
445
+ synonym handling and does not set the modification flag.
446
+
447
+ </DD></DL>
448
+ <DL><DT><A NAME="subcget">Widget::<B>subcget</B></A>
449
+ <I>path</I>
450
+ <I>subwidget</I>
451
+ </DT><DD>
452
+
453
+ Returns the list of all option/value of BWidget <I>path</I> that are mapped to <I>subwidget</I>.
454
+
455
+ </DD></DL>
456
+ <DL><DT><A NAME="syncoptions">Widget::<B>syncoptions</B></A>
457
+ <I>class</I>
458
+ <I>subclass</I>
459
+ <I>subpath</I>
460
+ <I>options</I>
461
+ </DT><DD>
462
+
463
+ This command synchronize options value of a subwidget.
464
+ Used when an option of a subwidget is modified out of the BWidget <B>configure</B> command.
465
+ <UL>
466
+ <LI><I>class</I> is the class of the new BWidget
467
+ <LI><I>subclass</I> is the class the subwidget (BWidget class, e.g Entry, or empty for Tk widget)
468
+ <LI><I>subpath</I> is the path of the subwidget
469
+ <LI><I>options</I> is the list <I>{option realres ...}</I> of options to synchronize
470
+ with subwidget
471
+ </UL>
472
+ </DD></DL>
473
+ <DL><DT><A NAME="tkinclude">Widget::<B>tkinclude</B></A>
474
+ <I>class</I>
475
+ <I>tkwidget</I>
476
+ <I>subpath</I>
477
+ ?<I>arg...</I>?
478
+ </DT><DD>
479
+
480
+ This command includes into a new BWidget the resources of a Tk widget.
481
+ Arguments are:
482
+ <UL>
483
+ <LI><I>class</I> class of the new widget
484
+ <LI><I>tkwidger</I> command name of the Tk widget to be included
485
+ <LI><I>subpath</I> path of the widget to configure when BWidget is configured
486
+ <LI><I>options</I> is:
487
+ <UL>
488
+ <LI><I><B>include</B> {option option ...}</I>
489
+ <BR>list of options to include (all if not defined)
490
+ <LI><I><B>remove</B> {option option ...}</I>
491
+ <BR>list of options to remove
492
+ <LI><I><B>rename</B> {option name option name ...}</I>
493
+ <BR>list of options to rename
494
+ <LI><I><B>prefix</B> {prefix option option ...}</I>
495
+ <BR>pefix all <I>option</I> by <I>prefix</I>
496
+ <LI><I><B>initialize</B> {option value option value ...}</I>
497
+ <BR>default value of options
498
+ <LI><I><B>readonly</B> {option value option value ...}</I>
499
+ <BR>new readonly flag
500
+ </UL></UL>
501
+ </DD></DL>
502
+ </BODY></HTML>