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 super, wave_repo;
68 GxkDialogClass parent_class;
73 GType bst_file_dialog_get_type (
void);
74 GtkWidget* bst_file_dialog_popup_open_project (gpointer parent_widget);
75 GtkWidget* bst_file_dialog_popup_merge_project (gpointer parent_widget,
Bse::ProjectH project);
76 GtkWidget* bst_file_dialog_popup_import_midi (gpointer parent_widget,
Bse::ProjectH project);
77 GtkWidget* bst_file_dialog_popup_save_project (gpointer parent_widget,
Bse::ProjectH project,
78 gboolean query_project_name, gboolean apply_project_name);
79 GtkWidget* bst_file_dialog_popup_merge_effect (gpointer parent_widget,
Bse::ProjectH project);
80 GtkWidget* bst_file_dialog_popup_save_effect (gpointer parent_widget,
Bse::ProjectH project, SfiProxy super);
81 GtkWidget* bst_file_dialog_popup_save_instrument (gpointer parent_widget,
Bse::ProjectH project, SfiProxy super);
82 GtkWidget* bst_file_dialog_popup_merge_instrument (gpointer parent_widget,
Bse::ProjectH project);
83 GtkWidget* bst_file_dialog_popup_select_file (gpointer parent_widget);
84 GtkWidget* bst_file_dialog_popup_select_dir (gpointer parent_widget);
85 GtkWidget* bst_file_dialog_popup_load_wave (gpointer parent_widget,
88 void bst_file_dialog_set_mode (BstFileDialog *
self, gpointer parent_widget, BstFileDialogMode mode,
90 SfiProxy wave_repo = 0);
91 GtkWidget* bst_file_dialog_create (
void);
92 void bst_file_dialog_setup (GtkWidget *widget,
93 gpointer parent_widget,
95 const gchar *search_path);
96 typedef void (*BstFileDialogHandler) (GtkWidget *dialog,
99 void bst_file_dialog_set_handler (BstFileDialog *
self,
100 BstFileDialogHandler handler,
101 gpointer handler_data,
102 GDestroyNotify destroy);
108 constexpr BstFileDialogMode operator& (BstFileDialogMode s1, BstFileDialogMode s2) {
return BstFileDialogMode (s1 & (
long long unsigned) s2); }
109 inline BstFileDialogMode& operator&= (BstFileDialogMode &s1, BstFileDialogMode s2) { s1 = s1 & s2;
return s1; }
110 constexpr BstFileDialogMode operator| (BstFileDialogMode s1, BstFileDialogMode s2) {
return BstFileDialogMode (s1 | (
long long unsigned) s2); }
111 inline BstFileDialogMode& operator|= (BstFileDialogMode &s1, BstFileDialogMode s2) { s1 = s1 | s2;
return s1; }
112 constexpr BstFileDialogMode operator~ (BstFileDialogMode s1) {
return BstFileDialogMode (~(
long long unsigned) s1); }
113 #endif // __cplusplus
See also the corresponding IDL class Project.
Definition: bseclientapi.hh:979
Definition: bstfiledialog.hh:43
Definition: bstfiledialog.hh:66