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