fullscreen segv fix, popup for 4opts preview, renderfarm print fix, pan widget upgrad...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / presetsgui.h
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
5  * 
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  * 
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  * 
20  */
21
22 #ifndef PRESETSGUI_H
23 #define PRESETSGUI_H
24
25
26 // Presets for effects & transitions
27 #if 0
28
29 #include "bcdialog.h"
30 #include "guicast.h"
31 #include "mwindow.inc"
32 #include "plugin.inc"
33 #include "presets.inc"
34
35 class PresetsWindow;
36
37
38
39
40
41 class PresetsThread : public BC_DialogThread
42 {
43 public:
44         PresetsThread(MWindow *mwindow);
45         ~PresetsThread();
46
47         void calculate_list();
48         void start_window(Plugin *plugin);
49         BC_Window* new_gui();
50         void handle_done_event(int result);
51         void handle_close_event(int result);
52         void save_preset(char *title);
53         void delete_preset(char *title);
54         void apply_preset(char *title);
55
56         char window_title[BCTEXTLEN];
57         char plugin_title[BCTEXTLEN];
58         MWindow *mwindow;
59         Plugin *plugin;
60         ArrayList<BC_ListBoxItem*> *data;
61         PresetsDB *presets_db;
62 };
63
64 class PresetsList : public BC_ListBox
65 {
66 public:
67         PresetsList(PresetsThread *thread,
68                 PresetsWindow *window,
69                 int x,
70                 int y,
71                 int w, 
72                 int h);
73         int selection_changed();
74         int handle_event();
75         PresetsThread *thread;
76         PresetsWindow *window;
77 };
78
79 class PresetsText : public BC_TextBox
80 {
81 public:
82         PresetsText(PresetsThread *thread,
83                 PresetsWindow *window,
84                 int x,
85                 int y,
86                 int w);
87         int handle_event();
88         PresetsThread *thread;
89         PresetsWindow *window;
90 };
91
92
93 class PresetsDelete : public BC_GenericButton
94 {
95 public:
96         PresetsDelete(PresetsThread *thread,
97                 PresetsWindow *window,
98                 int x,
99                 int y);
100         int handle_event();
101         PresetsThread *thread;
102         PresetsWindow *window;
103 };
104
105 class PresetsSave : public BC_GenericButton
106 {
107 public:
108         PresetsSave(PresetsThread *thread,
109                 PresetsWindow *window,
110                 int x,
111                 int y);
112         int handle_event();
113         PresetsThread *thread;
114         PresetsWindow *window;
115 };
116
117 class PresetsApply : public BC_GenericButton
118 {
119 public:
120         PresetsApply(PresetsThread *thread,
121                 PresetsWindow *window,
122                 int x,
123                 int y);
124         int handle_event();
125         PresetsThread *thread;
126         PresetsWindow *window;
127 };
128
129 class PresetsOK : public BC_OKButton
130 {
131 public:
132         PresetsOK(PresetsThread *thread,
133                 PresetsWindow *window);
134         int keypress_event();
135         PresetsThread *thread;
136         PresetsWindow *window;
137 };
138
139
140 class PresetsWindow : public BC_Window
141 {
142 public:
143         PresetsWindow(MWindow *mwindow,
144                 PresetsThread *thread,
145                 int x,
146                 int y,
147                 char *title_string);
148
149         void create_objects();
150         int resize_event(int w, int h);
151
152         PresetsList *list;
153         PresetsText *title_text;
154         PresetsDelete *delete_button;
155         PresetsSave *save_button;
156         PresetsApply *apply_button;
157         BC_Title *title1;
158         BC_Title *title2;
159         MWindow *mwindow;
160         PresetsThread *thread;
161 };
162
163
164
165 #endif
166
167 #endif
168
169
170