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 __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__ */