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,947 @@
1
+ <HTML>
2
+ <HEAD><TITLE>Tree</TITLE></HEAD>
3
+ <BODY BGCOLOR=white>
4
+ <DL><DT><I><A HREF="#descr">NAME</A></I></DT>
5
+ <DD><B>Tree</B>
6
+ - Tree widget
7
+ </DD></DL>
8
+ <DL>
9
+ <DT><I>CREATION</I></DT>
10
+ <DD><A HREF="#descr"><B>Tree</B></A> <I>pathName</I> ?<I>option value...</I>?</DD>
11
+ </DL>
12
+ <DL>
13
+ <DT><I>STANDARD OPTIONS</I></DT>
14
+ <DD><TABLE CELLSPACING=0 CELLSPACING=0 BORDER=0>
15
+ <TR>
16
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-background">-background or -bg</A></TD>
17
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-borderwidth">-borderwidth or -bd</A></TD>
18
+ </TR>
19
+ <TR>
20
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-cursor">-cursor</A></TD>
21
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-highlightbackground">-highlightbackground</A></TD>
22
+ </TR>
23
+ <TR>
24
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-highlightcolor">-highlightcolor</A></TD>
25
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-highlightthickness">-highlightthickness</A></TD>
26
+ </TR>
27
+ <TR>
28
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-relief">-relief</A></TD>
29
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-selectbackground">-selectbackground</A></TD>
30
+ </TR>
31
+ <TR>
32
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-selectforeground">-selectforeground</A></TD>
33
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-takefocus">-takefocus</A></TD>
34
+ </TR>
35
+ <TR>
36
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-xscrollcommand">-xscrollcommand</A></TD>
37
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-yscrollcommand">-yscrollcommand</A></TD>
38
+ </TR>
39
+ </TABLE></DD>
40
+ </DL>
41
+ <DL>
42
+ <DT><I><A HREF="#wso">WIDGET-SPECIFIC OPTIONS</A></I></DT>
43
+ <DD><TABLE CELLSPACING=0 CELLSPACING=0 BORDER=0>
44
+ <TR>
45
+ <TD>&nbsp;&nbsp;<A HREF="#-closecmd">-closecmd</A></TD>
46
+ <TD>&nbsp;&nbsp;<A HREF="#-crossfill">-crossfill</A></TD>
47
+ <TR>
48
+ <TD>&nbsp;&nbsp;<A HREF="#-crossclosebitmap">-crossclosebitmap</A></TD>
49
+ <TD>&nbsp;&nbsp;<A HREF="#-crosscloseimage">-crosscloseimage</A></TD>
50
+ </TR>
51
+ <TR>
52
+ <TD>&nbsp;&nbsp;<A HREF="#-crossopenbitmap">-crossopenbitmap</A></TD>
53
+ <TD>&nbsp;&nbsp;<A HREF="#-crossopenimage">-crossopenimage</A></TD>
54
+ </TR>
55
+ <TR>
56
+ <TD>&nbsp;&nbsp;<A HREF="#-deltax">-deltax</A></TD>
57
+ <TD>&nbsp;&nbsp;<A HREF="#-deltay">-deltay</A></TD>
58
+ </TR>
59
+ <TR>
60
+ <TD>&nbsp;&nbsp;<A HREF="#-dragenabled">-dragenabled</A></TD>
61
+ <TD>&nbsp;&nbsp;<A HREF="#-dragendcmd">-dragendcmd</A></TD>
62
+ </TR>
63
+ <TR>
64
+ <TD>&nbsp;&nbsp;<A HREF="#-dragevent">-dragevent</A></TD>
65
+ <TD>&nbsp;&nbsp;<A HREF="#-draginitcmd">-draginitcmd</A></TD>
66
+ </TR>
67
+ <TR>
68
+ <TD>&nbsp;&nbsp;<A HREF="#-dragtype">-dragtype</A></TD>
69
+ <TD>&nbsp;&nbsp;<A HREF="#-dropcmd">-dropcmd</A></TD>
70
+ </TR>
71
+ <TR>
72
+ <TD>&nbsp;&nbsp;<A HREF="#-dropenabled">-dropenabled</A></TD>
73
+ <TD>&nbsp;&nbsp;<A HREF="#-dropovercmd">-dropovercmd</A></TD>
74
+ </TR>
75
+ <TR>
76
+ <TD>&nbsp;&nbsp;<A HREF="#-dropovermode">-dropovermode</A></TD>
77
+ <TD>&nbsp;&nbsp;<A HREF="#-droptypes">-droptypes</A></TD>
78
+ </TR>
79
+ <TR>
80
+ <TD>&nbsp;&nbsp;<A HREF="#-height">-height</A></TD>
81
+ <TD>&nbsp;&nbsp;<A HREF="#-linesfill">-linesfill</A></TD>
82
+ </TR>
83
+ <TR>
84
+ <TD>&nbsp;&nbsp;<A HREF="#-linestipple">-linestipple</A></TD>
85
+ <TD>&nbsp;&nbsp;<A HREF="#-opencmd">-opencmd</A></TD>
86
+ </TR>
87
+ <TR>
88
+ <TD>&nbsp;&nbsp;<A HREF="#-padx">-padx</A></TD>
89
+ <TD>&nbsp;&nbsp;<A HREF="#-redraw">-redraw</A></TD>
90
+ </TR>
91
+ <TR>
92
+ <TD>&nbsp;&nbsp;<A HREF="#-selectcommand">-selectcommand</A></TD>
93
+ <TD>&nbsp;&nbsp;<A HREF="#-selectfill">-selectfill</A></TD>
94
+ </TR>
95
+ <TR>
96
+ <TD>&nbsp;&nbsp;<A HREF="#-showlines">-showlines</A></TD>
97
+ <TD>&nbsp;&nbsp;<A HREF="#-width">-width</A></TD>
98
+ </TR>
99
+ </TABLE></DD>
100
+ </DL>
101
+
102
+ <DL>
103
+ <DT><I><A HREF="#wc">WIDGET COMMAND</A></I></DT>
104
+ <DD><I>pathName</I> <A HREF="#bindArea"><B>bindArea</B></A>
105
+ <I>event</I>
106
+ <I>script</I>
107
+ </DD>
108
+ <DD><I>pathName</I> <A HREF="#bindImage"><B>bindImage</B></A>
109
+ <I>event</I>
110
+ <I>script</I>
111
+ </DD>
112
+ <DD><I>pathName</I> <A HREF="#bindText"><B>bindText</B></A>
113
+ <I>event</I>
114
+ <I>script</I>
115
+ </DD>
116
+ <DD><I>pathName</I> <A HREF="#cget"><B>cget</B></A>
117
+ <I>option</I>
118
+ </DD>
119
+ <DD><I>pathName</I> <A HREF="#closetree"><B>closetree</B></A>
120
+ <I>node</I>
121
+ </DD>
122
+ <DD><I>pathName</I> <A HREF="#configure"><B>configure</B></A>
123
+ ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
124
+ </DD>
125
+ <DD><I>pathName</I> <A HREF="#delete"><B>delete</B></A>
126
+ ?<I>arg...</I>?
127
+ </DD>
128
+ <DD><I>pathName</I> <A HREF="#edit"><B>edit</B></A>
129
+ <I>node</I>
130
+ <I>text</I>
131
+ ?<I>verifycmd</I>?
132
+ ?<I>clickres</I>?
133
+ ?<I>select</I>?
134
+ </DD>
135
+ <DD><I>pathName</I> <A HREF="#exists"><B>exists</B></A>
136
+ <I>node</I>
137
+ </DD>
138
+ <DD><I>pathName</I> <A HREF="#find"><B>find</B></A>
139
+ <I>findinfo</I>
140
+ ?<I>confine</I>?
141
+ </DD>
142
+ <DD><I>pathName</I> <A HREF="#index"><B>index</B></A>
143
+ <I>node</I>
144
+ </DD>
145
+ <DD><I>pathName</I> <A HREF="#insert"><B>insert</B></A>
146
+ <I>index</I>
147
+ <I>parent</I>
148
+ <I>node</I>
149
+ ?<I>option value...</I>?
150
+ </DD>
151
+ <DD><I>pathName</I> <A HREF="#itemcget"><B>itemcget</B></A>
152
+ <I>node</I>
153
+ <I>option</I>
154
+ </DD>
155
+ <DD><I>pathName</I> <A HREF="#itemconfigure"><B>itemconfigure</B></A>
156
+ <I>node</I>
157
+ ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
158
+ </DD>
159
+ <DD><I>pathName</I> <A HREF="#line"><B>line</B></A>
160
+ <I>node</I>
161
+ </DD>
162
+ <DD><I>pathName</I> <A HREF="#move"><B>move</B></A>
163
+ <I>parent</I>
164
+ <I>node</I>
165
+ <I>index</I>
166
+ </DD>
167
+ <DD><I>pathName</I> <A HREF="#nodes"><B>nodes</B></A>
168
+ <I>node</I>
169
+ ?<I>first</I>?
170
+ ?<I>last</I>?
171
+ </DD>
172
+ <DD><I>pathName</I> <A HREF="#opentree"><B>opentree</B></A>
173
+ <I>node</I>
174
+ </DD>
175
+ <DD><I>pathName</I> <A HREF="#parent"><B>parent</B></A>
176
+ <I>node</I>
177
+ </DD>
178
+ <DD><I>pathName</I> <A HREF="#reorder"><B>reorder</B></A>
179
+ <I>node</I>
180
+ <I>neworder</I>
181
+ </DD>
182
+ <DD><I>pathName</I> <A HREF="#see"><B>see</B></A>
183
+ <I>node</I>
184
+ </DD>
185
+ <DD><I>pathName</I> <A HREF="#selection"><B>selection</B></A>
186
+ <I>cmd</I>
187
+ ?<I>arg...</I>?
188
+ </DD>
189
+ <DD><I>pathName</I> <A HREF="#toggle"><B>toggle</B></A>
190
+ <I>node</I>
191
+ </DD>
192
+ <DD><I>pathName</I> <A HREF="#visible"><B>visible</B></A>
193
+ <I>node</I>
194
+ </DD>
195
+ <DD><I>pathName</I> <A HREF="#xview"><B>xview</B></A>
196
+ ?<I>arg...</I>?
197
+ </DD>
198
+ <DD><I>pathName</I> <A HREF="#yview"><B>yview</B></A>
199
+ ?<I>arg...</I>?
200
+ </DD>
201
+ </DL>
202
+ <BR><HR WIDTH="100%"><BR>
203
+ <B><A NAME="descr"></A>DESCRIPTION</B><BR>
204
+ <P>
205
+
206
+ <B>Tree</B> widget uses canvas to display a hierarchical list of items (called nodes).
207
+ Each node is composed of a label with its own font and foreground attributes, and an optional
208
+ image or window. Each node can have a list of subnodes, which can be collapsed or expanded.
209
+ Each node is drawn in a single line, whose height is defined by the
210
+ <B>deltay</B> option, so they must have at most this height.
211
+ A node is uniquely identified by a string given at creation (by the
212
+ <B>insert</B> command). The node named <I>root</I> is the root of
213
+ the tree and is not drawn.
214
+ The tree structure is directly maintained by the widget.
215
+
216
+ </P>
217
+ <BR><HR WIDTH="50%"><BR>
218
+ <B><A NAME="wso">WIDGET-SPECIFIC OPTIONS</A></B><BR>
219
+ <DL><DT><A NAME="-closecmd"><B>-closecmd</B></A></DT>
220
+ <DD>
221
+
222
+ Specifies a command to be called when user close a node. The
223
+ closed node is appended to the command.
224
+
225
+ </DD>
226
+ </DL>
227
+
228
+ <DL>
229
+ <DT><A NAME="-crossfill"><B>-crossfill</B></A></DT>
230
+ <DD>
231
+ Specifies a foreground color for the cross bitmap.
232
+ </DD>
233
+ </DL>
234
+
235
+ <DL><DT><A NAME="-crossclosebitmap"><B>-crossclosebitmap</B></A></DT>
236
+ <DD>
237
+ Specifies a bitmap to be displayed in place of the standard cross
238
+ when a node is closed.
239
+ </DD>
240
+ </DL>
241
+
242
+ <DL><DT><A NAME="-crosscloseimage"><B>-crosscloseimage</B></A></DT>
243
+ <DD>
244
+ Specifies an image to be displayed in place of the standard cross
245
+ when a node is closed. Overrides the -crossclosebitmap option.
246
+ </DD>
247
+ </DL>
248
+
249
+ <DL><DT><A NAME="-crossopenbitmap"><B>-crossopenbitmap</B></A></DT>
250
+ <DD>
251
+ Specifies a bitmap to be displayed in place of the standard cross
252
+ when a node is open.
253
+ </DD>
254
+ </DL>
255
+
256
+ <DL><DT><A NAME="-crossopenimage"><B>-crossopenimage</B></A></DT>
257
+ <DD>
258
+ Specifies an image to be displayed in place of the standard cross
259
+ when a node is open. Overrides the -crossopenbitmap option.
260
+ </DD>
261
+ </DL>
262
+
263
+ <DL><DT><A NAME="-deltax"><B>-deltax</B></A></DT>
264
+ <DD>
265
+
266
+ Specifies horizontal indentation between a node and its children.
267
+
268
+ </DD>
269
+ </DL>
270
+ <DL><DT><A NAME="-deltay"><B>-deltay</B></A></DT>
271
+ <DD>
272
+
273
+ Specifies vertical size of the nodes.
274
+
275
+ </DD>
276
+ </DL>
277
+ <DL><DT><A NAME="-dragenabled"><B>-dragenabled</B></A></DT>
278
+ <DD>
279
+ A boolean specifying if drag is enabled.
280
+ </DD>
281
+ </DL>
282
+ <DL><DT><A NAME="-dragendcmd"><B>-dragendcmd</B></A></DT>
283
+ <DD>
284
+
285
+ Specifies a command to be called when drag ended.
286
+ <B>dragendcmd</B> must be a command conforming to the description of the
287
+ option <B>dragendcmd</B> of <B>DragSite::<A HREF="DragSite.html#register">register</A></B>.
288
+
289
+ </DD>
290
+ </DL>
291
+ <DL><DT><A NAME="-dragevent"><B>-dragevent</B></A></DT>
292
+ <DD>
293
+
294
+ Specifies the number of the mouse button associated to the drag.
295
+ Must be <B>1</B>, <B>2</B> or <B>3</B>.
296
+
297
+ </DD>
298
+ </DL>
299
+ <DL><DT><A NAME="-draginitcmd"><B>-draginitcmd</B></A></DT>
300
+ <DD>
301
+
302
+ Tree has a command wrapper for <I>drag-init</I> events. This command refused the drag
303
+ if no node is designated. In other cases:
304
+ <BR>If <B>draginitcmd</B> is empty, it returns:
305
+ <UL>
306
+ <LI>the value of option <B>dragtype</B> or <I>TREE_NODE</I> if empty as the data type,
307
+ <LI><I>{copy move link}</I> as the operations,
308
+ <LI>the node identifier as the data.
309
+ </UL>
310
+ If <B>draginitcmd</B> is not empty, it is called with the following arguments:
311
+ <UL>
312
+ <LI>the pathname of the tree,
313
+ <LI>the identifier of the dragged node,
314
+ <LI>the toplevel created to represent dragged data.
315
+ </UL>
316
+ and must return a value conforming to <B>draginitcmd</B> option described in
317
+ <B>DragSite::<A HREF="DragSite.html#register">register</A></B>.
318
+
319
+ </DD>
320
+ </DL>
321
+ <DL><DT><A NAME="-dragtype"><B>-dragtype</B></A></DT>
322
+ <DD>
323
+
324
+ Specifies an alternate type of dragged object.
325
+
326
+ </DD>
327
+ </DL>
328
+ <DL><DT><A NAME="-dropcmd"><B>-dropcmd</B></A></DT>
329
+ <DD>
330
+
331
+ Tree has a command wrapper for <I>drop</I> events. This command stops auto scrolling
332
+ and extract node and position.
333
+ <BR>If <B>dropcmd</B> is not empty, it is called with the following arguments:
334
+ <UL>
335
+ <LI>the pathname of the tree,
336
+ <LI>the pathname of the drag source,
337
+ <LI>a list describing where the drop occurs. It can be:
338
+ <UL>
339
+ <LI><I>{</I><B>widget</B><I>}</I>,
340
+ <LI><I>{</I><B>node</B> <I>node}</I> or
341
+ <LI><I>{</I><B>position</B> <I>node index}</I>.
342
+ </UL>
343
+ <LI>the current operation,
344
+ <LI>the data type,
345
+ <LI>the data.
346
+ </UL>
347
+
348
+
349
+ </DD>
350
+ </DL>
351
+ <DL><DT><A NAME="-dropenabled"><B>-dropenabled</B></A></DT>
352
+ <DD>
353
+ A boolean specifying if drop is enabled.
354
+ </DD>
355
+ </DL>
356
+ <DL><DT><A NAME="-dropovercmd"><B>-dropovercmd</B></A></DT>
357
+ <DD>
358
+
359
+ Tree has a command wrapper for <I>drag-over</I> events. This command enables auto scrolling
360
+ and position extraction during the <I>drag-over</I>.
361
+ If <B>dropovercmd</B> is not empty, the command is called with the following aguments:
362
+ <UL>
363
+ <LI>the pathname of the tree,
364
+ <LI>the pathname of the drag source,
365
+ <LI>a list describing where the drop can occur, whose elements are:
366
+ <UL>
367
+ <LI>the string <I>widget</I> if <B>dropovertype</B> option contains <I>w</I>, else empty string.
368
+ <LI>the targeted node if drag icon points a node and <B>dropovertype</B> option contains <I>n</I>, else empty string.
369
+ <LI>a list containing a node and the position within the children of the node where drag
370
+ icon points to if <B>dropovertype</B> option contains <I>p</I>, else empty string.
371
+ <LI>optionally, the preferred method if drop can occur both inside a node and between two
372
+ nodes. The value is <I>position</I> or <I>node</I>.
373
+ </UL>
374
+ <LI>the current operation,
375
+ <LI>the data type,
376
+ <LI>the data.
377
+ </UL>
378
+ The command must return a list with two elements:
379
+ <UL>
380
+ <LI>the drop status, conforming to those described in <B>dropovercmd</B> option of
381
+ <B>DropSite::<A HREF="DropSite.html#register">register</A></B>,
382
+ <LI>the choosen method: <I>widget</I>, <I>node</I> or <I>position</I>.
383
+ </UL>
384
+
385
+ </DD>
386
+ </DL>
387
+ <DL><DT><A NAME="-dropovermode"><B>-dropovermode</B></A></DT>
388
+ <DD>
389
+
390
+ Specifies the type of <I>drop-over</I> interaction. Must be a combination of
391
+ <B>w</B>, which specifies that drop can occurs everywhere on widget,
392
+ <B>p</B>, which specifies that drop can occurs between two nodes,
393
+ and <B>n</B>, which specifies that drop occurs inside nodes.
394
+
395
+ </DD>
396
+ </DL>
397
+ <DL><DT><A NAME="-droptypes"><B>-droptypes</B></A></DT>
398
+ <DD>
399
+
400
+ Specifies a list of accepted dropped object/operation.
401
+ See option <B>droptypes</B> of
402
+ <B>DropSite::<A HREF="DropSite.html#register">register</A></B>.
403
+ for more infromation.
404
+
405
+ <BR>Default is <I>TREE_NODE</I> with operations <B>copy</B> and <B>move</B>.
406
+
407
+ </DD>
408
+ </DL>
409
+ <DL><DT><A NAME="-height"><B>-height</B></A></DT>
410
+ <DD>
411
+
412
+ Specifies the desired height for the tree in units of <B>deltay</B> pixels.
413
+
414
+ </DD>
415
+ </DL>
416
+ <DL><DT><A NAME="-linesfill"><B>-linesfill</B></A></DT>
417
+ <DD>
418
+
419
+ Specifies a foreground color for the lines between nodes.
420
+
421
+ </DD>
422
+ </DL>
423
+ <DL><DT><A NAME="-linestipple"><B>-linestipple</B></A></DT>
424
+ <DD>
425
+
426
+ Specifies a stipple bitmap for the lines between nodes.
427
+
428
+ </DD>
429
+ </DL>
430
+ <DL><DT><A NAME="-opencmd"><B>-opencmd</B></A></DT>
431
+ <DD>
432
+
433
+ Specifies a command to be called when the user opens a node. The name
434
+ of the opened node is appended to the command.
435
+
436
+ </DD>
437
+ </DL>
438
+ <DL><DT><A NAME="-padx"><B>-padx</B></A></DT>
439
+ <DD>
440
+
441
+ Specifies distance between image or window and text of the nodes.
442
+
443
+ </DD>
444
+ </DL>
445
+ <DL><DT><A NAME="-redraw"><B>-redraw</B></A></DT>
446
+ <DD>
447
+
448
+ Specifies wether or not the tree should be redrawn when entering idle.
449
+ Set it to false if you call <B>update</B> while modifying the tree.
450
+
451
+ </DD>
452
+ </DL>
453
+ <DL><DT><A NAME="-selectcommand"><B>-selectcommand</B></A></DT>
454
+ <DD>
455
+
456
+ Specifies a command to be called when the selection is changed. The
457
+ path of the tree widget and the selected nodes are appended to the
458
+ command.
459
+
460
+ </DD>
461
+ </DL>
462
+
463
+ <DL><DT><A NAME="-selectfill"><B>-selectfill</B></A></DT>
464
+ <DD>
465
+ If true, the selection box will be drawn across the entire tree from
466
+ left-to-right instead of just around the item text.
467
+ </DD>
468
+ </DL>
469
+
470
+ <DL><DT><A NAME="-showlines"><B>-showlines</B></A></DT>
471
+ <DD>
472
+
473
+ Specifies whether or not lines should be drawn between nodes.
474
+
475
+ </DD>
476
+ </DL>
477
+ <DL><DT><A NAME="-width"><B>-width</B></A></DT>
478
+ <DD>
479
+
480
+ Specifies the desired width for the tree in units of 8 pixels.
481
+
482
+ </DD>
483
+ </DL>
484
+ <HR WIDTH="50%"><BR>
485
+
486
+ <B><A NAME="nodes">NODE NAMES</A></B><BR>
487
+ <p>
488
+ Certain special characters in node names are automatically substituted
489
+ by the tree during operation. These characters are <b>&amp; | ^ !</b>.
490
+ They are all substituted with a <b>_</b> character. This is only to
491
+ avoid errors because the characters are special to the tree widget.
492
+ </p>
493
+
494
+ <B><A NAME="wc">WIDGET COMMAND</A></B><BR>
495
+ <DL><DT><A NAME="bindArea"><I>pathName</I> <B>bindArea</B></A>
496
+ <I>event</I>
497
+ <I>script</I>
498
+ </DT><DD>
499
+
500
+ This command associates a command to execute whenever the event
501
+ sequence given by <I>event</I> occurs anywhere within the Tree area.
502
+
503
+ <p>
504
+ Any occurrence of <b>%W</b> in script is substituted with the path of
505
+ the tree. <em><a href="#bug">(See note below about this behavior.)</a></em>
506
+ </p>
507
+
508
+ </DD></DL>
509
+ <DL><DT><A NAME="bindImage"><I>pathName</I> <B>bindImage</B></A>
510
+ <I>event</I>
511
+ <I>script</I>
512
+ </DT><DD>
513
+
514
+ This command associates a command to execute whenever the event
515
+ sequence given by <I>event</I> occurs on the image of a node.
516
+ The node idenfier on which the event occurs is appended to the command.
517
+
518
+ <p>
519
+ Any occurrence of <b>%W</b> in script is substituted with the path of
520
+ the tree. <em><a href="#bug">(See note below about this behavior.)</a></em>
521
+ </p>
522
+
523
+ </DD></DL>
524
+ <DL><DT><A NAME="bindText"><I>pathName</I> <B>bindText</B></A>
525
+ <I>event</I>
526
+ <I>script</I>
527
+ </DT><DD>
528
+
529
+ This command associates a command to execute whenever the event
530
+ sequence given by <I>event</I> occurs on the label of a node.
531
+ The node idenfier on which the event occurs is appended to the command.
532
+
533
+ <p>
534
+ Any occurrence of <b>%W</b> in script is substituted with the path of
535
+ the tree. <em><a href="#bug">(See note below about this behavior.)</a></em>
536
+ </p>
537
+
538
+ </DD></DL>
539
+ <DL><DT><A NAME="cget"><I>pathName</I> <B>cget</B></A>
540
+ <I>option</I>
541
+ </DT><DD>
542
+
543
+ Returns the current value of the configuration option given by <I>option</I>.
544
+ <I>Option</I> may have any of the values accepted by the creation command.
545
+ </DD></DL>
546
+ <DL><DT><A NAME="closetree"><I>pathName</I> <B>closetree</B></A> <I>node</I>
547
+ ?<I>recurse</I>?
548
+ </DT><DD>
549
+
550
+ This command close all the subtree given by <I>node</I>. Recurse
551
+ through the tree starting at <I>node</I> and set <B>open</B> option to 0
552
+ depending on <I>recurse</I>. Default value of <I>recurse</I> is <I>true</I>.
553
+
554
+ </DD></DL>
555
+ <DL><DT><A NAME="configure"><I>pathName</I> <B>configure</B></A>
556
+ ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
557
+ </DT><DD>
558
+
559
+ Query or modify the configuration options of the widget. If no <I>option</I> is
560
+ specified, returns a list describing all of the available options for
561
+ <I>pathName</I>. If <I>option</I> is specified with no <I>value</I>, then the
562
+ command returns a list describing the one named <I>option</I> (this list will
563
+ be identical to the corresponding sublist of the value returned if no
564
+ <I>option</I> is specified). If one or more <I>option-value</I> pairs are
565
+ specified, then the command modifies the given widget option(s) to have the
566
+ given value(s); in this case the command returns an empty string.
567
+ <I>Option</I> may have any of the values accepted by the creation command.
568
+ Read-only options are not be modified.
569
+
570
+ </DD></DL>
571
+ <DL><DT><A NAME="delete"><I>pathName</I> <B>delete</B></A>
572
+ ?<I>arg...</I>?
573
+ </DT><DD>
574
+
575
+ Deletes all nodes (and children of them) in <I>arg</I>. <I>arg</I> can be a list
576
+ of nodes or a list of list of nodes.
577
+ To delete all the tree, do <I>$pathName delete [$pathName nodes root]</I>.
578
+
579
+ </DD></DL>
580
+ <DL><DT><A NAME="edit"><I>pathName</I> <B>edit</B></A>
581
+ <I>node</I>
582
+ <I>text</I>
583
+ ?<I>verifycmd</I>?
584
+ ?<I>clickres</I>?
585
+ ?<I>select</I>?
586
+ </DT><DD>
587
+
588
+ Provides a way for the user to edit in place the label of a node. This is
589
+ possible only if <I>node</I> is visible (all its parents are open).
590
+ <BR>The command takes the initial text as argument and does not modify the label of the
591
+ edited node, but returns an empty string if edition is canceled, or the typed text
592
+ if edition is accepted.
593
+ <BR>When editing, the user can cancel by pressing Escape, or accept by pressing Return.
594
+ <BR><I>clickres</I> specifies what to do if the user click outside the editable area.
595
+ If <I>clickres</I> is 0 (the default), the edition is canceled.
596
+ If <I>clickres</I> is 1, the edition is accepted.
597
+ In all other case, the edition continues.
598
+ <BR>If edition is accepted and <I>modifycmd</I> is not empty, then it is called with
599
+ the new text as argument and must return 1 to accept the new text, 0 to refuse it
600
+ and continue edition.
601
+ <BR><I>select</I> specifies wether or not the initial text should be selected. Default is 1.
602
+
603
+ </DD></DL>
604
+ <DL><DT><A NAME="exists"><I>pathName</I> <B>exists</B></A>
605
+ <I>node</I>
606
+ </DT><DD>
607
+
608
+ Returns whether or not <I>node</I> exists in the tree.
609
+
610
+ </DD></DL>
611
+ <DL><DT><A NAME="find"><I>pathName</I> <B>find</B></A>
612
+ <I>findinfo</I>
613
+ ?<I>confine</I>?
614
+ </DT><DD>
615
+
616
+ <p>
617
+ Returns the node given by the position <I>findinfo</I>.
618
+ <I>findinfo</I> can take the form of a pixel position <I>@x,y</I> or
619
+ of the line number of a currently visible Tree node. The first line
620
+ of the Tree has the value of zero.
621
+ </p>
622
+
623
+ <p>
624
+ If <I>confine</I> is non-empty, then confine <I>findinfo</I> to only
625
+ match pixel positions for the area consumed by Tree labels, not just
626
+ anywhere on their lines. (<I>confine</I> has no effect if
627
+ <I>findinfo</I> is a line number.)
628
+ </p>
629
+
630
+ </DD></DL>
631
+ <DL><DT><A NAME="index"><I>pathName</I> <B>index</B></A>
632
+ <I>node</I>
633
+ </DT><DD>
634
+
635
+ Returns the position of <I>node</I> in its parent.
636
+
637
+ </DD></DL>
638
+ <DL><DT><A NAME="insert"><I>pathName</I> <B>insert</B></A>
639
+ <I>index</I>
640
+ <I>parent</I>
641
+ <I>node</I>
642
+ ?<I>option value...</I>?
643
+ </DT><DD>
644
+
645
+ <p>
646
+ Inserts a new node identified by <I>node</I> in the children list of
647
+ <I>parent</I> at position <I>index</I>.
648
+ </p>
649
+
650
+ <p>
651
+ Any instance of <i>#auto</i> within the node name will be replaced by the
652
+ number of the item in the order of insertion.
653
+ </p>
654
+
655
+
656
+ <P>
657
+ <DL><DT><A NAME="Node-anchor"><B>-anchor</B></A></DT>
658
+ <DD>
659
+ Specifies the anchor of the image or window of the node. Defaults to w.
660
+ </DD>
661
+ </DL>
662
+
663
+ <DL><DT><A NAME="Node-data"><B>-data</B></A></DT>
664
+ <DD>
665
+
666
+ User data associated to the node.
667
+
668
+ </DD>
669
+ </DL>
670
+ <DL><DT><A NAME="-deltax"><B>-deltax</B></A></DT>
671
+ <DD>
672
+
673
+ Specifies the horizontal indentation of the node. If the value is -1, the
674
+ node will be drawn with the deltax for the entire tree.
675
+
676
+ </DD>
677
+ </DL>
678
+ <DL><DT><A NAME="Node-drawcross"><B>-drawcross</B></A></DT>
679
+ <DD>
680
+
681
+ Specifies how the cross used to expand or collapse the children of a node
682
+ should be drawn.
683
+ Must be one of <B>auto</B>, <B>always</B> or <B>never</B>.
684
+ <BR>If <B>auto</B>, the cross is drawn only if the node has children.
685
+ If <B>always</B>, the cross is always drawn.
686
+ If <B>never</B>, the cross is never drawn.
687
+ To maintain compatibility with older versions of this widget,
688
+ <B>allways</B> is a deprecated synonym to <B>always</B>.
689
+
690
+ </DD>
691
+ </DL>
692
+ <DL><DT><A NAME="Node-fill"><B>-fill</B></A></DT>
693
+ <DD>
694
+
695
+ Specifies the foreground color of the label of the node.
696
+
697
+ </DD>
698
+ </DL>
699
+ <DL><DT><A NAME="Node-font"><B>-font</B></A></DT>
700
+ <DD>
701
+
702
+ Specifies a font for the label of the node.
703
+
704
+ </DD>
705
+ </DL>
706
+ <DL><DT><A NAME="-helptext"><B>-helptext</B></A></DT>
707
+ <DD>
708
+
709
+ Text for dynamic help. If empty, no help is available for this widget.
710
+ See also <A HREF="DynamicHelp.html">DynamicHelp</A>.
711
+ </DD>
712
+ </DL>
713
+ <DL><DT><A NAME="-helptype"><B>-helptype</B></A></DT>
714
+ <DD>
715
+ Type of dynamic help. Use <I>balloon</I> or <I>variable</I>.
716
+ See also <A HREF="DynamicHelp.html">DynamicHelp</A>.
717
+ </DD>
718
+ </DL>
719
+ <DL><DT><A NAME="-helpvar"><B>-helpvar</B></A></DT>
720
+ <DD>
721
+ Variable to use when <B>helptype</B> option is <I>variable</I>.
722
+ See also <A HREF="DynamicHelp.html">DynamicHelp</A>.
723
+ </DD>
724
+ </DL>
725
+ <DL><DT><A NAME="Node-image"><B>-image</B></A></DT>
726
+ <DD>
727
+
728
+ Specifies an image to display at the left of the label of the node.
729
+ <B>window</B> option override <B>image</B>.
730
+ </DD>
731
+ </DL>
732
+ <DL><DT><A NAME="Node-open"><B>-open</B></A></DT>
733
+ <DD>
734
+
735
+ Specifies wether or not the children of the node should be drawn.
736
+
737
+ </DD>
738
+ </DL>
739
+ <DL><DT><A NAME="-padx"><B>-padx</B></A></DT>
740
+ <DD>
741
+
742
+ Specifies the distance between image or window and the text of the node. If
743
+ the value is -1, the node will be drawn with the padx for the entire tree.
744
+
745
+ </DD>
746
+ </DL>
747
+ <DL><DT><A NAME="Node-selectable"><B>-selectable</B></A></DT>
748
+ <DD>
749
+
750
+ Specifies if the node can be selected or not.
751
+
752
+ </DD>
753
+ </DL>
754
+ <DL><DT><A NAME="Node-text"><B>-text</B></A></DT>
755
+ <DD>
756
+
757
+ Specifies the label of the node.
758
+
759
+ </DD>
760
+ </DL>
761
+ <DL><DT><A NAME="Node-window"><B>-window</B></A></DT>
762
+ <DD>
763
+
764
+ Specifies a pathname to display at the left of the label of the node.
765
+ <B>window</B> option override <B>image</B>.
766
+ </DD>
767
+ </DL>
768
+ </DD></DL>
769
+ <DL><DT><A NAME="itemcget"><I>pathName</I> <B>itemcget</B></A>
770
+ <I>node</I>
771
+ <I>option</I>
772
+ </DT><DD>
773
+
774
+ Returns the current value of a configuration option for the item.
775
+ <I>Option</I> may have any of the values accepted by the item creation command.
776
+
777
+ </DD></DL>
778
+ <DL><DT><A NAME="itemconfigure"><I>pathName</I> <B>itemconfigure</B></A>
779
+ <I>node</I>
780
+ ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
781
+ </DT><DD>
782
+
783
+ This command is similar to the <B>configure</B> command, except that it applies to the
784
+ options for an individual item, whereas <B>configure</B> applies to the options for
785
+ the widget as a whole. <B>Options</B> may have any of the values accepted by the
786
+ item creation widget command. If options are specified, options are modified as indicated
787
+ in the command and the command returns an empty string. If no options are specified,
788
+ returns a list describing the current options for the item.
789
+ Read-only options are not be modified.
790
+
791
+ </DD></DL>
792
+ <DL><DT><A NAME="line"><I>pathName</I> <B>line</B></A>
793
+ <I>node</I>
794
+ </DT><DD>
795
+
796
+ <p>
797
+ Returns the line number where <I>node</I> was drawn. If the node is
798
+ not visible then return -1. The first line of the tree has the value
799
+ of 0.
800
+ </p>
801
+
802
+ </DD></DL>
803
+ <DL><DT><A NAME="move"><I>pathName</I> <B>move</B></A>
804
+ <I>parent</I>
805
+ <I>node</I>
806
+ <I>index</I>
807
+ </DT><DD>
808
+
809
+ Moves <I>node</I> to the children list of <I>parent</I> at position <I>index</I>.
810
+ <I>parent</I> can not be a descendant of <I>node</I>.
811
+
812
+ </DD></DL>
813
+ <DL><DT><A NAME="nodes"><I>pathName</I> <B>nodes</B></A>
814
+ <I>node</I>
815
+ ?<I>first</I>?
816
+ ?<I>last</I>?
817
+ </DT><DD>
818
+
819
+ Returns parts of the children of <I>node</I>, following <I>first</I> and <I>last</I>.<BR>
820
+ If <I>first</I> and <I>last</I> are omitted, returns the list of all children.
821
+ If <I>first</I> is specified and <I>last</I> omitted, returns the child at index
822
+ <I>first</I>, or an empty string if <I>first</I> refers to a non-existent element.
823
+ If <I>first</I> and <I>last</I> are specified, the command returns a list whose elements
824
+ are all of the children between <I>first</I> and <I>last</I>,
825
+ inclusive. Both <I>first</I> and <I>last</I> may have any of the standard
826
+ forms for indices.
827
+
828
+ </DD></DL>
829
+ <DL><DT><A NAME="opentree"><I>pathName</I> <B>opentree</B></A> <I>node</I> ?<I>recurse</I>?
830
+
831
+ </DT><DD>
832
+
833
+ This command open all the subtree given by <I>node</I>. Recurse through the
834
+ tree starting at <I>node</I> and set <B>open</B> option to 1 depending on value
835
+ of <I>recurse</I>. Default value of <I>recurse</I> is <I>true</I>.
836
+
837
+ </DD></DL>
838
+ <DL><DT><A NAME="parent"><I>pathName</I> <B>parent</B></A>
839
+ <I>node</I>
840
+ </DT><DD>
841
+
842
+ Returns the parent of <I>node</I>.
843
+
844
+ </DD></DL>
845
+ <DL><DT><A NAME="reorder"><I>pathName</I> <B>reorder</B></A>
846
+ <I>node</I>
847
+ <I>neworder</I>
848
+ </DT><DD>
849
+
850
+ Modifies the order of children of <I>node</I> given by <I>neworder</I>. Children of
851
+ <I>node</I> that do not appear in <I>neworder</I> are no moved.
852
+
853
+ </DD></DL>
854
+ <DL><DT><A NAME="see"><I>pathName</I> <B>see</B></A>
855
+ <I>node</I>
856
+ </DT><DD>
857
+
858
+ Arrange the scrolling area to make <I>node</I> visible.
859
+
860
+ </DD></DL>
861
+ <DL><DT><A NAME="selection"><I>pathName</I> <B>selection</B></A>
862
+ <I>cmd</I>
863
+ ?<I>arg...</I>?
864
+ </DT><DD>
865
+
866
+ Modifies the list of selected nodes following <I>cmd</I>:
867
+ <DL>
868
+ <DT><B>add</B>
869
+ <DD>Adds all nodes in <I>arg</I> to the selection.
870
+ <DT><B>clear</B>
871
+ <DD>Removes all nodes from the selection.
872
+ <DT><B>get</B>
873
+ <DD>Returns a list containing the indices of current selected nodes.
874
+ <DT><B>includes</B>
875
+ <DD>Tests if the specified node is selected. Returns true if the answer is yes, and false else.
876
+ <DT><B>range</B>
877
+ <DD>Sets the selection to all nodes between the two specified ones.
878
+ <DT><B>remove</B>
879
+ <DD>Removes all nodes in <I>arg</I> from the selection.
880
+ <DT><B>set</B>
881
+ <DD>Sets the selection to all nodes in <I>arg</I>.
882
+ <DT><B>toggle</B>
883
+ <DD>Toggles the selection status of all nodes in <I>arg</I>.
884
+ </DL>
885
+
886
+ The subcommands <B>add</B>, <B>range</B>, and <B>set</B> silently
887
+ ignore nodes which are declared unselectable. See the node option
888
+ <a href="#Node-selectable">-selectable</a> to influence this.
889
+
890
+ </DD></DL>
891
+
892
+ </DD></DL>
893
+
894
+ <DL><DT><A NAME="toggle"><I>pathName</I> <B>toggle</B></A>
895
+ <I>node</I>
896
+ </DT><DD>
897
+ Toggle the open/close status of the given <i>node</i>.
898
+ </DD></DL>
899
+
900
+ <DL><DT><A NAME="visible"><I>pathName</I> <B>visible</B></A>
901
+ <I>node</I>
902
+ </DT><DD>
903
+
904
+ Returns whether or not <I>node</I> is visible (all its parents are open).
905
+
906
+ </DD></DL>
907
+ <DL><DT><A NAME="xview"><I>pathName</I> <B>xview</B></A>
908
+ ?<I>arg...</I>?
909
+ </DT><DD>
910
+
911
+ Standard command to enable horizontal scrolling of <I>pathName</I>.
912
+
913
+ </DD></DL>
914
+ <DL><DT><A NAME="yview"><I>pathName</I> <B>yview</B></A>
915
+ ?<I>arg...</I>?
916
+ </DT><DD>
917
+
918
+ Standard command to enable vertical scrolling of <I>pathName</I>.
919
+
920
+ </DD></DL>
921
+
922
+ <B><A NAME="nodes">BINDINGS</A></B><BR>
923
+
924
+ <p>
925
+ A <b>&lt;&lt;TreeSelect&gt;&gt;</b> virtual event is generated any time the
926
+ selection in the tree changes. This is the default behavior of an
927
+ item in the tree, but it can be overridden with the bindText or
928
+ bindImage command. If the button 1 binding is overridden, this event may
929
+ not be generated.
930
+ </p>
931
+
932
+ <p>
933
+ The tree has all the standard mouse wheel bindings when it has focus.
934
+ </p>
935
+
936
+ <B><A NAME="bug">CURRENT BUG WITH BINDS</A></B><BR>
937
+
938
+ <p>
939
+ There currently exists a bug with the Tree's <B>bindArea</B>,
940
+ <B>bindImage</B>, and <B>bindText</B> commands. Contrary to the given
941
+ text, occurrences of <B>%W</B> within scripts do <em>not</em>
942
+ substitute the Tree's path, but rather the Tree's underlying canvas.
943
+ A future release of BWidget will fix this error. For now it is
944
+ recommended that you do not use <B>%W</B> within your scripts.
945
+ </p>
946
+
947
+ </BODY></HTML>