»  Home »  Resources & support »  FAQs »  Predefinition buttons for dialog boxes

## How can I take care of prerequisites in dialog boxes?

 Title Predefinition buttons for dialog boxes Authors Jean Marie Linhart, StataCorp Alan Riley, StataCorp

### 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?

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.