These commands are all Server to Client messages. To create a new
control, use one of these messages with a new ID. If you send one
of these messages with an existing ID, you will just modify the
existing control already bound to that ID. An ID is composed of a
string of one or more letters, numbers, or underscore characters.
S→C
ORG-FUZZBALL-GUI-CTRL-DATUM (
DLOGID,
ID,
VALUE
)
- DLOGID
- The dialog identifier, used to specify what dialog this message refers to.
- ID
- The control identifier, used to specify the name of the control to create/modify.
- VALUE
- The initial value of the control.
Creates a hidden named data item, useful for storing various insecure
state information. This doesn't have a user-visible control associated
with it. It just holds data that the user never has to see. Since the
user could have hacked their client, you should not consider this
value to be secure.
S→C
ORG-FUZZBALL-GUI-CTRL-HRULE (
DLOGID,
ID,
HEIGHT
)
- DLOGID
- The dialog identifier, used to specify what dialog this message refers to.
- ID
- The control identifier, used to specify the name of the control to create/modify.
- HEIGHT
- The thickness of the horizontal rule/line, in pixels.
This message draws a horizontal rule (line) across the cell as a
separator. If the PANE given for this
control is a MENU control, then this
will instead add a separator line to the given menu. In the menu
case, the HEIGHT argument is completely
ignored.
S→C
ORG-FUZZBALL-GUI-CTRL-VRULE (
DLOGID,
ID,
WIDTH
)
- DLOGID
- The dialog identifier, used to specify what dialog this message refers to.
- ID
- The control identifier, used to specify the name of the control to create/modify.
- WIDTH
- The thickness of the vertical rule/line, in pixels.
This message draws a vertical rule (line) across the cell as a
separator. This control cannot be used in a menu.
S→C
ORG-FUZZBALL-GUI-CTRL-BUTTON (
DLOGID,
ID,
TEXT,
[WIDTH],
[DISMISS],
[DEFAULT],
[BINDKEY]
)
- DLOGID
- The dialog identifier, used to specify what dialog this message refers to.
- ID
- The control identifier, used to specify the name of the control to create/modify.
- TEXT
- The text label to be displayed on the button.
- WIDTH
- The thickness of the vertical rule/line, in pixels.
- DISMISS
- If true, when this button is pressed, automatically close the dialog.
- DEFAULT
- If true, show this button as a Default style button.
- BINDKEY
- Specifies a key binding that should also invoke this button.
Format is that used by TCL/Tk. ie: of the form:
<Modifiers-Key-Keyname>
where modifiers are "Alt-",
"Control-", and
"Shift-". For example:
"<Alt-Control-Key-u>" or
"<Shift-Key-numbersign>".
A BUTTON is simply a pushbutton.
Pressing it results in an immediate
BUTTONPRESS event response back to the
server, containing the VALUEs
for all controls in the dialog. Though by default this dismisses the
dialog, the programmer can specify that it does not, by setting the
DISMISS argument to "0". The
DISMISS argument defaults to "1".
If the PANE given for this control
is a MENU control, then this will
instead add a menu item to the given menu. In this case, the
DEFAULT and
WIDTH arguments are completely ignored.
The menu item, when selected, will send a
BUTTONPRESS event, just as if it were
a button.
S→C
ORG-FUZZBALL-GUI-CTRL-TEXT (
DLOGID,
[ID],
VALUE,
[MAXWIDTH],
[JUSTIFY]
)
- DLOGID
- The dialog identifier, used to specify what dialog this message refers to.
- ID
- The control identifier, used to specify the name of the control to create/modify. If none is given, the server waives rights to refer to this widget in the future.
- VALUE
- The text label string to be displayed.
- MAXWIDTH
- If this is specified, the text will wrap if longer than this given number of pixels. Defaults to 80% of screen width.
- JUSTIFY
- If the text wraps, then this determines how the text will be aligned. Can be "left", "right", or "center".
This message draws a simple text label in the dialog. The ID tag specifies the ID of a control, for use in changing control options in persistent dialogs. If no ID tag is given, then the server doesn't wish to refer to this widget in the future. The MAXWIDTH argument specifies the maximum width of the label, in pixels. Text that is wider than MAXWIDTH is line-wrapped. Note that the actual number of characters you may fit into this width may vary according to the font.
If the PANE given for this control is a MENU control, then this will only add a non-selectable comment to the given menu. In this case, the JUSTIFY and MAXWIDTH arguments are completely ignored.
S→C
ORG-FUZZBALL-GUI-CTRL-IMAGE (
DLOGID,
[ID],
VALUE,
WIDTH,
HEIGHT,
[REPORT]
)
- DLOGID
- The dialog identifier, used to specify what dialog this message refers to.
- ID
- The control identifier, used to specify the name of the control to create/modify. If none is given, the server waives rights to refer to this widget in the future.
- VALUE
- The URL of the image to be displayed. This image should be either a GIF, JPEG, or PNG file. GIFs and PNGs should support transparency if possible.
- WIDTH
- The width of the image to be displayed, in pixels. (required)
- HEIGHT
- The height of the image to be displayed, in pixels. (required)
- REPORT
- If true, this image will send a BUTTONPRESS event when it is clicked on. Defaults to false.
An image control lets the program display graphical images. It can be
clicked like a button, if REPORT is set to
a true value. If the VALUE of the image is
changed, the new image should be fetched and displayed. Image sizes up to
512x512 must be supported. The client may wish to impose restrictions
on what sites images are allowed to be displayed from. URLs referring
to the same IP address or domain as the server should almost certainly
be allowed.
ORG-FUZZBALL-GUI-CTRL-EDIT(DLOGID, ID, VALUE, [MAXLENGTH], [VALIDCHARS], [WIDTH])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the control
in later commands.
- TEXT
- If given, a Text label control is inserted into the current
row and column,
then the edit control will be put in the column to the right of the
label.
This may have unintended layout effects if you don't take this into
account.
- VALUE
- The initial text contents of the control.
- WIDTH
- The width of the control, in character units.
- MAXLENGTH
- The maximum number of characters to be entered.
- VALIDCHARS
- The characters that can be entered into this control.
- REPORT
- If
set to "1", then changes to the text
content of this
widget should be reported to the server periodically. This
shouldn't
be done more often than once every couple seconds, to prevent excessive
bandwidth usage.
An
EDIT box lets the user enter a single line
of text,
containing no newlines. This text can optionally be filtered for
content.
If the
VALIDCHARS tag is specified, only characters matching
the
given Regular Expression pattern are allowed. If the
MAXLENGTH
tag
is given, no more than the given number of characters may be entered.
ORG-FUZZBALL-GUI-CTRL-PASSWORD(DLOGID, ID, VALUE, [MAXLENGTH], [WIDTH])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the control
in later commands.
- TEXT
- If given, a Text label control is inserted into the current
row and column,
then the edit control will be put in the column to the right of the
label.
This may have unintended layout effects if you don't take this into
account.
- VALUE
- The initial text contents of the control.
- WIDTH
- The width of the control, in character units.
- MAXLENGTH
- The maximum number of characters to be entered.
A
PASSWORD box lets the user enter a single
line
of text, like the
EDIT control, but the characters will not
be shown visibly, so folks can't peek at your password over your
shoulder. If the
MAXLENGTH
tag
is given, no more than the given number of characters may be entered.
ORG-FUZZBALL-GUI-CTRL-MULTIEDIT(DLOGID, ID, VALUE*, [WIDTH], [HEIGHT])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the control
in later commands.
- VALUE
- The initial contents of the edit control. This may be a
multi-line value.
- WIDTH
- Width of the multiedit control, in Character units. Defaults
to 40.
- HEIGHT
- Height of the multiedit control, in Line units. Defaults to
10.
- FONT
- Specifies whether the font in the control should be "variable"
width for a proportional font, "serif"
for a proportional serif font, or "fixed" width.
Defaults to "fixed". In general, "variable" should be
Helvetica or Arial, "fixed" should be Courier or Monaco, and "serif"
should be Times or Times New Roman.
- MULTICOLOR
- Advises that the control is expected to be able to support
color hilites, via the HILITE-SET control-command.
- MULTISTYLE
- Advises that the control is expected to be able to support
styles (bold, italics, underline, font, etc), set via the HILITE-SET
control-command.
A
MULTIEDIT control is a multi-line version of
the
edit control. However, it doesn't support length limits or content
restrictions. To prevent excessive bandwidth usage, this control should
not support
REPORT-ing
content changes, except when another event is about to be sent.
ORG-FUZZBALL-GUI-CTRL-CHECKBOX(DLOGID, ID, TEXT, VALUE, [VALNAME], [ONVAL], [OFFVAL], [REPORT])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to reference the control in later commands.
- TEXT
- The text to display to the right of the checkbox.
- VALUE
- The initial state of the Checkbox. Should match ONVAL or OFFVAL's values.
- VALNAME
- Specifies the ID of the VALUE that will be selt back to the server. Defaults to the ID of the control itself.
- REPORT
- If this is set to "1", then when this checkbutton is clicked on, a BUTTONPRESS event will be sent to the server for this control.
- ONVAL
- The value of the control when checked. Defaults to 1.
- OFFVAL
- The value of the control when unchecked. Defaults to 0.
A
CHECKBOX is used to represent a boolean value. When it is
checked, it will return the given
ONVAL.
When
not checked, it will return the given
OFFVAL. If
ONVAL
and
OFFVAL are not specified, they default to 1 and 0,
respectively.
If the
PANE given for this control is a
MENU, then
this will create a
CHECKBOX item in the given menu.
ORG-FUZZBALL-GUI-CTRL-RADIO(DLOGID, ID, VALNAME, [VALUE], SELVALUE, TEXT, [REPORT])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the radio
button group when returning values.
- VALNAME
- Specifies the ID of the VALUE that will
be returned to
the server. All radio buttons in the same group share the same
valname.
- TEXT
- The text to display to the right of the radio button.
- VALUE
- The initial state of the radio button group. Must match one
of the SELVALUEs.
If this argument is provided for multiple radio buttons in this group,
the last one created will set the initial value. If this argument is
never
sent, the first radio button created will be selected.
- SELVALUE
- What the value of the radio button group will be, when this
button is selected.
- REPORT
- If this is set to "1", then when this radio button is clicked
on, a BUTTONPRESS
event will be sent to the server for this control.
A
RADIO button lets the user select one of a set of discrete
values.
By creating multiple radio buttons with the same
VALNAME,
they
are identified as being part of the same group. Each radio button
within
a group should have a unique
SELVALUE. When the dialog
results
are sent back, the
VALUE associated with the radio button
group
VALNAME
is the
SELVALUE of the selected radio button in that group.
If the
PANE given for this control is a
MENU
control,
then this will instead add a radio button menu item to the given menu.
If
REPORT is "1", then the radio button menu item, when
selected,
will send a
BUTTONPRESS event, just as if it were a regular
radiobutton.
ORG-FUZZBALL-GUI-CTRL-SPINNER(DLOGID, ID, [VALUE], [MINVAL], [MAXVAL], [WIDTH])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the control
in later commands.
- VALUE
- The initial value of the spinner control.
Defaults to 0.
- MINVAL
- The minimum allowed value of the spinner control. Defaults to
0.
- MAXVAL
- The maximum allowed value of the spinner control. Defaults to
100.
- WIDTH
- The number of digits the spinner control can contain.
Defaults to 12.
- TEXT
- If given, a Text label control is inserted into the current
row and column, then the spinner control will be put in the column to
the right of the label. This may have unintended layout effects
if you don't take this into account.
A spinner is an integer-only control with an edit field and up/down
buttons.
It's used to let a user specify an integer number in a dialog.
ORG-FUZZBALL-GUI-CTRL-COMBOBOX(DLOGID, ID, VALUE, OPTIONS, [WIDTH], [EDITABLE], [REPORT], [SORTED])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the control
in later commands.
- VALUE
- The initial value of the combobox control.
- OPTIONS
- The list of options selectable from the combobox.
- EDITABLE
- If set to "false" or "0", then the user cannot enter
arbitrary values.
- WIDTH
- The width of the control in Character units.
- REPORT
- If set to "true" or "1", then this control informs the server
of value
changes.
- REQUIRED
- If "true" or "1", the dialog can't be dismissed if it the
value wasn't
changed. This only applies to Helper or Tabbed dialogs, or to buttons
that
also have the REQUIRED
flag set.
- SORTED
- If set to "true" or "1", then the contents of the combobox
list will be
automatically sorted in dictionary order.
- TEXT
- If given, a Text label control is inserted into the current
row and column, then the combobox control will be put in the column to
the right of the label. This may have unintended layout effects
if you don't take this into account.
A combobox lets the user select one of a list of options. The resulting
value of the control will be the actual text selected, not the index.
If
the
REPORT argument is true, and
EDITABLE is false,
then selecting an item causes the dialog to immediately report
the
selected item.
REPORT is not required to be supported
if
EDITABLE is true.
ORG-FUZZBALL-GUI-CTRL-LISTBOX(DLOGID, ID, VALUE, OPTIONS, [WIDTH], [HEIGHT], [REPORT], [REQUIRED])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the control
in later commands.
- VALUE
- The initially selected option. This should match one of OPTIONS.
- OPTIONS
- The list of options selectable from the listbox.
- FONT
- Specifies whether the text in the listbox should be "variable"
or "fixed" width, or if it should be a "serif"
proportional font. Defaults to "variable" width.
- WIDTH
- The width of the control in Character units.
- HEIGHT
- The height of the control in Line units.
- REPORT
- If set to "true" or "1", then the this control informs the
server of value
changes.
- SELECTMODE
- Used to control the way list items can be selected. When set
to "single"
only a single list item can be selected at any one time. When set to
"multiple",
you can select more than one list item by clicking on each item to
select
or deselect it. When set to "extended", you can select more than one
list
item by control-clicking on the item, or by shift-clicking to extend
the
range. Clicking without a modifier key will deselect all other items,
and
select the item clicked.
A listbox lets the user select one of a list of items, but it takes up
more than just a single line, unlike the
COMBOBOX. If the
REPORT
tag is true, the server will be sent a
VALCHANGED event
whenever
the user changes the selection.
ORG-FUZZBALL-GUI-CTRL-FRAME(DLOGID, ID, [TEXT], [VISIBLE], [RELIEF])
- DLOGID
- The dialog identifier, used to
specify what dialog
you are creating the control in.
- ID
- The control identifier, used to
reference the control
in later commands.
- TEXT
- The text label to display in the upper left border of the
frame.
- VISIBLE
- If "true" or "1", specifies that the frame has a border.
- RELIEF
- Specifies the nature of the border, if it's visible.
Must be one
of "raised", "sunken", "groove", "ridge",
"flat", or "solid". Defaults to "groove".
- WIDTH
- Optionally specifies the width of the frame, in pixels.
- HEIGHT
- Optionally specifies the height of the frame, in pixels.
A frame lets the user specify control groupings for formatting
purposes.
The frame can be
VISIBLE or invisible (default). Specifying
TEXT
implies
VISIBLE. However,
VISIBLE can be used
without
TEXT
so as to provide an unbroken box around the controls. Frames can be
nested
arbitrarily deep. You place controls inside frames by using the
PANE
layout argument.
ORG-FUZZBALL-GUI-CTRL-NOTEBOOK(DLOGID, ID, ...)
- DLOGID
- ID
- PANES {}
- NAMES {}
- HEIGHT 200
- WIDTH 300
ORG-FUZZBALL-GUI-CTRL-TREE(DLOGID, ID, ...)
- DLOGID
- ID
- VALUE {}
- OPTIONS {}
- ICONS {}
- HEIGHT 200
- WIDTH 200
- REPORT 0
ORG-FUZZBALL-GUI-CTRL-MENU(DLOGID, ID, [TEXT])
ORG-FUZZBALL-GUI-CTRL-SCALE(DLOGID, ID, ...)
- dlogid
- id
- text {}
- resolution 1.0
- digits 0
- length 100
- report 0
- width 15
- value 0.0
- valname
- minval 0.0
- maxval 100.0
- orient horiz
- interval 10.0
- bigincrement 10%