BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gxkracktable.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GXK_RACK_TABLE_H__
3 #define __GXK_RACK_TABLE_H__
4 
5 #include <gxk/gxkutils.hh>
6 
7 G_BEGIN_DECLS
8 
9 /* --- type macros --- */
10 #define GXK_TYPE_RACK_TABLE (gxk_rack_table_get_type ())
11 #define GXK_RACK_TABLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_RACK_TABLE, GxkRackTable))
12 #define GXK_RACK_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_RACK_TABLE, GxkRackTableClass))
13 #define GXK_IS_RACK_TABLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_RACK_TABLE))
14 #define GXK_IS_RACK_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_RACK_TABLE))
15 #define GXK_RACK_TABLE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_RACK_TABLE, GxkRackTableClass))
16 
17 
18 /* --- structures & typedefs --- */
19 typedef struct _GxkRackTable GxkRackTable;
20 typedef struct _GxkRackTableClass GxkRackTableClass;
21 typedef struct _GxkRackEditor GxkRackEditor;
23 {
24  GtkTable parent_object;
25  GBitMatrix *child_map;
26  guint cell_request_width;
27  guint cell_request_height;
28  guint cell_width;
29  guint cell_height;
30  GSList *covers;
31  GxkRackEditor *editor;
32 };
34 {
35  GtkTableClass parent_class;
36 
37  void (*edit_mode_changed) (GxkRackTable *self,
38  gboolean edit_mode);
39  void (*child_changed) (GxkRackTable *self,
40  GtkWidget *child);
41 };
42 
43 
44 /* --- prototypes --- */
45 GType gxk_rack_table_get_type (void);
46 gboolean gxk_rack_table_get_child_area (GxkRackTable *self,
47  GtkWidget *child,
48  guint *col,
49  guint *row,
50  guint *hspan,
51  guint *vspan);
52 void gxk_rack_table_redraw_cells (GxkRackTable *self,
53  guint hcell1,
54  guint vcell1,
55  guint hspan,
56  guint vspan);
57 gboolean gxk_rack_table_translate (GxkRackTable *self,
58  gint x,
59  gint y,
60  guint *hcell,
61  guint *vcell);
62 GtkWidget* gxk_rack_table_find_child (GxkRackTable *self,
63  gint x,
64  gint y);
65 void gxk_rack_table_update_child_map (GxkRackTable *self);
66 void gxk_rack_table_invalidate_child_map (GxkRackTable *self);
67 void gxk_rack_table_attach (GxkRackTable *self,
68  GtkWidget *child,
69  guint col,
70  guint row,
71  guint hspan,
72  guint vspan);
73 void gxk_rack_table_cover_up (GxkRackTable *self);
74 void gxk_rack_table_uncover (GxkRackTable *self);
75 
76 
77 G_END_DECLS
78 
79 #endif /* __GXK_RACK_TABLE_H__ */
Definition: gxkracktable.hh:33
Definition: glib-extra.hh:150
Definition: gxkrackeditor.hh:9
Definition: gxkracktable.hh:22