1term::interact::menu(n)        Terminal control        term::interact::menu(n)
2
3
4
5______________________________________________________________________________
6

NAME

8       term::interact::menu - Terminal widget, menu
9

SYNOPSIS

11       package require Tcl  8.4
12
13       package require term::interact::menu  ?0.1?
14
15       term::interact::menu object dict ?options...?
16
17       object interact
18
19       object done
20
21       object clear
22
23       object configure
24
25       object configure option
26
27       object configure option value...
28
29       object cget option
30
31______________________________________________________________________________
32

DESCRIPTION

34       This  package  provides  a class for the creation of a simple menu con‐
35       trol.
36

CLASS API

38       The package exports a single command, the class command,  enabling  the
39       creation of menu instances. Its API is:
40
41       term::interact::menu object dict ?options...?
42              This  command  creates  a  new menu object with the name object,
43              initializes it, and returns the  fully  qualified  name  of  the
44              object command as its result.
45
46              The  argument is the menu to show, possibly followed by configu‐
47              ration options and their values. The options  are  explained  in
48              the  section  Configuration.  The  menu  is  a dictionary maping
49              labels to symbolic action codes.
50

OBJECT API

52       The objects created by the class command  provide  the  methods  listed
53       below:
54
55       object interact
56              Shows  the  menu  in  the  screen at the configured location and
57              starts interacting with it. This opens its own  event  loop  for
58              the  processing  of incoming characters. The method returns when
59              the interaction has completed. See  section  Interaction  for  a
60              description of the possible interaction.
61
62              The method returns the symbolic action of the menu item selected
63              by the user at the end of the interaction.
64
65       object done
66              This method can be used by user supplied  actions  to  terminate
67              the interaction with the object.
68
69       object clear
70              This  method  can be used by user supplied actions to remove the
71              menu from the terminal.
72
73       object configure
74
75       object configure option
76
77       object configure option value...
78
79       object cget option
80              Standard methods to retrieve and configure the  options  of  the
81              menu.
82

CONFIGURATION

84       A menu instance recognizes the following options:
85
86       -in chan
87              Specifies the channel to read character sequences from. Defaults
88              to stdin.
89
90       -out chan
91              Specifies the channel to write the menu contents to. Defaults to
92              stdout.
93
94       -column int
95              Specifies  the  column  of the terminal where the left margin of
96              the menu display should appear. Defaults to 0,  i.e.  the  left-
97              most column.
98
99       -line int
100              Specifies  the  line of the terminal where the top margin of the
101              menu display should appear. Defaults to  0,  i.e.  the  top-most
102              line.
103
104       -height int
105              Specifies  the  number  of  lines of text to show at most in the
106              display. Defaults to 25.
107
108       -actions dict
109              Specifies a  dictionary  containing  additional  actions,  using
110              character  sequences  as  keys. Note that these sequences cannot
111              override the hardwired sequences described in  section  Interac‐
112              tion.
113
114       -hilitleft int
115
116       -hilitright int
117              By  default  the  entire  selected  menu entry is highlighted in
118              revers output. However, when present these two options  restrict
119              revers dispay to the specified sub-range of the entry.
120
121       -framed bool
122              By default the menu is shown using only header and footer out of
123              characters box graphics. If this flag is set the menu  is  fully
124              enclosed in a box.
125

INTERACTION

127       A menu object recognizes the control sequences listed below and acts as
128       described. The user can supply more control sequences to act on via the
129       configuration, but is not able to overide these defaults.
130
131       Cursor Up
132              The  selection  is moved up one entry, except if the first entry
133              of the menu is already selected.
134
135       Cursor Down
136              The selection is moved down one entry, except if the last  entry
137              of the menu is already selected.
138
139       Enter/Return
140              The interaction with the object is terminated.
141

BUGS, IDEAS, FEEDBACK

143       This  document,  and the package it describes, will undoubtedly contain
144       bugs and other problems.  Please report such in the  category  term  of
145       the  Tcllib  Trackers  [http://core.tcl.tk/tcllib/reportlist].   Please
146       also report any ideas for enhancements you may have for either  package
147       and/or documentation.
148
149       When proposing code changes, please provide unified diffs, i.e the out‐
150       put of diff -u.
151
152       Note further that  attachments  are  strongly  preferred  over  inlined
153       patches.  Attachments  can  be  made  by  going to the Edit form of the
154       ticket immediately after its creation, and  then  using  the  left-most
155       button in the secondary navigation bar.
156

KEYWORDS

158       control, menu, terminal, text display
159

CATEGORY

161       Terminal control
162
164       Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
165
166
167
168
169tcllib                                0.1              term::interact::menu(n)
Impressum