How can I take care of prerequisites in dialog boxes?
| Title |
|
Predefinition buttons for dialog boxes |
| Authors |
Jean Marie
Linhart, StataCorp
Alan Riley, StataCorp |
| Date |
May 2003;
minor revisions October 2005 |
Question:
What do I do with my dialog box if my command has prerequisites or
requires predefinitions for it to run? For example, what if the data must be
declared st or ct data?
Answer:
Some prerequisites cannot be encoded easily in the dialog system. If you
have a postestimation command, there is no easy way for the dialog system to
tell you whether you have already run an estimation command.
In some cases, however, the dialog system can help. If your data must be
preset to a certain type, there are some .idlg files to help you deal with
this:
_bu_ctset.idlg
_bu_stset.idlg
_bu_tsset.idlg
_bu_panelset.idlg
_bu_svyset.idlg
These files take care of ct data, st data, ts data, panel data, and svy
data. To run many of the time-series commands, you must have a VARIRF file
set, so you can include the .idlg file:
_bu_vrfset.idlg
These includes are meant to be the first items on the first panel of the
dialog box. They require defining two positions, _x and _y,
as the coordinates at which the button will be placed. If you look
inside stcox.dlg, you will see the button included this way:
DIALOG main, label("stcox - Fit Cox proportional hazards model") /*
*/ tabtitle("Model")
BEGIN
/*--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+*/
DEFINE _x _xsetbu
DEFINE _y _top
INCLUDE _bu_stset
Here _xsetbu and _top are defined in the header dialog
_std_large.idlg. You can also define them yourself by putting
numbers in place of _xsetbu and _top. You can see an example
of this in the faq.dlg
dialog box.
This is another exception to the rule of only using .idlg files that define
their own tabs.
|