Skip to main content
Skip table of contents

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;


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.


The plugin sets this field to describe the kind of data this doobri handles. It can use the following classes, described in Doobri classes .

dcBool dcInt dcFloat dcString dcSelection dcFilename dcFolder dcStatic


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 dcFilename ‐ and dcFolder ‐class doobris only.


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.


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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.