Skip to main content
Skip table of contents

(v13) PluginQuestion

This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core


PluginQuestion Function


TEXT
    int32 PluginQuestion (
      struct pluginLibGlobals *g,
      char *str,
      enum plugMessageReason reason
      );


The PluginQuestion function is a more general mechanism for passing messages to the user, including asking a question. In all cases, the action only occurs on return from the RIP (the plugin does not produce a dialog itself).

str is copied into the same buffer mentioned for PluginOutMonitor above. The action depends on reason , as described below:

plugMessage_message

The same as PluginOutMonitor : the string is printed in the monitor window.

plugMessage_yesNo

Generates a dialog box which contains the message str and two buttons for the answers “yes” and “no”.

The default response is “yes”.

When the user clicks on one of the buttons, the answer is returned as follows in the d_answer field of the deviceDefinition structure for output plugins, and in the answer field of the IPPluginContext structure for input plugins.

The answer will be either plugAnswer_no or plugAnswer_yes . Until one has been chosen, it will be plugAnswer_unset . These values are defined in the header file gplugin.h .

The use of the deviceDefinition or IPPluginContext means that each plugin can only have one question awaiting an answer at one time.

plugMessage_noYes

The same as pluginMessage_yesNo , except that the default answer is “No”.

plugMessage_warning

This puts up a confirmer dialog box, containing the message str , and an “OK” button with which to dismiss it.

The plugin has no further interaction with this dialog box. Because of this, you should make sure that this is the last reason used, if using more than one.

plugMessage_none

This can be used to cancel a message requested earlier in the same plugin call.

JavaScript errors detected

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

If this problem persists, please contact our support.