1 #ifndef __SPW_UTILITIES_H__
2 #define __SPW_UTILITIES_H__
4 /*
5 * Inkscape Widget Utilities
6 *
7 * Author:
8 * Bryce W. Harrington <brycehar@bryceharrington.com>
9 *
10 * Copyright (C) 2003 Bryce Harrington
11 *
12 * Released under GNU GPL, read the file 'COPYING' for more information
13 */
15 /* The following are helper routines for making Inkscape dialog widgets.
16 All are prefixed with spw_, short for inkscape_widget. This is not to
17 be confused with SPWidget, an existing datatype associated with Inkscape::XML::Node/
18 SPObject, that reacts to modification.
19 */
21 #include <glib/gtypes.h>
22 #include <gtk/gtkstyle.h> /* GtkWidget */
23 #include <gtkmm/widget.h>
25 namespace Gtk {
26 class Label;
27 class Table;
28 class HBox;
29 }
31 Gtk::Label *
32 spw_label(Gtk::Table *table, gchar const *label_text, int col, int row, Gtk::Widget *target);
33 GtkWidget *
34 spw_label_old(GtkWidget *table, gchar const *label_text, int col, int row);
36 Gtk::HBox *
37 spw_hbox(Gtk::Table *table, int width, int col, int row);
39 GtkWidget *
40 spw_vbox_checkbutton(GtkWidget *dialog, GtkWidget *table,
41 const gchar *label, const gchar *tip, gchar *key, GCallback cb);
43 GtkWidget *
44 spw_checkbutton(GtkWidget *dialog, GtkWidget *table,
45 gchar const *label, gchar *key, int col, int row,
46 int sensitive, GCallback cb);
48 GtkWidget *
49 spw_dropdown(GtkWidget *dialog, GtkWidget *table,
50 gchar const *label, gchar *key, int row,
51 GtkWidget *selector
52 );
54 GtkWidget *
55 spw_unit_selector(GtkWidget *dialog, GtkWidget *table,
56 gchar const *label, gchar *key, int row,
57 GtkWidget *us, GCallback cb, bool can_be_negative = false);
59 void sp_set_font_size (GtkWidget *w, guint font);
60 void sp_set_font_size_smaller (GtkWidget *w);
62 gpointer sp_search_by_data_recursive(GtkWidget *w, gpointer data);
63 GtkWidget *sp_search_by_value_recursive(GtkWidget *w, gchar *key, gchar *value);
65 #endif
67 /*
68 Local Variables:
69 mode:c++
70 c-file-style:"stroustrup"
71 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
72 indent-tabs-mode:nil
73 fill-column:99
74 End:
75 */
76 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :