(v13) The Doobri structure
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
Doobri Structure
The Doobri
structure provides a mapping between a platform‐independent DICTSTRUCTION
and a platform‐dependent dialog element or control widget.
A doobri represents an abstract “piece” of the user interface. For instance, a user‐interface element providing a method of switching some feature on or off would be represented by a doobri. The doobri produces an appropriate user‐interface element on Windows in the proper look and feel. But in the abstract, it simply expresses the need for a user‐interface element that can be used to turn something on and off, or alter its value.
The structure is defined in the header file gdevdlg.h
.
typedef struct Doobri {
int32 doobriID;
int32 dc;
int32 flags;
int32 iStructIO;
int 32 nReserved1, nReserved2;
DoobriPrivate dp;
} Doobri;
doobriID
The identifier the plugin has given to the doobri. The RIP does not use it directly, so the plugin can set it for its own use.
dc
The plugin sets this field to describe the kind of data this doobri handles. It can use the following classes, described in (v13) Doobri classes .
dcBool dcInt dcFloat dcString dcSelection dcFilename dcFolder dcStatic
flags
The plugin should construct a value for this field from the following flags, using the bitwise‐OR operator:
| All elements of the dialog associated with the doobri are made visible. |
| All elements of the dialog associated with the doobri are hidden. |
| All elements of the dialog associated with the doobri are enabled: they are not grayed‐out, and the user can select them. |
| All elements of the dialog associated with the doobri are disabled: they are grayed‐out, and the user cannot select them. |
| The file or folder/directory the user has to enter must already exist. Applies to |
iStructIO
The DICTSTRUCTION
for this doobri. The value is the index required to access the appropriate one in the plugin's array of DICTSTRUCTION
structures.
nReserved1, nReserved2
Not used at present. The plugin should set these fields to zero.
dp
A platform‐specific field providing a mapping to one or more elements of a dialog box. Reserved fields should be zero.
See the appendix for your platform for details of what should go here. Typically, it is a number, a set of numbers, or a name from the dialog editor identifying a dialog element.
- For Windows, see (v13) Doobri type definitions .