## gtk_interactive

gtk_interactive — The interactive dialog.

## Synopsis

    enum                GtkInteractiveActionId;
    GtkWidget *         (*GtkInteractiveBuild)              (VisuUiMain *main,
                                                             gchar **label,
                                                             gchar **help,
                                                             GtkWidget **radio);
    void                (*GtkInteractiveStartStop)          (VisuRenderingWindow *window);
    guint               gtkInteractiveAdd_action            (GtkInteractiveBuild build,
                                                             GtkInteractiveStartStop start,
                                                             GtkInteractiveStartStop stop);
    void                gtkInteractiveInit                  ();
    void                gtkInteractiveToggle                ();
    void                gtkInteractiveBuild_window          (VisuUiMain *main);
    void                gtkInteractiveInit_session          (VisuRenderingWindow *window);
    void                gtkInteractive_setMessage           (const gchar *message,
                                                             GtkMessageType type);
    void                gtkInteractive_unsetMessage         ();

## Description

## Details

### enum GtkInteractiveActionId

    typedef enum
      {
        action_observe,
        action_pick,
        action_move,
        /*< private >*/
        n_preset_actions
      } GtkInteractiveActionId;

Possibe actions.

`action_observe` | interactive session is observe ;
`action_pick` | interactive session is pick ;
`action_move` | interactive session is geometry changes.
`n_preset_actions` | private.

### GtkInteractiveBuild ()

    GtkWidget *         (*GtkInteractiveBuild)              (VisuUiMain *main,
                                                             gchar **label,
                                                             gchar **help,
                                                             GtkWidget **radio);

One can create new tab in the interactive dialog window by providing routines with this prototype.

`main` : | the main interface.
`label` : | a location to store the name of the tab ;
`help` : | a location to store the help message to be shown at the bottom of the window ;
`radio` : | a location on the radio button that will be toggled when the desired action is used.
Returns : | a new container to be include as a tab in the interactive dialog window.

### GtkInteractiveStartStop ()

    void                (*GtkInteractiveStartStop)          (VisuRenderingWindow *window);

Routines of this prototype are called each time the interactive mode should be changed.

`window` : | the rendering window that starts or stops the interaction defined in the tab.

### gtkInteractiveAdd_action ()

    guint               gtkInteractiveAdd_action            (GtkInteractiveBuild build,
                                                             GtkInteractiveStartStop start,
                                                             GtkInteractiveStartStop stop);

One can add new interactive mode with specific tab in the interactive dialog.

`build` : | a routine to build a tab.
`start` : | a routine to run when session is selected.
`stop` : | a routine to run when session is stopped.
Returns : | an id for this new action.

Since 3.6

### gtkInteractiveInit ()

    void                gtkInteractiveInit                  ();

Initialise the observe/pick window, connect the signals, give names to widgets...

### gtkInteractiveToggle ()

    void                gtkInteractiveToggle                ();

The user can switch between a current specific interactive action and the observe mode. This routine is used to do this.*

Since 3.6

### gtkInteractiveBuild_window ()

    void                gtkInteractiveBuild_window          (VisuUiMain *main);

create the window.

`main` : | the command panel the about dialog is associated to.

### gtkInteractiveInit_session ()

    void                gtkInteractiveInit_session          (VisuRenderingWindow *window);

Start the observe & pick session.

`window` : | the current rendering widget.

### gtkInteractive_setMessage ()

    void                gtkInteractive_setMessage           (const gchar *message,
                                                             GtkMessageType type);

Show a message in the interactive dialog.

`message` : | a string.
`type` : | the type of message.

Since 3.6

### gtkInteractive_unsetMessage ()

    void                gtkInteractive_unsetMessage         ();

Hide any message from the interactive dialog. See also `gtkInteractive_setMessage()`.

Since 3.6