Move some fields from the HID* structure to HID_DRAW* and HID_DRAW_CLASS*
[geda-pcb/pcjc2.git] / src / hid / gtk / ghid-coord-entry.h
blobe90c9f90a726e36f4a3228129ac218d52cb73f71
1 /* This is the modified GtkSpinbox used for entering Coords.
2 * Hopefully it can be used as a template whenever we migrate the
3 * rest of the Gtk HID to use GObjects and GtkWidget subclassing.
4 */
5 #ifndef GHID_COORD_ENTRY_H__
6 #define GHID_COORD_ENTRY_H__
8 #include <glib.h>
9 #include <glib-object.h>
11 G_BEGIN_DECLS /* keep c++ happy */
13 #define GHID_COORD_ENTRY_TYPE (ghid_coord_entry_get_type ())
14 #define GHID_COORD_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GHID_COORD_ENTRY_TYPE, GHidCoordEntry))
15 #define GHID_COORD_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GHID_COORD_ENTRY_TYPE, GHidCoordEntryClass))
16 #define IS_GHID_COORD_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GHID_COORD_ENTRY_TYPE))
17 #define IS_GHID_COORD_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GHID_COORD_ENTRY_TYPE))
19 typedef struct _GHidCoordEntry GHidCoordEntry;
20 typedef struct _GHidCoordEntryClass GHidCoordEntryClass;
22 /* Step sizes */
23 enum ce_step_size { CE_TINY, CE_SMALL, CE_MEDIUM, CE_LARGE };
25 GType ghid_coord_entry_get_type (void);
26 GtkWidget* ghid_coord_entry_new (Coord min_val, Coord max_val, Coord value,
27 const Unit *unit, enum ce_step_size step_size);
28 void ghid_coord_entry_add_entry (GHidCoordEntry *ce, const gchar *name, const gchar *desc);
29 gchar *ghid_coord_entry_get_last_command (GHidCoordEntry *ce);
31 Coord ghid_coord_entry_get_value (GHidCoordEntry *ce);
32 void ghid_coord_entry_set_value (GHidCoordEntry *ce, Coord val);
34 G_END_DECLS /* keep c++ happy */
35 #endif