Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
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 /* --- type macros --- */
8 #define GXK_TYPE_RACK_TABLE (gxk_rack_table_get_type ())
9 #define GXK_RACK_TABLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_RACK_TABLE, GxkRackTable))
10 #define GXK_RACK_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_RACK_TABLE, GxkRackTableClass))
11 #define GXK_IS_RACK_TABLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_RACK_TABLE))
12 #define GXK_IS_RACK_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_RACK_TABLE))
13 #define GXK_RACK_TABLE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_RACK_TABLE, GxkRackTableClass))
14 
15 
16 /* --- structures & typedefs --- */
17 typedef struct _GxkRackTable GxkRackTable;
18 typedef struct _GxkRackTableClass GxkRackTableClass;
19 typedef struct _GxkRackEditor GxkRackEditor;
21 {
22  GtkTable parent_object;
23  GBitMatrix *child_map;
24  guint cell_request_width;
25  guint cell_request_height;
26  guint cell_width;
27  guint cell_height;
28  GSList *covers;
29  GxkRackEditor *editor;
30 };
32 {
33  GtkTableClass parent_class;
34 
35  void (*edit_mode_changed) (GxkRackTable *self,
36  gboolean edit_mode);
37  void (*child_changed) (GxkRackTable *self,
38  GtkWidget *child);
39 };
40 
41 
42 /* --- prototypes --- */
43 GType gxk_rack_table_get_type (void);
44 gboolean gxk_rack_table_get_child_area (GxkRackTable *self,
45  GtkWidget *child,
46  guint *col,
47  guint *row,
48  guint *hspan,
49  guint *vspan);
50 void gxk_rack_table_redraw_cells (GxkRackTable *self,
51  guint hcell1,
52  guint vcell1,
53  guint hspan,
54  guint vspan);
55 gboolean gxk_rack_table_translate (GxkRackTable *self,
56  gint x,
57  gint y,
58  guint *hcell,
59  guint *vcell);
60 GtkWidget* gxk_rack_table_find_child (GxkRackTable *self,
61  gint x,
62  gint y);
63 void gxk_rack_table_update_child_map (GxkRackTable *self);
64 void gxk_rack_table_invalidate_child_map (GxkRackTable *self);
65 void gxk_rack_table_attach (GxkRackTable *self,
66  GtkWidget *child,
67  guint col,
68  guint row,
69  guint hspan,
70  guint vspan);
71 void gxk_rack_table_cover_up (GxkRackTable *self);
72 void gxk_rack_table_uncover (GxkRackTable *self);
73 
74 
75 #endif /* __GXK_RACK_TABLE_H__ */
uint32_t * row(uint y)
Definition: gxkracktable.hh:31
Definition: glib-extra.hh:147
Definition: gxkrackeditor.hh:7
Definition: gxkracktable.hh:20