Content-type: text/html; charset=UTF-8
Man page of qddb_script
qddb_script
Section: Herrin Software Development, Inc. (1)
Updated: 21 Oct 2000
Index
Return to Main Contents
NAME
qddb_script - QddbScript automatic Fx interface generation
SYNOPSIS
qddb_script autogen <schema_desc>
qddb_script compile <schema_variable_name> <script>
DESCRIPTION
qddb_script serves as a very fast and convenient way to
generate custom Qddb forms. autogen generates a simple
QddbScript description of the given schema
that can be easily modified by
any user. compile compiles a QddbScript form
description into executable Fx code.
- autogen
-
accepts one extra argument, the
schema descriptor as returned from a call to
qddb_schema open. The return value is
a string consisting of a valid QddbScript
form, suitable for passing directly to
qddb_script compile.
- compile
-
accepts two arguments: 1) a valid variable name (not
the value) in the global context containing
a valid schema descriptor as returned from
qddb_schema open, and 2) a string consisting of a
QddbScript form. The QddbScript
is translated directly into Fx code suitable
for use with Tcl eval(n).
QDDBSCRIPT
The QddbScript form description language
is similar to HTML, but allows more precise layout
of fields. Code generated by qddb_script compile
is based on the Fx toolkit (Tcl/Tk). All QddbScript
commands are of the following form:
[keyword options...]
[keyword options...]
[end keyword]
[end keyword]
where keyword is one of the commands declared below.
The options field is a collection of options
that have one of the following forms: 1) option="value",
or 2) optionname. Options that are not understood
by QddbScript are ignored. For example, a valid
QddbScript might look like this:
# this is a comment
[prologue]
[menubar]
[frame attr=Address]
[text attr=Address.Street labelwidth=10] [break]
[entry attr=Address.City labelwidth=10]
[entry attr=Address.State width=2 noexpand]
[entry attr=Address.ZipCode width=10 noexpand]
[end frame]
[epilogue]
- frame
-
provides a frame that encapsulates a set of entries in rows.
Each frame may have many entries (entry, text, radiobutton, etc.)
and the rows are separated by the [break] statement.
frame requires an end marker:
[frame]
...
[end frame]
- attr=attribute
-
specifies that the frame is associated with a structured
attribute which may be expandable. If the attribute
is expandable, Add/View/Del buttons are automatically
produced so the user can add new instances of the
attribute. (optional)
- relief=string
-
specifies the relief of the outer frame. Must be one
of "groove", "flat", "raised", or "sunken".
- border=integer
-
specifies the width of the border around the outer frame in pixels.
- padx=integer
-
specifies the external horizontal padding for the frame.
- pady=integer
-
specifies the external vertical padding for the frame.
- ipadx=integer
-
specifies the internal horizontal padding for the frame.
- ipady=integer
-
specifies the internal vertical padding for the frame.
- noexpand
-
prevents expansion of the text box to fill the width
of the screen if there is room. The default is to
expand the width to fill the screen.
- entry
-
provides an entry box for attribute values. entry
does not have an end marker:
[entry attr=Address.Street labelwidth=10 width=20]
- attr=attribute
-
specifies the database attribute to which the
entry is bound. If the attribute
is expandable, Add/View/Del buttons are automatically
produced so the user can add new instances of the
attribute. (required)
- side=string
-
specifies the side within the current frame where
the new element should reside. Must be one of
"left", "right", "top", or "bottom".
- labelwidth=integer
-
specifies the width of the entry's label in characters.
The default is the exact width of the label's contents.
- label="string"
-
specifies that the default verbosename of the attribute
should be overriden with the value of "string". The default
label is the verbosename of the attribute or the last
dot-separated component of the attribute's name.
- width=integer
-
specifies the width of the entry box in characters.
The default is 10.
- relief=string
-
specifies the relief of the outer frame. Must be one
of "groove", "flat", "raised", or "sunken".
- border=integer
-
specifies the border around the outer frame in pixels.
- padx=integer
-
specifies the external horizontal padding for the frame.
- pady=integer
-
specifies the external vertical padding for the frame.
- ipadx=integer
-
specifies the internal horizontal padding for the frame.
- ipady=integer
-
specifies the internal vertical padding for the frame.
- noexpand
-
prevents expansion of the entry box to fill the width
of the screen if there is room. The default is to
expand the width to fill the screen.
- text
-
provides a full-text entry box for attribute values.
text does not have an end marker:
[text attr=Address.Street width=10 height=4]
attr=attribute
specifies the database attribute to which the
text box is bound. If the attribute
is expandable, Add/View/Del buttons are automatically
produced so the user can add new instances of the
attribute. (required)
- side=string
-
specifies the side within the current frame where
the new element should reside. Must be one of
"left", "right", "top", or "bottom".
- labelwidth=integer
-
specifies the width of the text's label in characters.
The default is the exact width of the label's contents.
- label="string"
-
specifies that the default verbosename of the attribute
should be overriden with the value of "string". The default
label is the verbosename of the attribute or the last
dot-separated component of the attribute's name.
- width=integer
-
specifies the width of the text box in characters.
The default is 10.
- height=integer
-
specifies the height of the text box in characters.
The default is 4.
- relief=string
-
specifies the relief of the outer frame. Must be one
of "groove", "flat", "raised", or "sunken".
- border=integer
-
specifies the border around the outer frame in pixels.
- padx=integer
-
specifies the external horizontal padding for the frame.
- pady=integer
-
specifies the external vertical padding for the frame.
- ipadx=integer
-
specifies the internal horizontal padding for the frame.
- ipady=integer
-
specifies the internal vertical padding for the frame.
- noexpand
-
prevents expansion of the text box to fill the width
of the screen if there is room. The default is to
expand the width to fill the screen.
- radiobutton
-
provides a collection of radiobuttons for constrained
attribute values.
radiobutton does not have an end marker:
[radiobutton attr=Address.State
value="KY"
value="IN" noexpand]
- attr=attribute
-
specifies the database attribute to which the
text box is bound. If the attribute
is expandable, Add/View/Del buttons are automatically
produced so the user can add new instances of the
attribute. (required)
- value="string"
-
specifies the value of one radiobutton in the group.
You probably want multiple value options in
each radiobutton group.
- side=string
-
specifies the side within the current frame where
the new element should reside. Must be one of
"left", "right", "top", or "bottom".
- labelwidth=integer
-
specifies the width of the text's label in characters.
The default is the exact width of the label's contents.
- label="string"
-
specifies that the default verbosename of the attribute
should be overriden with the value of "string". The default
label is the verbosename of the attribute or the last
dot-separated component of the attribute's name.
- width=integer
-
specifies the width of the text box containing the
radiobuttons. The default is to expand as necessary
to hold the radiobuttons.
- height=integer
-
specifies the height of the text box containing the
radiobuttons.
The default is 1.
- relief=string
-
specifies the relief of the outer frame. Must be one
of "groove", "flat", "raised", or "sunken".
- border=integer
-
specifies the border around the outer frame in pixels.
- padx=integer
-
specifies the external horizontal padding for the frame.
- pady=integer
-
specifies the external vertical padding for the frame.
- ipadx=integer
-
specifies the internal horizontal padding for the frame.
- ipady=integer
-
specifies the internal vertical padding for the frame.
- noexpand
-
prevents expansion of the text box to fill the width
of the screen if there is room. The default is to
expand the width to fill the screen.
- label
-
is non-attribute based label that you can place anywhere
in a frame. You can also use it as a place-holder
for alignment purposes. label does not have an
end marker:
[label value="Some label" width=10 height=2]
- value="string"
-
specifies the text for the label. The default is
the empty string ("").
- width=integer
-
specifies the width of the label.
- height=integer
-
specifies the height of the label.
The default is 1.
- relief=string
-
specifies the relief of the outer frame. Must be one
of "groove", "flat", "raised", or "sunken".
- border=integer
-
specifies the border around the outer frame in pixels.
- padx=integer
-
specifies the external horizontal padding for the frame.
- pady=integer
-
specifies the external vertical padding for the frame.
- ipadx=integer
-
specifies the internal horizontal padding for the frame.
- ipady=integer
-
specifies the internal vertical padding for the frame.
- noexpand
-
prevents expansion of the label to fill the width
of the screen if there is room. The default is to
expand the width to fill the screen.
- notebook
-
defines a new notebook frame to hold notebook tabs
to partition the fields on the screen. notebook
requires an end marker:
[notebook]
...
[end notebook]
- tab
-
defines a notebook tab for use with the notebook
option. The tab option must be between notebook
beginning and end markers as shown below. All
QddbScript commands must be within tabs inside a notebook
section. tab requires an end marker:
[notebook]
[tab label=Person underline=1]
[entry attr=First]
[entry attr=Last][break]
[text attr=Comments]
[end tab]
[tab label=Address underline=2]
[frame attr=Address]
[text attr=Address.Street][break]
[entry attr=Address.City]
[entry attr=Address.State]
[entry attr=Address.ZipCode][break]
[end frame]
[end tab]
[end notebook]
- label="string"
-
defines a label for use in the notebook tab.
- underline=integer
-
defines an underlined character position (beginning
with 0) for use as an accelerator.
- label
-
builds a label in the current location with the
given attributes.
- side=string
-
specifies the side within the current frame where
the new element should reside. Must be one of
"left", "right", "top", or "bottom".
- labelwidth=integer
-
specifies the width of the entry's label in characters.
The default is the exact width of the label's contents.
- label="string"
-
specifies that the default verbosename of the attribute
should be overriden with the value of "string". The default
label is the verbosename of the attribute or the last
dot-separated component of the attribute's name.
- width=integer
-
specifies the width of the label in characters.
The default is 10.
- relief=string
-
specifies the relief of the outer frame. Must be one
of "groove", "flat", "raised", or "sunken".
- border=integer
-
specifies the border around the outer frame in pixels.
- padx=integer
-
specifies the external horizontal padding for the frame.
- pady=integer
-
specifies the external vertical padding for the frame.
- ipadx=integer
-
specifies the internal horizontal padding for the frame.
- ipady=integer
-
specifies the internal vertical padding for the frame.
- noexpand
-
prevents expansion of the entry box to fill the width
of the screen if there is room. The default is to
expand the width to fill the screen.
- break
-
instructs QddbScript to break to the next line for
further entries within the current frame. [break]
has no options.
SEE ALSO
qddb_instance(n), qddb_keylist(n), qddb_rows(n),
qddb_search(n), qddb_schema(n),
qddb_tuple(n), qddb_view(n)
BUGS
None known.
REFERENCES
QddbScript in a NutShell
http://www.hsdi.com/qddb/qddbscript
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- QDDBSCRIPT
-
- SEE ALSO
-
- BUGS
-
- REFERENCES
-
This document was created by
man2html,
using the manual pages.
Time: 18:55:30 GMT, October 31, 2018