## Gwy3DWindow

Gwy3DWindow — 3D data display window

## Synopsis

    #include <libgwydgets/gwydgets.h>

                        Gwy3DWindow;
                        Gwy3DWindowClass;
    GtkWidget*          gwy_3d_window_new                   (Gwy3DView *gwy3dview);
    GtkWidget*          gwy_3d_window_get_3d_view           (Gwy3DWindow *gwy3dwindow);
    void                gwy_3d_window_add_action_widget     (Gwy3DWindow *gwy3dwindow,
                                                             GtkWidget *widget);
    void                gwy_3d_window_add_small_toolbar_button
                                                            (Gwy3DWindow *gwy3dwindow,
                                                             const gchar *stock_id,
                                                             const gchar *tooltip,
                                                             GCallback callback,
                                                             gpointer cbdata);
    void                gwy_3d_window_class_set_tooltips    (GtkTooltips *tips);
    GtkTooltips*        gwy_3d_window_class_get_tooltips    (void);

## Object Hierarchy

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

## Implemented Interfaces

Gwy3DWindow implements AtkImplementorIface and GtkBuildable.

## Description

Gwy3DWindow encapsulates a Gwy3DView together with appropriate controls. You can create a 3D window for a 3D view with `gwy_3d_window_new()`. It has an `action area' below the controls where additional widgets can be packed with `gwy_3d_window_add_action_widget()`.

## Details

### Gwy3DWindow

    typedef struct _Gwy3DWindow Gwy3DWindow;

### Gwy3DWindowClass

    typedef struct {
        GtkWindowClass parent_class;

        void (*reserved1)(void);
        void (*reserved2)(void);
        void (*reserved3)(void);
        void (*reserved4)(void);
    } Gwy3DWindowClass;

### gwy_3d_window_new ()

    GtkWidget*          gwy_3d_window_new                   (Gwy3DView *gwy3dview);

Creates a new OpenGL 3D data displaying window.

`gwy3dview` : | A Gwy3DView containing the data-displaying widget to show.
Returns : | A newly created widget, as GtkWidget.

### gwy_3d_window_get_3d_view ()

    GtkWidget*          gwy_3d_window_get_3d_view           (Gwy3DWindow *gwy3dwindow);

Returns the Gwy3DView widget this 3D window currently shows.

`gwy3dwindow` : | A 3D data view window.
Returns : | The currently shown GwyDataView.

### gwy_3d_window_add_action_widget ()

    void                gwy_3d_window_add_action_widget     (Gwy3DWindow *gwy3dwindow,
                                                             GtkWidget *widget);

Adds a widget (usually a button) to 3D window action area.

The action area is located under the parameter notebook.

`gwy3dwindow` : | A 3D data view window.
`widget` : | A widget to pack into the action area.

### gwy_3d_window_add_small_toolbar_button ()

    void                gwy_3d_window_add_small_toolbar_button
                                                            (Gwy3DWindow *gwy3dwindow,
                                                             const gchar *stock_id,
                                                             const gchar *tooltip,
                                                             GCallback callback,
                                                             gpointer cbdata);

Adds a button to small `gwy3dwindow` toolbar.

The small toolbar is those visible when full controls are hidden. Due to space constraints the button must be contain only a pixmap.

`gwy3dwindow` : | A 3D data view window.
`stock_id` : | Button pixmap stock id, like GTK_STOCK_SAVE.
`tooltip` : | Button tooltip.
`callback` : | Callback action for "clicked" signal. It is connected swapped, that is it gets `cbdata` as its first argument, the clicked button as the last.
`cbdata` : | Data to pass to `callback`.

### gwy_3d_window_class_set_tooltips ()

    void                gwy_3d_window_class_set_tooltips    (GtkTooltips *tips);

Sets the tooltips object to use for adding tooltips to 3D window parts.

This is a class method. It affects only newly cerated 3D windows, existing 3D windows will continue to use the tooltips they were constructed with.

If no class tooltips object is set before first Gwy3DWindow is created, the class instantiates one on its own. You can normally obtain it with `gwy_3d_window_class_get_tooltips()` then. The class takes a reference on the tooltips in either case.

`tips` : | Tooltips object Gwy3DWindow's should use for setting tooltips. A `NULL` value disables tooltips altogether.

### gwy_3d_window_class_get_tooltips ()

    GtkTooltips*        gwy_3d_window_class_get_tooltips    (void);

Gets the tooltips object used for adding tooltips to 3D window parts.

Returns : | The GtkTooltips object.

## See Also

Gwy3DView -- the basic 3D data display widget