BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
gxkracktable.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines