## gtk_main

gtk_main — The command panel definition.

## Synopsis

    #define             VISU_UIMAIN_TYPE
    #define             VISU_UIMAIN                         (obj)
    #define             VISU_UIMAIN_CLASS                   (klass)
    #define             IS_VISU_UIMAIN_TYPE                 (obj)
    #define             IS_VISU_UIMAIN_CLASS                (klass)
    #define             VISU_UIMAIN_GET_CLASS               (obj)
    typedef             VisuUiMain_private;
                        VisuUiMain;
                        VisuUiMainClass;
    GType               visu_ui_main_get_type               (void);
    GtkWidget*          visu_ui_main_new                    (gboolean oneWindow);
    void                visu_ui_main_quit                   (VisuUiMain *main,
                                                             gboolean force);
    void                visu_ui_main_buildInteractiveDialog (VisuUiMain *main);
    gboolean            visu_ui_main_runCommandLine         (gpointer data);
    gboolean            visu_ui_main_initPanels             (gpointer data);
    void                visu_uiMainClass_setRememberPosition
                                                            (gboolean val);
    gboolean            visu_uiMainClass_getRememberPosition
                                                            ();
    VisuUiMain*         visu_uiMainClass_getCurrentPanel    ();
    void                gtkMainClassSet_currentPanel        (VisuUiMain *main);
    void                visu_uiMainClass_createMain         (GtkWindow **panel,
                                                             GtkWindow **renderWindow,
                                                             GtkWidget **renderArea);
    VisuRenderingWindow* visu_uiMainClass_getDefaultRendering
                                                            ();

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----GtkWindow
                                           +----VisuUiMain

## Implemented Interfaces

VisuUiMain implements AtkImplementorIface and GtkBuildable.

## Description

## Details

### VISU_UIMAIN_TYPE

    #define VISU_UIMAIN_TYPE	     (visu_ui_main_get_type ())

return the type of VisuUiMain.

### VISU_UIMAIN()

    #define VISU_UIMAIN(obj)	     (G_TYPE_CHECK_INSTANCE_CAST(obj, VISU_UIMAIN_TYPE, VisuUiMain))

Cast the given `obj` into VisuUiMain type.

`obj` : | a GObject to cast.

### VISU_UIMAIN_CLASS()

    #define VISU_UIMAIN_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST(klass, VISU_UIMAIN_TYPE, VisuUiMainClass))

Cast the given `klass` into VisuUiMainClass.

`klass` : | a GObjectClass to cast.

### IS_VISU_UIMAIN_TYPE()

    #define IS_VISU_UIMAIN_TYPE(obj)    (G_TYPE_CHECK_INSTANCE_TYPE(obj, VISU_UIMAIN_TYPE))

Test if the given `ogj` is of the type of VisuUiMain object.

`obj` : | a GObject to test.

### IS_VISU_UIMAIN_CLASS()

    #define IS_VISU_UIMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, VISU_UIMAIN_TYPE))

Test if the given `klass` is of the type of VisuUiMainClass class.

`klass` : | a GObjectClass to test.

### VISU_UIMAIN_GET_CLASS()

    #define VISU_UIMAIN_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS(obj, VISU_UIMAIN_TYPE, VisuUiMainClass))

It returns the class of the given `obj`.

`obj` : | a GObject to get the class of.

### VisuUiMain_private

    typedef struct VisuUiMain_private_struct VisuUiMain_private;

Private fields for VisuUiMain objects.

### VisuUiMain

    typedef struct _VisuUiMain VisuUiMain;

This structure describes a VisuUiMain object.

### VisuUiMainClass

    typedef struct _VisuUiMainClass VisuUiMainClass;

A short way to identify _VisuUiMainClass structure.

### visu_ui_main_get_type ()

    GType               visu_ui_main_get_type               (void);

This method returns the type of VisuUiMain, use VISU_UIMAIN_TYPE instead.

Returns : | the type of VisuUiMain.

### visu_ui_main_new ()

    GtkWidget*          visu_ui_main_new                    (gboolean oneWindow);

Create the command panel window and is dependencies, such as the associated rendering window... WARNING: some part are still currently static, so only once instance can be created at a time. If `oneWindow` argument is TRUE, then the rendering area is creating in the same GtkWindow on the right of the panel.

`oneWindow` : | a boolean.
Returns : | a newly create command panel.

### visu_ui_main_quit ()

    void                visu_ui_main_quit                   (VisuUiMain *main,
                                                             gboolean force);

Quit the program. If the preference to have a confirm dialog is set, then it raises the little warning window before quiting (or not).

`main` : | a pointer to the main interface.
`force` : | if TRUE, override the preference of a quiting dialog and quit.

### visu_ui_main_buildInteractiveDialog ()

    void                visu_ui_main_buildInteractiveDialog (VisuUiMain *main);

Create the mouse action dialog window (if not already done).

`main` : | a VisuUiMain object.

### visu_ui_main_runCommandLine ()

    gboolean            visu_ui_main_runCommandLine         (gpointer data);

Call the get routines from the command line module and associate the different tasks to the different panels. For a version that do not use the panels, call `visuGtkRun_commandLine()` instead.

`data` : | a pointer on a VisuUiMain object.
Returns : | always FALSE.

### visu_ui_main_initPanels ()

    gboolean            visu_ui_main_initPanels             (gpointer data);

Call the init routines for the different panels.

`data` : | a pointer on a VisuUiMain object.
Returns : | always FALSE.

### visu_uiMainClass_setRememberPosition ()

    void                visu_uiMainClass_setRememberPosition
                                                            (gboolean val);

V_Sim can try to remember the position of its main windows, then open them again will result in a positioning on screen equivalent to previous position.

`val` : | an boolean.

### visu_uiMainClass_getRememberPosition ()

    gboolean            visu_uiMainClass_getRememberPosition
                                                            ();

V_Sim can store the position of its main windows. Use this routine to get the status of this capability.

Returns : | TRUE if set.

### visu_uiMainClass_getCurrentPanel ()

    VisuUiMain*         visu_uiMainClass_getCurrentPanel    ();

This routine can be used to get the command panel, everywhere from V_Sim.

Returns : | the command Panel.. transfer full.

### gtkMainClassSet_currentPanel ()

    void                gtkMainClassSet_currentPanel        (VisuUiMain *main);

After having created the command panel with `visu_ui_main_new()`, use this routine to declare it as the current command panel.

`main` : | a command panel.

### visu_uiMainClass_createMain ()

    void                visu_uiMainClass_createMain         (GtkWindow **panel,
                                                             GtkWindow **renderWindow,
                                                             GtkWidget **renderArea);

A convenience routine to create a command panel, a rendering window and links them together.

`panel` : | a location for a GtkWindow ;
`renderWindow` : | a location for a GtkWindow ;
`renderArea` : | a location for a GtkWidget.

### visu_uiMainClass_getDefaultRendering ()

    VisuRenderingWindow* visu_uiMainClass_getDefaultRendering
                                                            ();

Get the rendering window of V_Sim.

Returns : | the rendering window.. transfer none.