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_SEQ_DIALOG_H__ 00003 #define __BST_ITEM_SEQ_DIALOG_H__ 00004 00005 #include "bstutils.hh" 00006 #include "bstwaveview.hh" 00007 00008 G_BEGIN_DECLS 00009 00010 /* --- Gtk+ type macros --- */ 00011 #define BST_TYPE_ITEM_SEQ_DIALOG (bst_item_seq_dialog_get_type ()) 00012 #define BST_ITEM_SEQ_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BST_TYPE_ITEM_SEQ_DIALOG, BstItemSeqDialog)) 00013 #define BST_ITEM_SEQ_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BST_TYPE_ITEM_SEQ_DIALOG, BstItemSeqDialogClass)) 00014 #define BST_IS_ITEM_SEQ_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BST_TYPE_ITEM_SEQ_DIALOG)) 00015 #define BST_IS_ITEM_SEQ_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BST_TYPE_ITEM_SEQ_DIALOG)) 00016 #define BST_ITEM_SEQ_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BST_TYPE_ITEM_SEQ_DIALOG, BstItemSeqDialogClass)) 00017 00018 /* --- structures & typedefs --- */ 00019 typedef struct _BstItemSeqDialog BstItemSeqDialog; 00020 typedef struct _BstItemSeqDialogClass BstItemSeqDialogClass; 00021 typedef void (*BstItemSeqDialogSelected) (gpointer data, 00022 BseItemSeq *iseq, 00023 BstItemSeqDialog *isdialog); 00024 struct _BstItemSeqDialog 00025 { 00026 GxkDialog parent_instance; 00027 GtkTreeModel *candidate_store; 00028 GtkTreeSelection *candidate_sel; 00029 GtkTreeModel *item_store; /* proxy store */ 00030 GtkTreeSelection *item_sel; 00031 00032 GtkWidget *ok; /* ok button */ 00033 GtkWindow *parent_window; 00034 guint ignore_activate : 1; 00035 BstItemSeqDialogSelected selected_callback; 00036 gpointer selected_data; 00037 GxkFreeFunc selected_cleanup; 00038 }; 00039 struct _BstItemSeqDialogClass 00040 { 00041 GxkDialogClass parent_class; 00042 }; 00043 00044 00045 /* --- prototypes --- */ 00046 GType bst_item_seq_dialog_get_type (void); 00047 GtkWidget* bst_item_seq_dialog_popup (gpointer parent_widget, 00048 SfiProxy item, 00049 const gchar *candidate_label, 00050 const gchar *candidate_tooltip, 00051 BseItemSeq *candidates, 00052 const gchar *item_label, 00053 const gchar *item_tooltip, 00054 BseItemSeq *iseq, 00055 BstItemSeqDialogSelected selected_callback, 00056 gpointer selected_data, 00057 GxkFreeFunc selected_cleanup); 00058 void bst_item_seq_dialog_set (BstItemSeqDialog *self, 00059 BseItemSeq *candidates, 00060 BseItemSeq *iseq); 00061 00062 00063 00064 G_END_DECLS 00065 00066 #endif /* __BST_ITEM_SEQ_DIALOG_H__ */