BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __GXK_RACK_TABLE_H__ 00003 #define __GXK_RACK_TABLE_H__ 00004 00005 #include <gxk/gxkutils.hh> 00006 00007 G_BEGIN_DECLS 00008 00009 /* --- type macros --- */ 00010 #define GXK_TYPE_RACK_TABLE (gxk_rack_table_get_type ()) 00011 #define GXK_RACK_TABLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_RACK_TABLE, GxkRackTable)) 00012 #define GXK_RACK_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_RACK_TABLE, GxkRackTableClass)) 00013 #define GXK_IS_RACK_TABLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_RACK_TABLE)) 00014 #define GXK_IS_RACK_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_RACK_TABLE)) 00015 #define GXK_RACK_TABLE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_RACK_TABLE, GxkRackTableClass)) 00016 00017 00018 /* --- structures & typedefs --- */ 00019 typedef struct _GxkRackTable GxkRackTable; 00020 typedef struct _GxkRackTableClass GxkRackTableClass; 00021 typedef struct _GxkRackEditor GxkRackEditor; 00022 struct _GxkRackTable 00023 { 00024 GtkTable parent_object; 00025 GBitMatrix *child_map; 00026 guint cell_request_width; 00027 guint cell_request_height; 00028 guint cell_width; 00029 guint cell_height; 00030 GSList *covers; 00031 GxkRackEditor *editor; 00032 }; 00033 struct _GxkRackTableClass 00034 { 00035 GtkTableClass parent_class; 00036 00037 void (*edit_mode_changed) (GxkRackTable *self, 00038 gboolean edit_mode); 00039 void (*child_changed) (GxkRackTable *self, 00040 GtkWidget *child); 00041 }; 00042 00043 00044 /* --- prototypes --- */ 00045 GType gxk_rack_table_get_type (void); 00046 gboolean gxk_rack_table_get_child_area (GxkRackTable *self, 00047 GtkWidget *child, 00048 guint *col, 00049 guint *row, 00050 guint *hspan, 00051 guint *vspan); 00052 void gxk_rack_table_redraw_cells (GxkRackTable *self, 00053 guint hcell1, 00054 guint vcell1, 00055 guint hspan, 00056 guint vspan); 00057 gboolean gxk_rack_table_translate (GxkRackTable *self, 00058 gint x, 00059 gint y, 00060 guint *hcell, 00061 guint *vcell); 00062 GtkWidget* gxk_rack_table_find_child (GxkRackTable *self, 00063 gint x, 00064 gint y); 00065 void gxk_rack_table_update_child_map (GxkRackTable *self); 00066 void gxk_rack_table_invalidate_child_map (GxkRackTable *self); 00067 void gxk_rack_table_attach (GxkRackTable *self, 00068 GtkWidget *child, 00069 guint col, 00070 guint row, 00071 guint hspan, 00072 guint vspan); 00073 void gxk_rack_table_cover_up (GxkRackTable *self); 00074 void gxk_rack_table_uncover (GxkRackTable *self); 00075 00076 00077 G_END_DECLS 00078 00079 #endif /* __GXK_RACK_TABLE_H__ */