2 #ifndef __BST_FILE_DIALOG_H__
3 #define __BST_FILE_DIALOG_H__
12 #define BST_TYPE_FILE_DIALOG (bst_file_dialog_get_type ())
13 #define BST_FILE_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BST_TYPE_FILE_DIALOG, BstFileDialog))
14 #define BST_FILE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BST_TYPE_FILE_DIALOG, BstFileDialogClass))
15 #define BST_IS_FILE_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BST_TYPE_FILE_DIALOG))
16 #define BST_IS_FILE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BST_TYPE_FILE_DIALOG))
17 #define BST_FILE_DIALOG_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BST_TYPE_FILE_DIALOG, BstFileDialogClass))
27 BST_FILE_DIALOG_OPEN_PROJECT = 0x0001,
28 BST_FILE_DIALOG_MERGE_PROJECT = 0x0002,
29 BST_FILE_DIALOG_SAVE_PROJECT = 0x0003,
30 BST_FILE_DIALOG_IMPORT_MIDI = 0x0004,
31 BST_FILE_DIALOG_SELECT_FILE = 0x0008,
32 BST_FILE_DIALOG_SELECT_DIR = 0x0009,
33 BST_FILE_DIALOG_LOAD_WAVE = 0x0011,
34 BST_FILE_DIALOG_LOAD_WAVE_LIB = 0x0012,
35 BST_FILE_DIALOG_MERGE_EFFECT = 0x0021,
36 BST_FILE_DIALOG_MERGE_INSTRUMENT = 0x0022,
37 BST_FILE_DIALOG_SAVE_EFFECT = 0x0023,
38 BST_FILE_DIALOG_SAVE_INSTRUMENT = 0x0024,
39 BST_FILE_DIALOG_MODE_MASK = 0x00ff,
40 BST_FILE_DIALOG_ALLOW_DIRS = 0x1000,
41 BST_FILE_DIALOG_FLAG_MASK = 0xff00
45 GxkDialog parent_instance;
52 GtkWidget *radio1, *radio2;
55 BstFileDialogMode mode : 16;
56 guint ignore_activate : 1;
57 guint using_file_store : 1;
58 guint apply_project_name : 1;
59 GtkTreeModel *file_store;
61 const gchar *search_filter;
62 GtkWindow *parent_window;
63 SfiProxy proxy, super;
67 GxkDialogClass parent_class;
72 GType bst_file_dialog_get_type (
void);
73 GtkWidget* bst_file_dialog_popup_open_project (gpointer parent_widget);
74 GtkWidget* bst_file_dialog_popup_merge_project (gpointer parent_widget,
76 GtkWidget* bst_file_dialog_popup_import_midi (gpointer parent_widget,
78 GtkWidget* bst_file_dialog_popup_save_project (gpointer parent_widget,
80 gboolean query_project_name,
81 gboolean apply_project_name);
82 GtkWidget* bst_file_dialog_popup_merge_effect (gpointer parent_widget,
84 GtkWidget* bst_file_dialog_popup_save_effect (gpointer parent_widget,
87 GtkWidget* bst_file_dialog_popup_save_instrument (gpointer parent_widget,
90 GtkWidget* bst_file_dialog_popup_merge_instrument (gpointer parent_widget,
92 GtkWidget* bst_file_dialog_popup_select_file (gpointer parent_widget);
93 GtkWidget* bst_file_dialog_popup_select_dir (gpointer parent_widget);
94 GtkWidget* bst_file_dialog_popup_load_wave (gpointer parent_widget,
97 void bst_file_dialog_set_mode (BstFileDialog *
self,
98 gpointer parent_widget,
99 BstFileDialogMode mode,
100 const gchar *fs_title,
102 GtkWidget* bst_file_dialog_create (
void);
103 void bst_file_dialog_setup (GtkWidget *widget,
104 gpointer parent_widget,
106 const gchar *search_path);
107 typedef void (*BstFileDialogHandler) (GtkWidget *dialog,
110 void bst_file_dialog_set_handler (BstFileDialog *
self,
111 BstFileDialogHandler handler,
112 gpointer handler_data,
113 GDestroyNotify destroy);
119 constexpr BstFileDialogMode operator& (BstFileDialogMode s1, BstFileDialogMode s2) {
return BstFileDialogMode (s1 & (
long long unsigned) s2); }
120 inline BstFileDialogMode& operator&= (BstFileDialogMode &s1, BstFileDialogMode s2) { s1 = s1 & s2;
return s1; }
121 constexpr BstFileDialogMode operator| (BstFileDialogMode s1, BstFileDialogMode s2) {
return BstFileDialogMode (s1 | (
long long unsigned) s2); }
122 inline BstFileDialogMode& operator|= (BstFileDialogMode &s1, BstFileDialogMode s2) { s1 = s1 | s2;
return s1; }
123 constexpr BstFileDialogMode operator~ (BstFileDialogMode s1) {
return BstFileDialogMode (~(
long long unsigned) s1); }
124 #endif // __cplusplus
Definition: bstfiledialog.hh:43
Definition: bstfiledialog.hh:65