Mercurial > hg > xemacs-beta
comparison man/widget.texi @ 22:8fc7fe29b841 r19-15b94
Import from CVS: tag r19-15b94
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:50:29 +0200 |
parents | 859a2309aef8 |
children | 4103f0995bd7 |
comparison
equal
deleted
inserted
replaced
21:b88636d63495 | 22:8fc7fe29b841 |
---|---|
1 \input texinfo.tex | 1 \input texinfo.tex |
2 | 2 |
3 @c $Id: widget.texi,v 1.2 1997/02/09 23:52:13 steve Exp $ | 3 @c $Id: widget.texi,v 1.3 1997/02/16 01:29:52 steve Exp $ |
4 | 4 |
5 @c %**start of header | 5 @c %**start of header |
6 @setfilename widget | 6 @setfilename widget |
7 @settitle The Emacs Widget Library | 7 @settitle The Emacs Widget Library |
8 @iftex | 8 @iftex |
13 | 13 |
14 @node Top, Introduction, (dir), (dir) | 14 @node Top, Introduction, (dir), (dir) |
15 @comment node-name, next, previous, up | 15 @comment node-name, next, previous, up |
16 @top The Emacs Widget Library | 16 @top The Emacs Widget Library |
17 | 17 |
18 Version: 1.30 | 18 Version: 1.40 |
19 | 19 |
20 @menu | 20 @menu |
21 * Introduction:: | 21 * Introduction:: |
22 * User Interface:: | 22 * User Interface:: |
23 * Programming Example:: | 23 * Programming Example:: |
234 Only one radio button in a @code{radio-button-choice} widget can be selected at any | 234 Only one radio button in a @code{radio-button-choice} widget can be selected at any |
235 time. When you push one of the unselected radio buttons, it will be | 235 time. When you push one of the unselected radio buttons, it will be |
236 selected and the previous selected radio button will become unselected. | 236 selected and the previous selected radio button will become unselected. |
237 @item The @samp{@b{[Apply Form]}} @samp{@b{[Reset Form]}} buttons. | 237 @item The @samp{@b{[Apply Form]}} @samp{@b{[Reset Form]}} buttons. |
238 These are explicit buttons made with the @code{push-button} widget. The main | 238 These are explicit buttons made with the @code{push-button} widget. The main |
239 difference from the @code{link} widget is that the buttons are intended | 239 difference from the @code{link} widget is that the buttons are will be |
240 to be displayed more like buttons in a GUI, once Emacs grows powerful | 240 displayed as GUI buttons when possible. |
241 enough. | 241 enough. |
242 @end table | 242 @end table |
243 | 243 |
244 To make them easier to locate, buttons are emphasized in the buffer. | 244 To make them easier to locate, buttons are emphasized in the buffer. |
245 | 245 |
481 | 481 |
482 @item :tag | 482 @item :tag |
483 The string inserted by the @samp{%t} escape in the format | 483 The string inserted by the @samp{%t} escape in the format |
484 string. | 484 string. |
485 | 485 |
486 @item :tag-glyph | |
487 Name of image to use instead of the string specified by `:tag' on | |
488 Emacsen that supports it. | |
489 | |
486 @item :help-echo | 490 @item :help-echo |
487 Message displayed whenever you move to the widget with either | 491 Message displayed whenever you move to the widget with either |
488 @code{widget-forward} or @code{widget-backward}. | 492 @code{widget-forward} or @code{widget-backward}. |
489 | 493 |
490 @item :indent | 494 @item :indent |
528 | 532 |
529 @item :parent | 533 @item :parent |
530 The parent of a nested widget (e.g. a @code{menu-choice} item or an element of a | 534 The parent of a nested widget (e.g. a @code{menu-choice} item or an element of a |
531 @code{editable-list} widget). | 535 @code{editable-list} widget). |
532 @end table | 536 @end table |
537 | |
538 @deffn {User Option} widget-glyph-directory | |
539 Directory where glyphs are found. | |
540 Widget will look here for a file with the same name as specified for the | |
541 image, with either a @samp{.xpm} (if supported) or @samp{.xbm} extension. | |
542 @end deffn | |
543 | |
544 @deffn{User Option} widget-glyph-enable | |
545 If non-nil, allow glyphs to appear on displayes where they are supported. | |
546 @end deffn | |
547 | |
533 | 548 |
534 @menu | 549 @menu |
535 * link:: | 550 * link:: |
536 * url-link:: | 551 * url-link:: |
537 * info-link:: | 552 * info-link:: |
813 @table @code | 828 @table @code |
814 @item :on | 829 @item :on |
815 String representing the `on' state. By default the string @samp{on}. | 830 String representing the `on' state. By default the string @samp{on}. |
816 @item :off | 831 @item :off |
817 String representing the `off' state. By default the string @samp{off}. | 832 String representing the `off' state. By default the string @samp{off}. |
818 @item :on-type | 833 @item :on-glyph |
819 Type representing the `on' state. By default an `item' widget displaying | 834 Name of a glyph to be used instead of the `:on' text string, on emacsen |
820 the string specified with the @code{:on} keyword. | 835 that supports it. |
821 @item :off-type | 836 @item :off-glyph |
822 Type representing the `off' state. By default an `item' widget | 837 Name of a glyph to be used instead of the `:off' text string, on emacsen |
823 displaying the string specified with the @code{:off} keyword. | 838 that supports it. |
824 @end table | 839 @end table |
825 | 840 |
826 @node checkbox, checklist, toggle, Basic Types | 841 @node checkbox, checklist, toggle, Basic Types |
827 @comment node-name, next, previous, up | 842 @comment node-name, next, previous, up |
828 @subsection The @code{checkbox} Widget | 843 @subsection The @code{checkbox} Widget |
1142 @end defun | 1157 @end defun |
1143 | 1158 |
1144 Occasionally it can be useful to know which kind of widget you have, | 1159 Occasionally it can be useful to know which kind of widget you have, |
1145 i.e. the name of the widget type you gave when the widget was created. | 1160 i.e. the name of the widget type you gave when the widget was created. |
1146 | 1161 |
1147 @defun widget-name widget | 1162 @defun widget-type widget |
1148 Return the name of @var{widget}, a symbol. | 1163 Return the name of @var{widget}, a symbol. |
1149 @end defun | 1164 @end defun |
1150 | 1165 |
1151 @node Defining New Widgets, Widget Wishlist., Widget Properties, Top | 1166 @node Defining New Widgets, Widget Wishlist., Widget Properties, Top |
1152 @comment node-name, next, previous, up | 1167 @comment node-name, next, previous, up |
1255 @node Widget Wishlist., , Defining New Widgets, Top | 1270 @node Widget Wishlist., , Defining New Widgets, Top |
1256 @comment node-name, next, previous, up | 1271 @comment node-name, next, previous, up |
1257 @section Wishlist. | 1272 @section Wishlist. |
1258 | 1273 |
1259 @itemize @bullet | 1274 @itemize @bullet |
1260 @item | |
1261 A Smalltalk style widget browser. | |
1262 | |
1263 @item | 1275 @item |
1264 It should be possible to add or remove items from a list with @kbd{C-k} | 1276 It should be possible to add or remove items from a list with @kbd{C-k} |
1265 and @kbd{C-o} (suggested by @sc{rms}). | 1277 and @kbd{C-o} (suggested by @sc{rms}). |
1266 | 1278 |
1267 @item | 1279 @item |
1268 The @samp{[INS]} and @samp{[DEL]} buttons should be replaced by a single | 1280 The @samp{[INS]} and @samp{[DEL]} buttons should be replaced by a single |
1269 dash (@samp{-}). The dash should be a button that, when activated, ask | 1281 dash (@samp{-}). The dash should be a button that, when activated, ask |
1270 whether you want to add or delete an item (@sc{rms} wanted to git rid of | 1282 whether you want to add or delete an item (@sc{rms} wanted to git rid of |
1271 the ugly buttons, the dash is my idea). | 1283 the ugly buttons, the dash is my idea). |
1272 | |
1273 @item | |
1274 Use graphical versions of the widgets for emacsen that can do that. | |
1275 I.e. real radio buttons and checkmarks instead of their @sc{ascii} | |
1276 equivalents. | |
1277 | |
1278 @item | |
1279 There should be support for browsing the widget documentation. | |
1280 | 1284 |
1281 @item | 1285 @item |
1282 Widgets such as @code{file} and @code{symbol} should prompt with completion. | 1286 Widgets such as @code{file} and @code{symbol} should prompt with completion. |
1283 | 1287 |
1284 @item | 1288 @item |
1302 | 1306 |
1303 @item | 1307 @item |
1304 Document `helper' functions for defining new widgets. | 1308 Document `helper' functions for defining new widgets. |
1305 | 1309 |
1306 @item | 1310 @item |
1307 Show button menus on mouse down. | |
1308 | |
1309 @item | |
1310 Activate the item this is below the mouse when the button is | 1311 Activate the item this is below the mouse when the button is |
1311 released, not the item this is below the mouse when the button is | 1312 released, not the item this is below the mouse when the button is |
1312 pressed. Dired and grep gets this right. | 1313 pressed. Dired and grep gets this right. Give feedback if possible. |
1313 | 1314 |
1314 @item | 1315 @item |
1315 Use @samp{@@deffn Widget} to document widgets. | 1316 Use @samp{@@deffn Widget} to document widgets. |
1316 | 1317 |
1317 @item | 1318 @item |
1323 Document the `default' widget first. | 1324 Document the `default' widget first. |
1324 | 1325 |
1325 Split, when needed, keywords into those useful for normal | 1326 Split, when needed, keywords into those useful for normal |
1326 customization, those primarily useful when deriving, and those who | 1327 customization, those primarily useful when deriving, and those who |
1327 represent runtime information. | 1328 represent runtime information. |
1329 | |
1330 @item | |
1331 Figure out terminology and @sc{api} for the class/type/object/super | |
1332 stuff. | |
1333 | |
1334 Perhaps the correct model is delegation? | |
1335 | |
1336 @item | |
1337 Document @code{widget-browse}. | |
1338 | |
1339 @item | |
1340 Make indentation work with glyphs and propertional fonts. | |
1341 | |
1342 @item | |
1343 Add object and class hierarchies to the browser. | |
1344 | |
1328 @end itemize | 1345 @end itemize |
1329 | 1346 |
1330 @contents | 1347 @contents |
1331 @bye | 1348 @bye |