BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bstitemseqdialog.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_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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines