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_TREE_STORES_H__ 00003 #define __BST_TREE_STORES_H__ 00004 00005 #include "bstutils.hh" 00006 00007 G_BEGIN_DECLS 00008 00009 00010 /* --- file store --- */ 00011 enum { 00012 BST_FILE_STORE_COL_ID, 00013 BST_FILE_STORE_COL_FILE, 00014 BST_FILE_STORE_COL_BASE_NAME, 00015 BST_FILE_STORE_COL_WAVE_NAME, 00016 BST_FILE_STORE_COL_SIZE, 00017 BST_FILE_STORE_COL_TIME_USECS, 00018 BST_FILE_STORE_COL_TIME_STR, 00019 BST_FILE_STORE_COL_LOADER, 00020 BST_FILE_STORE_COL_LOADABLE, 00021 BST_FILE_STORE_N_COLS 00022 }; 00023 GtkTreeModel* bst_file_store_create (void); 00024 void bst_file_store_update_list (GtkTreeModel *model, 00025 const gchar *search_path, 00026 const gchar *filter); 00027 void bst_file_store_forget_list (GtkTreeModel *model); 00028 void bst_file_store_destroy (GtkTreeModel *model); 00029 00030 00031 /* --- proxy stores --- */ 00032 enum { 00033 BST_PROXY_STORE_SEQID, 00034 BST_PROXY_STORE_NAME, 00035 BST_PROXY_STORE_BLURB, 00036 BST_PROXY_STORE_TYPE, 00037 BST_PROXY_STORE_N_COLS 00038 }; 00039 /* store based on a BseItemSeq */ 00040 GtkTreeModel* bst_item_seq_store_new (gboolean sorted); 00041 void bst_item_seq_store_set (GtkTreeModel *self, 00042 BseItemSeq *iseq); 00043 gint bst_item_seq_store_add (GtkTreeModel *self, 00044 SfiProxy proxy); 00045 gint bst_item_seq_store_remove (GtkTreeModel *self, 00046 SfiProxy proxy); 00047 gint bst_item_seq_store_raise (GtkTreeModel *self, 00048 SfiProxy proxy); 00049 gboolean bst_item_seq_store_can_raise (GtkTreeModel *self, 00050 SfiProxy proxy); 00051 gint bst_item_seq_store_lower (GtkTreeModel *self, 00052 SfiProxy proxy); 00053 gboolean bst_item_seq_store_can_lower (GtkTreeModel *self, 00054 SfiProxy proxy); 00055 BseItemSeq* bst_item_seq_store_dup (GtkTreeModel *self); 00056 SfiProxy bst_item_seq_store_get_proxy (GtkTreeModel *self, 00057 gint row); 00058 SfiProxy bst_item_seq_store_get_from_iter (GtkTreeModel *self, 00059 GtkTreeIter *iter); 00060 gboolean bst_item_seq_store_get_iter (GtkTreeModel *self, 00061 GtkTreeIter *iter, 00062 SfiProxy proxy); 00063 /* store based on the child list of a container */ 00064 GxkListWrapper* bst_child_list_wrapper_store_new (void); 00065 00066 00067 /* --- generic child list wrapper --- */ 00068 void bst_child_list_wrapper_setup (GxkListWrapper *self, 00069 SfiProxy parent, 00070 const gchar *child_type); 00071 void bst_child_list_wrapper_set_listener (GxkListWrapper *self, 00072 void (*listener) (GtkTreeModel *model, 00073 SfiProxy item, 00074 gboolean added)); 00075 void bst_child_list_wrapper_rebuild (GxkListWrapper *self); 00076 SfiProxy bst_child_list_wrapper_get_proxy (GxkListWrapper *self, 00077 gint row); 00078 SfiProxy bst_child_list_wrapper_get_from_iter (GxkListWrapper *self, 00079 GtkTreeIter *iter); 00080 gboolean bst_child_list_wrapper_get_iter (GxkListWrapper *self, 00081 GtkTreeIter *iter, 00082 SfiProxy proxy); 00083 void bst_child_list_wrapper_proxy_changed (GxkListWrapper *self, 00084 SfiProxy item); 00085 00086 00087 G_END_DECLS 00088 00089 #endif /* __BST_TREE_STORES_H__ */