gwydgets

gwydgets — Miscellaneous utility functions

Synopsis




#define     gwy_adjustment_get_int          (adj)
enum        GwyHScaleStyle;
void        gwy_widgets_type_init           (void);
gboolean    gwy_widgets_gl_init             (void);
GdkGLConfig* gwy_widgets_get_gl_config      (void);
GtkWidget*  gwy_table_attach_spinbutton     (GtkWidget *table,
                                             gint row,
                                             const gchar *name,
                                             const gchar *units,
                                             GtkObject *adj);
void        gwy_table_attach_row            (GtkWidget *table,
                                             gint row,
                                             const gchar *name,
                                             const gchar *units,
                                             GtkWidget *middle_widget);
GtkWidget*  gwy_table_attach_hscale         (GtkWidget *table,
                                             gint row,
                                             const gchar *name,
                                             const gchar *units,
                                             GtkObject *pivot,
                                             GwyHScaleStyle style);
void        gwy_table_hscale_set_sensitive  (GtkObject *pivot,
                                             gboolean sensitive);
GtkWidget*  gwy_table_get_child_widget      (GtkWidget *table,
                                             gint row,
                                             gint col);
void        gwy_color_selector_for_mask     (const gchar *dialog_title,
                                             GwyDataView *data_view,
                                             GwyColorButton *color_button,
                                             GwyContainer *container,
                                             const gchar *prefix);
gboolean    gwy_dialog_prevent_delete_cb    (void);
GtkWidget*  gwy_stock_like_button_new       (const gchar *label_text,
                                             const gchar *stock_id);

Description

Gwyddion classes has to be initialized before they can be safely deserialized. The function gwy_type_init() performs this initialization.

Before 3D widgets (Gwy3DView) can be used, OpenGL must be initialized with gwy_widgets_gl_init().

Details

gwy_adjustment_get_int()

#define     gwy_adjustment_get_int(adj)

Gets a properly rounded integer value from an adjustment.

adj : A GtkAdjustment to get value of.

Since 1.8


enum GwyHScaleStyle

typedef enum {
    GWY_HSCALE_DEFAULT          = 0,
    GWY_HSCALE_LOG              = 1,
    GWY_HSCALE_SQRT             = 2,
    GWY_HSCALE_NO_SCALE         = 6,
    GWY_HSCALE_WIDGET           = 7,
    GWY_HSCALE_WIDGET_NO_EXPAND = 8,
    GWY_HSCALE_CHECK            = 1024
} GwyHScaleStyle;

Options controlling gwy_table_attach_hscale() behaviour.

GWY_HSCALE_DEFAULT Default label, hscale, spinbutton, and units widget row.
GWY_HSCALE_LOG Hscale is logarithmic.
GWY_HSCALE_SQRT Hscale is square root.
GWY_HSCALE_NO_SCALE There is no hscale.
GWY_HSCALE_WIDGET An user-specified widget is used in place of hscale and spinbutton.
GWY_HSCALE_WIDGET_NO_EXPAND An user-specified widget is used in place of hscale and spinbutton, and it is left-aligned instead of taking all the alloted space.
GWY_HSCALE_CHECK The label is actually a check button that controls sensitivity of the row.

Since 1.8


gwy_widgets_type_init ()

void        gwy_widgets_type_init           (void);

Initializes libgwywidgets data types, making their deserialization safe.

Eventually calls gwy_draw_type_init().

Since 1.4.


gwy_widgets_gl_init ()

gboolean    gwy_widgets_gl_init             (void);

Configures an OpenGL-capable visual for 3D widgets.

Use gwy_widgets_get_gl_config() to get the framebuffer configuration.

This function must be called before OpenGL widgets can be used.

Returns : TRUE if an appropriate visual was found.

Since 1.5


gwy_widgets_get_gl_config ()

GdkGLConfig* gwy_widgets_get_gl_config      (void);

Returns OpenGL framebuffer configuration for 3D widgets.

Call gwy_widgets_gl_init() first.

Returns : The OpenGL framebuffer configuration.

Since 1.5


gwy_table_attach_spinbutton ()

GtkWidget*  gwy_table_attach_spinbutton     (GtkWidget *table,
                                             gint row,
                                             const gchar *name,
                                             const gchar *units,
                                             GtkObject *adj);

Attaches a spinbutton with two labels to a table.

table : A GtkTable.
row : Table row to attach to.
name : The label before adj.
units : The label after adj.
adj : An adjustment to create spinbutton from.
Returns : The spinbutton as a GtkWidget.

gwy_table_attach_row ()

void        gwy_table_attach_row            (GtkWidget *table,
                                             gint row,
                                             const gchar *name,
                                             const gchar *units,
                                             GtkWidget *middle_widget);

Attaches a widget with two labels to a table.

table : A GtkTable.
row : Table row to attach to.
name : The label before middle_widget.
units : The label after adj.
middle_widget : A widget.

gwy_table_attach_hscale ()

GtkWidget*  gwy_table_attach_hscale         (GtkWidget *table,
                                             gint row,
                                             const gchar *name,
                                             const gchar *units,
                                             GtkObject *pivot,
                                             GwyHScaleStyle style);

Attaches a spinbutton with a scale and labels, or something else to a table row.

Following object data are set on pivot to various components: "scale", "check", "label", "units", "middle_widget" (some may be NULL if not present).

FIXME: What exactly happens with various style values is quite convoluted.

table : A GtkTable.
row : Row in table to attach stuff to.
name : The label before pivot widget.
units : The label after pivot widget.
pivot : Either a GtkAdjustment, or a widget to use instead of the spin button and scale widgets (if style is GWY_HSCALE_WIDGET).
style : A mix of options an flags determining what and how will be attached to the table.
Returns : The middle widget. If a spinbutton is attached, then this spinbutton is returned. Otherwise (in GWY_HSCALE_WIDGET case) pivot itself.

Since 1.8


gwy_table_hscale_set_sensitive ()

void        gwy_table_hscale_set_sensitive  (GtkObject *pivot,
                                             gboolean sensitive);

Sets sensitivity of a group of controls create by gwy_table_attach_hscale().

Do not use with GWY_HSCALE_CHECK, simply set state of the check button in such a case.

pivot : The same object that was passed to gwy_table_attach_hscale() as pivot.
sensitive : TRUE to make the row sensitive, FALSE to insensitive.

Since 1.8


gwy_table_get_child_widget ()

GtkWidget*  gwy_table_get_child_widget      (GtkWidget *table,
                                             gint row,
                                             gint col);

Finds a widget in GtkTable by its coordinates.

By widget at (col, row) is meant a widget that either contains this corner or is attached by its left side, top side, or top left cornder to it.

If there are multiple matches due to overlapping widgets, an arbitrary of them is returned.

table : A GtkTable.
row : Row in table.
col : Column in table.
Returns : The widget at (col, row) or NULL if there is no such widget.

Since 1.6


gwy_color_selector_for_mask ()

void        gwy_color_selector_for_mask     (const gchar *dialog_title,
                                             GwyDataView *data_view,
                                             GwyColorButton *color_button,
                                             GwyContainer *container,
                                             const gchar *prefix);

Creates and runs a color selector dialog for a mask.

Note this function does not return anything, it runs the dialog modally and returns when it finishes.

dialog_title : Title of the color selection dialog (NULL to use default).
data_view : Data view to update on color change (NULL to not update any data view).
color_button : Color button to update on color change (or NULL).
container : Container to initialize the color from and save it to, may be NULL to use data_view's one if that is not NULL.
prefix : Prefix in container (normally "/0/mask").

Since 1.3.


gwy_dialog_prevent_delete_cb ()

gboolean    gwy_dialog_prevent_delete_cb    (void);

Returns TRUE.

The purpose of this function is to be used as a callback connected to the "delete_event" of non-modal dialogs so that they can hide instead of being destroyed. This is achieved by returning TRUE from the "delete_event" callback.

See GtkDialog source code for the gory details...

Returns : TRUE.

gwy_stock_like_button_new ()

GtkWidget*  gwy_stock_like_button_new       (const gchar *label_text,
                                             const gchar *stock_id);

Creates a button that looks like a stock button, but can have different label text.

label_text : Button label text.
stock_id : Button icon stock id.
Returns : The newly created button as GtkWidget.

Since 1.5.