BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bstitemview.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 __BST_ITEM_VIEW_H__
00003 #define __BST_ITEM_VIEW_H__
00004 
00005 #include        "bstutils.hh"
00006 
00007 G_BEGIN_DECLS
00008 
00009 /* --- Gtk+ type macros --- */
00010 #define BST_TYPE_ITEM_VIEW            (bst_item_view_get_type ())
00011 #define BST_ITEM_VIEW(object)         (GTK_CHECK_CAST ((object), BST_TYPE_ITEM_VIEW, BstItemView))
00012 #define BST_ITEM_VIEW_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), BST_TYPE_ITEM_VIEW, BstItemViewClass))
00013 #define BST_IS_ITEM_VIEW(object)      (GTK_CHECK_TYPE ((object), BST_TYPE_ITEM_VIEW))
00014 #define BST_IS_ITEM_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), BST_TYPE_ITEM_VIEW))
00015 #define BST_ITEM_VIEW_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), BST_TYPE_ITEM_VIEW, BstItemViewClass))
00016 
00017 #define BST_ITEM_VIEW_TREE_HEIGHT     (120)
00018 
00019 
00020 /* --- structures & typedefs --- */
00021 typedef struct  _BstItemView            BstItemView;
00022 typedef struct  _BstItemViewClass       BstItemViewClass;
00023 struct _BstItemView
00024 {
00025   GtkAlignment    parent_object;
00026 
00027   GtkTreeView    *tree;
00028   GxkListWrapper *wlist;
00029 
00030   GtkWidget      *pview;
00031 
00032   SfiProxy       container;
00033   SfiProxy       auto_select;
00034   GtkWidget    **op_widgets;
00035 };
00036 struct _BstItemViewClass
00037 {
00038   GtkAlignmentClass parent_class;
00039 
00040   const gchar      *item_type;
00041 
00042   void        (*set_container)  (BstItemView    *self,
00043                                  SfiProxy        new_container);
00044   void        (*listen_on)      (BstItemView    *self,
00045                                  SfiProxy        item);
00046   void        (*unlisten_on)    (BstItemView    *self,
00047                                  SfiProxy        item);
00048 };
00049 
00050 
00051 /* --- prototypes --- */
00052 GType           bst_item_view_get_type          (void);
00053 void            bst_item_view_select            (BstItemView    *item_view,
00054                                                  SfiProxy        item);
00055 SfiProxy        bst_item_view_get_current       (BstItemView    *item_view);
00056 SfiProxy        bst_item_view_get_proxy         (BstItemView    *item_view,
00057                                                  gint            row);
00058 gint            bst_item_view_get_proxy_row     (BstItemView    *self,
00059                                                  SfiProxy        item);
00060 void            bst_item_view_set_container     (BstItemView    *item_view,
00061                                                  SfiProxy        new_container);
00062 void            bst_item_view_set_tree          (BstItemView    *item_view,
00063                                                  GtkTreeView    *tree);
00064 void            bst_item_view_complete_tree     (BstItemView    *self,
00065                                                  GtkTreeView    *tree);
00066 void            bst_item_view_build_param_view  (BstItemView    *self,
00067                                                  GtkContainer   *container);
00068 void            bst_item_view_refresh           (BstItemView    *self,
00069                                                  SfiProxy        item);
00070 void            bst_item_view_name_edited       (BstItemView    *self,
00071                                                  const gchar    *strpath,
00072                                                  const gchar    *text);
00073 void            bst_item_view_blurb_edited      (BstItemView    *self,
00074                                                  const gchar    *strpath,
00075                                                  const gchar    *text);
00076 void            bst_item_view_enable_param_view (BstItemView    *self,
00077                                                  gboolean        enabled);
00078 GtkTreeModel* bst_item_view_adapt_list_wrapper  (BstItemView    *self,
00079                                                  GxkListWrapper *lwrapper);
00080 
00081 
00082 G_END_DECLS
00083 
00084 #endif /* __BST_ITEM_VIEW_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines