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,139 @@
1
+ <HTML>
2
+ <HEAD><TITLE>DragSite</TITLE></HEAD>
3
+ <BODY BGCOLOR=white>
4
+ <DL><DT><I><A HREF="#descr">NAME</A></I></DT>
5
+ <DD><B>DragSite</B>
6
+ - Commands set for Drag facilities
7
+ </DD></DL>
8
+ <DL>
9
+ <DT><I><A HREF="#wc">COMMAND</A></I></DT>
10
+ <DD>DragSite::<A HREF="#include"><B>include</B></A>
11
+ <I>class</I>
12
+ <I>type</I>
13
+ <I>event</I>
14
+ </DD>
15
+ <DD>DragSite::<A HREF="#register"><B>register</B></A>
16
+ <I>path</I>
17
+ ?<I>option value...</I>?
18
+ </DD>
19
+ <DD>DragSite::<A HREF="#setdrag"><B>setdrag</B></A>
20
+ <I>path</I>
21
+ <I>subpath</I>
22
+ <I>initcmd</I>
23
+ <I>endcmd</I>
24
+ ?<I>force</I>?
25
+ </DD>
26
+ </DL>
27
+ <BR><HR WIDTH="100%"><BR>
28
+ <B><A NAME="descr"></A>DESCRIPTION</B><BR>
29
+ <P>
30
+
31
+ Commands of this namespace enable user to define a BWidget or a Tk widget as a drag site.
32
+
33
+
34
+
35
+ </P>
36
+ <HR WIDTH="50%"><BR>
37
+ <B><A NAME="wc">COMMAND</A></B><BR>
38
+ <DL><DT><A NAME="include">DragSite::<B>include</B></A>
39
+ <I>class</I>
40
+ <I>type</I>
41
+ <I>event</I>
42
+ </DT><DD>
43
+
44
+ This command provides a simple way to include options relatives to a drag site into
45
+ BWidget resources definition.
46
+ It includes the options needed for <B>register</B>: <I>-dragevent</I>, initialized to
47
+ <I>event</I>, <I>-draginitcmd</I> and <I>-dragendcmd</I>, initialized to empty string,
48
+ and two new options:
49
+ <TABLE BORDER=0 CELLSPACING=1>
50
+ <TR><TD><I>-dragenabled</I><TD>Specifies wether or not drag is active (initialized to 0)
51
+ <TR><TD><I>-dragtype</I><TD>Default or alternate dragged data type (initialized to <I>type</I>)
52
+ </TABLE>
53
+
54
+ </DD></DL>
55
+ <DL><DT><A NAME="register">DragSite::<B>register</B></A>
56
+ <I>path</I>
57
+ ?<I>option value...</I>?
58
+ </DT><DD>
59
+
60
+ This command is used to declare <I>path</I> as a drag site. Options are:
61
+
62
+ <P>
63
+ <DL><DT><A NAME="DragSite-dragendcmd"><B>-dragendcmd</B></A></DT>
64
+ <DD>
65
+
66
+ Command called when drag terminates (ie when user release drag icon).
67
+ This command is called with the following arguments:
68
+ <UL>
69
+ <LI>the pathname of the drag source (the widget itself),
70
+ <LI>the pathname of the drop target,
71
+ <LI>the operation,
72
+ <LI>the type of the dragged data,
73
+ <LI>the dragged data,
74
+ <LI>result of the drop (result of the call to <B>-dropcmd</B> of the target),
75
+ </UL>
76
+ If the drop does not occurs, the target and the operation are empty string and the result
77
+ is 0.
78
+
79
+ </DD>
80
+ </DL>
81
+ <DL><DT><A NAME="DragSite-dragevent"><B>-dragevent</B></A></DT>
82
+ <DD>
83
+
84
+ Specifies the number of the mouse button associated to the drag.
85
+ Must be <B>1</B>, <B>2</B> or <B>3</B>.
86
+
87
+ </DD>
88
+ </DL>
89
+ <DL><DT><A NAME="DragSite-draginitcmd"><B>-draginitcmd</B></A></DT>
90
+ <DD>
91
+
92
+ Command called when drag initiates. When the event of option <B>dragevent</B> occurs on
93
+ <I>path</I>, this command is called with the following arguments:
94
+ <UL>
95
+ <LI>pathname of the drag source (<I>path</I>),
96
+ <LI>root x-coordinate of pointer,
97
+ <LI>root y-coordinate of pointer,
98
+ <LI>a toplevel created to represent dragged data. When returning, if it
99
+ has no children, a bitmap is automatically displayed.
100
+ </UL>
101
+ The command must return a list containing three elements:
102
+ <UL>
103
+ <LI>the type of the data,
104
+ <LI>the list of acceptable basic operations (<B>copy</B>, <B>move</B> and <B>link</B>)
105
+ <LI>and the data.
106
+ </UL>
107
+ Note that even if <B>copy</B> does not appear in the list of basic operation,
108
+ it is considered as an acceptable operation, since <B>copy</B> semantic does not modify
109
+ the drag source.
110
+
111
+ </DD>
112
+ </DL>
113
+ </DD></DL>
114
+ <DL><DT><A NAME="setdrag">DragSite::<B>setdrag</B></A>
115
+ <I>path</I>
116
+ <I>subpath</I>
117
+ <I>initcmd</I>
118
+ <I>endcmd</I>
119
+ ?<I>force</I>?
120
+ </DT><DD>
121
+
122
+ This command provides a simple way to call <B>register</B> during a BWidget creation or
123
+ configuration.
124
+ <UL>
125
+ <LI><I>path</I> is the pathname of the BWidget,
126
+ <LI><I>subpath</I> is the pathname of the tk widget where drag event occurs,
127
+ <LI><I>initcmd</I> BWidget command for <I>drag-init</I> event,
128
+ <LI><I>endcmd</I> BWidget command for <I>drag-end</I> event,
129
+ <LI><I>force</I> specifies wether or not to call <B>register</B> whenever no option value has
130
+ changed (0 by default - for BWidget configuration, use 1 for BWidget creation).
131
+ </UL>
132
+ <B>setdrag</B> verifies the modification flag of options <B>dragenabled</B> and
133
+ <B>dragevent</B> and calls <B>register</B> if needed according to the options values and
134
+ <I>initcmd</I> and <I>endcmd</I> arguments. <B>draginitcmd</B> and <B>dragendcmd</B> are not
135
+ taken from options of widget because they are considered as user command, called by
136
+ BWidget implementation of <I>drag-init</I> and <I>drag-end</I> events.
137
+
138
+ </DD></DL>
139
+ </BODY></HTML>
@@ -0,0 +1,254 @@
1
+ <HTML>
2
+ <HEAD><TITLE>DropSite</TITLE></HEAD>
3
+ <BODY BGCOLOR=white>
4
+ <DL><DT><I><A HREF="#descr">NAME</A></I></DT>
5
+ <DD><B>DropSite</B>
6
+ - Commands set for Drop facilities
7
+ </DD></DL>
8
+ <DL>
9
+ <DT><I><A HREF="#wc">COMMAND</A></I></DT>
10
+ <DD>DropSite::<A HREF="#include"><B>include</B></A>
11
+ <I>class</I>
12
+ <I>types</I>
13
+ </DD>
14
+ <DD>DropSite::<A HREF="#register"><B>register</B></A>
15
+ <I>path</I>
16
+ ?<I>option value...</I>?
17
+ </DD>
18
+ <DD>DropSite::<A HREF="#setcursor"><B>setcursor</B></A>
19
+ <I>cursor</I>
20
+ </DD>
21
+ <DD>DropSite::<A HREF="#setdrop"><B>setdrop</B></A>
22
+ <I>path</I>
23
+ <I>subpath</I>
24
+ <I>dropover</I>
25
+ <I>drop</I>
26
+ ?<I>force</I>?
27
+ </DD>
28
+ <DD>DropSite::<A HREF="#setoperation"><B>setoperation</B></A>
29
+ <I>op</I>
30
+ </DD>
31
+ </DL>
32
+ <BR><HR WIDTH="100%"><BR>
33
+ <B><A NAME="descr"></A>DESCRIPTION</B><BR>
34
+ <P>
35
+
36
+ Commands of this namespace enable user to define a BWidget or a Tk widget as a drop site.
37
+ A drop site is composed of the type of object that can be dropped and associated operation,
38
+ a command called when drop occurs, and a command when an object is dragged over the widget.
39
+ A drop site must have at least one type of acceptable object and a drop command.
40
+
41
+ </P>
42
+ <HR WIDTH="50%"><BR>
43
+ <B><A NAME="wc">COMMAND</A></B><BR>
44
+ <DL><DT><A NAME="include">DropSite::<B>include</B></A>
45
+ <I>class</I>
46
+ <I>types</I>
47
+ </DT><DD>
48
+
49
+ This command provides a simple way to include options relatives to a drop site into
50
+ BWidget resources definition.
51
+ It includes the options needed for <B>register</B>, <I>-dropovercmd</I> and <I>-dropcmd</I>,
52
+ initialized to empty string, and <I>-droptypes</I>, initialized to <I>types</I>,
53
+ and one new option:
54
+ <TABLE BORDER=0 CELLSPACING=1>
55
+ <TR><TD><I>-dropenabled</I><TD>Specifies wether or not drop is active (initialized to 0)
56
+ </TABLE>
57
+
58
+ </DD></DL>
59
+ <DL><DT><A NAME="register">DropSite::<B>register</B></A>
60
+ <I>path</I>
61
+ ?<I>option value...</I>?
62
+ </DT><DD>
63
+
64
+ This command is used to declare <I>path</I> as a drop site. Options are:
65
+
66
+ <P>
67
+ <DL><DT><A NAME="DropSite-dropcmd"><B>-dropcmd</B></A></DT>
68
+ <DD>
69
+
70
+ This command is called when user release the drag icon over a valid drop target widget.
71
+ It takes the same arguments as <B>-dragovercmd</B> command. Its return values is passed
72
+ as a result to the <B>-dragendcmd</B> command of the drag source widget.
73
+
74
+ </DD>
75
+ </DL>
76
+ <DL><DT><A NAME="DropSite-dropovercmd"><B>-dropovercmd</B></A></DT>
77
+ <DD>
78
+
79
+ This command can be used to provide a dynamic drag while <I>drag-over</I> events.
80
+ While a drag occurs, events &lt;Enter&gt;, &lt;Motion&gt; and &lt;Leave&gt; are catched.
81
+ Arguments passed to the command are:
82
+ <UL>
83
+ <LI>pathname of the drop target (the widget itself),
84
+ <LI>pathname of the drag source,
85
+ <LI>event over the drop target: <I>enter</I>, <I>motion</I> or <I>leave</I>,
86
+ <LI>root x-coordinate of the pointer,
87
+ <LI>root y-coordinate of the pointer,
88
+ <LI>operation,
89
+ <LI>type of the dragged data,
90
+ <LI>dragged data.
91
+ </UL>
92
+ Command must the new status of the drag:
93
+ <UL>
94
+ <LI>0 if widget refuse this drag. Command will not be recalled on motion/leave event.
95
+ <LI>1 if widget accept this drag. Command will not be recalled on motion/leave event.
96
+ <LI>2 if widget refuse this drag. Command will be recalled on each motion event to reevaluate.
97
+ <LI>3 if widget accept this drag. Command will be recalled on each motion event to reevaluate.
98
+
99
+ </UL>
100
+ Here is a list of events and associated actions on a DropSite widget. This example
101
+ assumes that dragged data type is valid for the drop target.
102
+ <B>status</B> is the status of the drag on a DropSite. Its value is:
103
+ <BR><BR>
104
+
105
+ <TABLE BORDER CELLSPACING=1 CELLPADDING=4>
106
+ <TR>
107
+ <TD WIDTH="18%" VALIGN="TOP" ALIGN="CENTER">Event</TD>
108
+ <TD WIDTH="10%" VALIGN="TOP" ALIGN="CENTER">Old status</TD>
109
+ <TD WIDTH="48%" VALIGN="TOP" ALIGN="CENTER">Action</TD>
110
+ <TD WIDTH="24%" VALIGN="TOP" ALIGN="CENTER">New status</TD>
111
+ </TR>
112
+ <TR><TD WIDTH="18%" VALIGN="TOP" ROWSPAN=2>
113
+ <FONT SIZE=2>&lt;Enter&gt;</FONT></TD>
114
+ <TD WIDTH="10%" VALIGN="TOP" ROWSPAN=2>
115
+ <FONT SIZE=2>-</FONT></TD>
116
+ <TD WIDTH="48%" VALIGN="TOP">
117
+ <FONT SIZE=2>if DropSite has <B>dropovercmd</B>, call it with <I>enter</I></FONT></TD>
118
+ <TD WIDTH="24%" VALIGN="TOP">
119
+ <FONT SIZE=2>result of <B>dropovercmd</B></FONT></TD>
120
+ </TR>
121
+ <TR><TD WIDTH="48%" VALIGN="TOP">
122
+ <FONT SIZE=2>else</FONT></TD>
123
+ <TD WIDTH="24%" VALIGN="TOP">
124
+ <FONT SIZE=2>1</FONT></TD>
125
+ </TR>
126
+ <TR><TD WIDTH="18%" VALIGN="TOP" ROWSPAN=2>
127
+ <FONT SIZE=2>&lt;Motion&gt;</FONT></TD>
128
+ <TD WIDTH="10%" VALIGN="TOP">
129
+ <FONT SIZE=2>0 or 1</FONT></TD>
130
+ <TD WIDTH="48%" VALIGN="TOP">&nbsp;</TD>
131
+ <TD WIDTH="24%" VALIGN="TOP">
132
+ <FONT SIZE=2>unchanged</FONT></TD>
133
+ </TR>
134
+ <TR><TD WIDTH="10%" VALIGN="TOP">
135
+ <FONT SIZE=2>2 or 3</FONT></TD>
136
+ <TD WIDTH="48%" VALIGN="TOP">
137
+ <FONT SIZE=2>call <B>dropovercmd</B> with <I>motion</I></FONT></TD>
138
+ <TD WIDTH="24%" VALIGN="TOP">
139
+ <FONT SIZE=2>result of <B>dropovercmd</B></FONT></TD>
140
+ </TR>
141
+ <TR><TD WIDTH="18%" VALIGN="TOP" ROWSPAN=2>
142
+ <FONT SIZE=2>&lt;Leave&gt;</FONT>&nbsp;</TD>
143
+ <TD WIDTH="10%" VALIGN="TOP">
144
+ <FONT SIZE=2>0 or 1</FONT></TD>
145
+ <TD WIDTH="48%" VALIGN="TOP">&nbsp;</TD>
146
+ <TD WIDTH="24%" VALIGN="TOP">
147
+ <FONT SIZE=2>-</FONT></TD>
148
+ </TR>
149
+ <TR><TD WIDTH="10%" VALIGN="TOP">
150
+ <FONT SIZE=2>2 or 3</FONT></TD>
151
+ <TD WIDTH="48%" VALIGN="TOP">
152
+ <FONT SIZE=2>call <B>dropovercmd</B> with <I>leave</I></FONT></TD>
153
+ <TD WIDTH="24%" VALIGN="TOP">
154
+ <FONT SIZE=2>-</FONT></TD>
155
+ </TR>
156
+ <TR><TD WIDTH="18%" VALIGN="TOP" ROWSPAN=4>
157
+ <FONT SIZE=2>&lt;Drop&gt;</FONT></TD>
158
+ <TD WIDTH="10%" VALIGN="TOP">
159
+ <FONT SIZE=2>0</FONT></TD>
160
+ <TD WIDTH="48%" VALIGN="TOP">
161
+ <FONT SIZE=2>call <B>dragendcmd</B> of drag source</FONT></TD>
162
+ <TD WIDTH="24%" VALIGN="TOP" ROWSPAN=4>
163
+ <FONT SIZE=2>-</FONT></TD>
164
+ </TR>
165
+ <TR><TD WIDTH="10%" VALIGN="TOP">
166
+ <FONT SIZE=2>1</FONT></TD>
167
+ <TD WIDTH="48%" VALIGN="TOP">
168
+ <FONT SIZE=2>call <B>dropcmd</B> and call <B>dragendcmd</B> of drag source</FONT></TD>
169
+ </TR>
170
+ <TR><TD WIDTH="10%" VALIGN="TOP">
171
+ <FONT SIZE=2>2</FONT></TD>
172
+ <TD WIDTH="48%" VALIGN="TOP">
173
+ <FONT SIZE=2>call <B>dropovercmd</B> with <I>leave</I> and call <B>dragendcmd</B> of drag source</FONT></TD>
174
+ </TR>
175
+ <TR><TD WIDTH="10%" VALIGN="TOP">
176
+ <FONT SIZE=2>3</FONT></TD>
177
+ <TD WIDTH="48%" VALIGN="TOP">
178
+ <FONT SIZE=2>call <B>dropcmd</B> and call <B>dragendcmd</B> of drag source</FONT></TD>
179
+ </TR>
180
+ </TABLE>
181
+ <BR>
182
+
183
+ </DD>
184
+ </DL>
185
+ <DL><DT><A NAME="DropSite-droptypes"><B>-droptypes</B></A></DT>
186
+ <DD>
187
+
188
+ Specifies a list {<I>type</I> <I>oplist</I> ?<I>type</I> <I>oplist</I>? ...} of acceptable
189
+ types and associated operations for the drop target.
190
+ For each type, <I>oplist</I> is a list
191
+ {<I>descops</I> <I>mod</I> ?<I>descops</I> <I>mod</I>? ...} describing operations and
192
+ modifier keys for these operations.
193
+ <I>descops</I> describe an operation. It can be a predefined operations (<B>copy</B>,
194
+ <B>move</B> or <B>link</B>) or a new user defined operation, of the form {<I>subop</I>
195
+ <B>baseop</B> ?<I>bitmap</I>?}.
196
+ <I>subop</I> is the name given to the sub operation, <I>baseop</I> is the name of the
197
+ base operation (<B>copy</B>, <B>move</B> or <B>link</B>) and <I>bitmap</I> is a bitmap
198
+ to display for the operation.
199
+ <BR>If <I>bitmap</I> is empty, the default bitmap of the base operation is used for the
200
+ sub operation.
201
+ <BR><I>subop</I> can be a base operation, in order to change the bitmap of a base operation.
202
+ In this case, <I>baseop</I> must be empty or equal to <I>subop</I>.
203
+ <BR><I>mod</I> is the modifer key for the operation. It can be:
204
+ <UL>
205
+ <LI><B>none</B> to specify that no modifier key is pressed. This modifier can only be used
206
+ with a sub operation named <B>default</B> (and vice versa), which has the behaviour of not
207
+ display any bitmap operation. For all type, if the modifier <B>none</B> is not given, it is
208
+ automatically associated to the <B>default</B> sub operation of a <B>copy</B> base operation.
209
+ <LI><B>program</B> to specifies a sub operation accessible only by <B>DropSite::setoperation</B>.
210
+ <LI>A list combining <B>shift</B>, <B>control</B> and <B>alt</B>, which means their
211
+ corresponding key.
212
+ </UL>
213
+
214
+ </DD>
215
+ </DL>
216
+ </DD></DL>
217
+ <DL><DT><A NAME="setcursor">DropSite::<B>setcursor</B></A>
218
+ <I>cursor</I>
219
+ </DT><DD>
220
+
221
+ This command can be used within the script <B>dragovercmd</B>. It is usefull to provide
222
+ visual effect about the state of the drag.
223
+ </DD></DL>
224
+ <DL><DT><A NAME="setdrop">DropSite::<B>setdrop</B></A>
225
+ <I>path</I>
226
+ <I>subpath</I>
227
+ <I>dropover</I>
228
+ <I>drop</I>
229
+ ?<I>force</I>?
230
+ </DT><DD>
231
+
232
+ This command provides a simple way to call <B>register</B> during a BWidget creation or
233
+ configuration.
234
+ <UL>
235
+ <LI><I>path</I> is the pathname of the BWidget,
236
+ <LI><I>subpath</I> is the pathname of the tk widget where drag event occurs,
237
+ <LI><I>dropover</I> is a command for <I>drag-over</I> event,
238
+ <LI><I>drop</I> is a command for <I>drop</I> event,
239
+ <LI><I>force</I> specifies wether or not to call <B>register</B> whenever no option value
240
+ has changed (0 by default - for BWidget configuration, use 1 for BWidget creation).
241
+ </UL>
242
+ <B>setdrop</B> verifies the modification flag of options <B>dropenabled</B> and
243
+ <B>droptypes</B> and calls <B>register</B> if needed according to the options values and
244
+ <I>dropover</I> and <I>drop</I> arguments. <B>dropovercmd</B> and <B>dropcmd</B> are not
245
+ taken from options of widget because they are considered as user command, called by
246
+ BWidget implementation of <I>drag-over</I> and <I>drop</I> events.
247
+
248
+ </DD></DL>
249
+ <DL><DT><A NAME="setoperation">DropSite::<B>setoperation</B></A>
250
+ <I>op</I>
251
+ </DT><DD>
252
+ Description text
253
+ </DD></DL>
254
+ </BODY></HTML>
@@ -0,0 +1,248 @@
1
+ <HTML>
2
+ <HEAD><TITLE>DynamicHelp</TITLE></HEAD>
3
+ <BODY BGCOLOR=white>
4
+ <DL><DT><I><A HREF="#descr">NAME</A></I></DT>
5
+ <DD><B>DynamicHelp</B>
6
+ - Provide help to Tk widget or BWidget
7
+ </DD></DL>
8
+ <DL>
9
+ <DT><I><A HREF="#wc">COMMAND</A></I></DT>
10
+ <DD>DynamicHelp::<A HREF="#add"><B>add</B></A>
11
+ <i>widget</i> ?<I>option value ...</I>?
12
+ </DD>
13
+ <DD>DynamicHelp::<A HREF="#configure"><B>configure</B></A>
14
+ ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
15
+ </DD>
16
+ <DD>DynamicHelp::<A HREF="#delete"><B>delete</B></A>
17
+ <i>widget</i>
18
+ </DD>
19
+ <DD>DynamicHelp::<A HREF="#include"><B>include</B></A>
20
+ <I>class</I>
21
+ <I>type</I>
22
+ </DD>
23
+ <DD>DynamicHelp::<A HREF="#register"><B>register</B></A>
24
+ <I>path</I>
25
+ <I>type</I>
26
+ ?<I>arg...</I>?
27
+ </DD>
28
+ <DD>DynamicHelp::<A HREF="#sethelp"><B>sethelp</B></A>
29
+ <I>path</I>
30
+ <I>subpath</I>
31
+ ?<I>force</I>?
32
+ </DD>
33
+ </DL>
34
+ <BR><HR WIDTH="100%"><BR>
35
+ <B><A NAME="descr"></A>DESCRIPTION</B><BR>
36
+ <P>
37
+ Description text
38
+ </P>
39
+ <HR WIDTH="50%"><BR>
40
+ <B><A NAME="wc">COMMAND</A></B><BR>
41
+
42
+ <DL><DT><A NAME="add">DynamicHelp::<B>add</B></A>
43
+ ?<I>option value ...</I>?
44
+ </DT><DD>
45
+ <p>
46
+ This command adds dynamic help to the given <i>widget</i>.
47
+ </p>
48
+ <DL><DT><A NAME="add-command"><B>-command</B></A></DT>
49
+ <DD>
50
+ If specified, refers to a command to execute to get the help
51
+ text to display. The command must return a string to display.
52
+ If the command returns an empty string, no help is displayed.
53
+ </DD>
54
+ </DL>
55
+
56
+ <DL><DT><A NAME="add-index"><B>-index</B></A></DT>
57
+ <DD>
58
+ If specified, refers to a menu index to bind the help to instead of
59
+ a widget. If <b>-type</b> is not menu, this option is ignored.
60
+ </DD>
61
+ </DL>
62
+
63
+ <DL><DT><A NAME="add-item"><B>-item</B></A></DT>
64
+ <DD>
65
+ If specified, refers to an item or tag on a canvas to bind the
66
+ help to instead of a widget.
67
+ </DD>
68
+ </DL>
69
+
70
+ <DL><DT><A NAME="add-type"><B>-type</B></A></DT>
71
+ <DD>
72
+ Specifies the type of help. Can be:
73
+ <b>balloon</b>, <b>variable</b> or <b>menu</b>.
74
+ Default is <b>balloon</b>.
75
+ </DD>
76
+ </DL>
77
+
78
+ <DL><DT><A NAME="add-text"><B>-text</B></A></DT>
79
+ <DD>
80
+ The text to be displayed as help.
81
+ </DD>
82
+ </DL>
83
+
84
+ <DL><DT><A NAME="add-variable"><B>-variable</B></A></DT>
85
+ <DD>
86
+ Specifies a variable name to which the help string will be
87
+ written. Some other widget (e.g., a status bar) is
88
+ responsible for displaying this variable.
89
+ </DD>
90
+ </DL>
91
+
92
+ <p>
93
+ Creating dynamic help for a menu is a two-step process. The menu
94
+ itself must first be added and then each menu entry must be added
95
+ separately. Here is a brief example.
96
+ </p>
97
+
98
+ <TABLE BORDER=2 CELLSPACING=2 WIDTH="80%">
99
+ <TR><TD><PRE>
100
+ <FONT COLOR=red><I># create menu</I></FONT>
101
+ menu .m -type menubar
102
+ <FONT COLOR=red><I># associate menubar to toplevel BEFORE DynamicHelp::register</I></FONT>
103
+ <FONT COLOR=red><I># to make it works with menu clone name</I></FONT>
104
+ . configure -menu .m
105
+ .m add cascade -label "File" -menu .m.file
106
+ menu .m.file
107
+ .m.file add command -label "Open..."
108
+ .m.file add command -label "Quit"
109
+ <FONT COLOR=red><I># create label for help, using variable varinfo</I></FONT>
110
+ label .l -textvariable varinfo
111
+ <FONT COLOR=red><I># associate all entries of menu .m.file to variable varinfo</I></FONT>
112
+ DynamicHelp::add .m.file -type menu -variable varinfo
113
+ <FONT COLOR=red><I># then declare entries of .m.file</I></FONT>
114
+ DynamicHelp::add .m.file -type menu -index 0 -text "Detach menu"
115
+ DynamicHelp::add .m.file -type menu -index 1 -text "Open a file"
116
+ DynamicHelp::add .m.file -type menu -index 2 -text "Exit demo"
117
+ </PRE></TD></TR></TABLE></CENTER>
118
+
119
+ </DL>
120
+
121
+ <DL><DT><A NAME="configure">DynamicHelp::<B>configure</B></A>
122
+ ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
123
+ </DT><DD>
124
+ This command configure the ballon help.
125
+ <P>
126
+ <DL><DT><A NAME="DynamicHelp-borderwidth"><B>-borderwidth</B></A></DT>
127
+ <DD>
128
+ Width of the black border around the balloon.
129
+ </DD>
130
+ </DL>
131
+ <DL><DT><A NAME="DynamicHelp-delay"><B>-delay</B></A></DT>
132
+ <DD>
133
+ Define the delay in millisecond of mouse inactivity before displaying
134
+ the balloon.
135
+ </DD>
136
+ </DL>
137
+ <dl>
138
+ <dt><a name="DynamicHelp-state"><b>-state</b></a></dt>
139
+ <dd>
140
+ Specifies one of two states for help balloons: <b>normal</b> and
141
+ <b>disabled</b>.
142
+ </dd>
143
+ <dd>
144
+ If <b>state</b> is <b>disabled</b>, help balloons will not be displayed
145
+ for any registered widget.
146
+ </dd>
147
+ </dl>
148
+ <DL><DT><A NAME="DynamicHelp-topbackground"><B>-topbackground</B></A></DT>
149
+ <DD>
150
+ The background color of the toplevel window created for a balloon.
151
+ </DD>
152
+ </DL>
153
+ <BR>Other standard options are:
154
+ <DD><TABLE CELLSPACING=0 CELLSPACING=0 BORDER=0>
155
+ <TR>
156
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-background">-background or -bg</A></TD>
157
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-font">-font</A></TR>
158
+ </TR>
159
+ <TR>
160
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-foreground">-foreground or -fg</A></TD>
161
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-justify">-justify</A></TR>
162
+ </TR>
163
+ <TR>
164
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-padx">-padx</A></TD>
165
+ <TD>&nbsp;&nbsp;<A HREF="options.htm#M-pady">-pady</A></TR>
166
+ </TR>
167
+ </TABLE></DD>
168
+ </DD></DL>
169
+
170
+ <DL><DT><A NAME="delete">DynamicHelp::<B>delete</B></A>
171
+ <I>widget</I>
172
+ </DT><DD>
173
+ Delete all dynamic help for the given <i>widget</i>.
174
+ </DD></DL>
175
+
176
+ <DL><DT><A NAME="include">DynamicHelp::<B>include</B></A>
177
+ <I>class</I>
178
+ <I>type</I>
179
+ </DT><DD>
180
+ Description text
181
+ </DD></DL>
182
+ <DL><DT><A NAME="register">DynamicHelp::<B>register</B></A>
183
+ <I>path</I>
184
+ <I>type</I>
185
+ ?<I>arg...</I>?
186
+ </DT><DD>
187
+ <p>
188
+ <b>Its use is deprecated. Use <i>DynamicHelp::add</i> instead.</b>
189
+ </p>
190
+
191
+ Register a help text to the widget <I>path</I>.
192
+ <I>type</I> determines the type of the help or the type of the widget.
193
+ Depending on <I>type</I>, other options must be provided.
194
+ <BR>
195
+ <TABLE CELLSPACING=5 CELLPADDING=0 BORDER=0>
196
+ <TR><TD><B> type </B></TD><TD><B> options </B></TD></TR>
197
+ <TR><TD><B><I> balloon </I></B></TD><TD><I> ?tagOrItem? text </I></TD></TR>
198
+ <TR><TD><B><I> variable </I></B></TD><TD><I> ?tagOrItem? varName text </I></TD></TR>
199
+ <TR><TD><B><I> menu </I></B></TD><TD><I> varName </I></TD></TR>
200
+ <TR><TD><B><I> menuentry </I></B></TD><TD><I> index text </I></TD></TR>
201
+ </TABLE>
202
+ <BR>If one of the option is missing or is empty, help is removed for this widget.
203
+ <p>
204
+ If <i>tagOrItem</i> is specified, then <i>path</i> is a canvas, and
205
+ <i>tagOrItem</i> is the name of a tag or item on the canvas to which
206
+ the help will be bound.
207
+ </p>
208
+ For type other than <I>balloon</I>, <I>varName</I> is typically a variable
209
+ linked to a label.
210
+ <BR>For menu, balloon type help is not available. To declare a help for menu,
211
+ you first declare the menu, and then entries of this menu.
212
+ <BR>For example:
213
+ <BR><BR>
214
+ <CENTER>
215
+ <TABLE BORDER=2 CELLSPACING=2 WIDTH="80%">
216
+ <TR><TD><PRE>
217
+ <FONT COLOR=red><I># create menu</I></FONT>
218
+ menu .m -type menubar
219
+ <FONT COLOR=red><I># associate menubar to toplevel BEFORE DynamicHelp::register</I></FONT>
220
+ <FONT COLOR=red><I># to make it works with menu clone name</I></FONT>
221
+ . configure -menu .m
222
+ .m add cascade -label "File" -menu .m.file
223
+ menu .m.file
224
+ .m.file add command -label "Open..."
225
+ .m.file add command -label "Quit"
226
+ <FONT COLOR=red><I># create label for help, using variable varinfo</I></FONT>
227
+ label .l -textvariable varinfo
228
+ <FONT COLOR=red><I># associate all entries of menu .m.file to variable varinfo</I></FONT>
229
+ DynamicHelp::register .m.file menu varinfo
230
+ <FONT COLOR=red><I># then declare entries of .m.file</I></FONT>
231
+ DynamicHelp::register .m.file menuentry 0 "Detach menu"
232
+ DynamicHelp::register .m.file menuentry 1 "Open a file"
233
+ DynamicHelp::register .m.file menuentry 2 "Exit demo"
234
+ </PRE></TD></TR></TABLE></CENTER>
235
+ <BR>
236
+ <BR>Notice that if popup menu is owned by a menubar, you must associate first the menubar
237
+ to its toplevel. In this case, when you create a menu popup, its clone window is also
238
+ created, and DynamicHelp::register detects the exitence of the clone window and maps
239
+ events to it.
240
+ </DD></DL>
241
+ <DL><DT><A NAME="sethelp">DynamicHelp::<B>sethelp</B></A>
242
+ <I>path</I>
243
+ <I>subpath</I>
244
+ ?<I>force</I>?
245
+ </DT><DD>
246
+ Description text
247
+ </DD></DL>
248
+ </BODY></HTML>