add proxy index builds, perperual session, backup.prev, disarmed track indication...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / appearanceprefs.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 APPEARANCEPREFS_H
23 #define APPEARANCEPREFS_H
24
25 #include "appearanceprefs.inc"
26 #include "browsebutton.h"
27 #include "deleteallindexes.inc"
28 #include "mwindow.inc"
29 #include "preferencesthread.h"
30 #include "shbtnprefs.inc"
31
32
33 class AppearancePrefs : public PreferencesDialog
34 {
35 public:
36         AppearancePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
37         ~AppearancePrefs();
38
39         void create_objects();
40
41         int update(int new_value);
42         TimeFormatHMS *hms;
43         TimeFormatHMSF *hmsf;
44         TimeFormatSamples *samples;
45         TimeFormatHex *hex;
46         TimeFormatFrames *frames;
47         TimeFormatFeet *feet;
48         TimeFormatSeconds *seconds;
49         ViewThumbnails *thumbnails;
50         YuvColorSpace *yuv_color_space;
51         YuvColorRange *yuv_color_range;
52         PerpetualSession *perpetual;
53 };
54
55
56 class TimeFormatHMS : public BC_Radial
57 {
58 public:
59         TimeFormatHMS(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
60         int handle_event();
61         PreferencesWindow *pwindow;
62         AppearancePrefs *tfwindow;
63 };
64
65 class TimeFormatHMSF : public BC_Radial
66 {
67 public:
68         TimeFormatHMSF(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
69         int handle_event();
70         PreferencesWindow *pwindow;
71         AppearancePrefs *tfwindow;
72 };
73
74 class TimeFormatSamples : public BC_Radial
75 {
76 public:
77         TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
78         int handle_event();
79         PreferencesWindow *pwindow;
80         AppearancePrefs *tfwindow;
81 };
82
83 class TimeFormatFrames : public BC_Radial
84 {
85 public:
86         TimeFormatFrames(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
87         int handle_event();
88         PreferencesWindow *pwindow;
89         AppearancePrefs *tfwindow;
90 };
91
92 class TimeFormatHex : public BC_Radial
93 {
94 public:
95         TimeFormatHex(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
96         int handle_event();
97         PreferencesWindow *pwindow;
98         AppearancePrefs *tfwindow;
99 };
100
101 class TimeFormatFeet : public BC_Radial
102 {
103 public:
104         TimeFormatFeet(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
105         int handle_event();
106         PreferencesWindow *pwindow;
107         AppearancePrefs *tfwindow;
108 };
109
110 class TimeFormatSeconds : public BC_Radial
111 {
112 public:
113         TimeFormatSeconds(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
114         int handle_event();
115         PreferencesWindow *pwindow;
116         AppearancePrefs *tfwindow;
117 };
118
119 class TimeFormatFeetSetting : public BC_TextBox
120 {
121 public:
122         TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
123         int handle_event();
124         PreferencesWindow *pwindow;
125 };
126
127
128
129 class ViewTheme : public BC_PopupMenu
130 {
131 public:
132         ViewTheme(int x, int y, PreferencesWindow *pwindow);
133         ~ViewTheme();
134
135         void create_objects();
136         int handle_event();
137
138         PreferencesWindow *pwindow;
139 };
140
141 class ViewThemeItem : public BC_MenuItem
142 {
143 public:
144         ViewThemeItem(ViewTheme *popup, const char *text);
145         int handle_event();
146         ViewTheme *popup;
147 };
148
149 class ViewPluginIcons : public BC_PopupMenu
150 {
151 public:
152         ViewPluginIcons(int x, int y, PreferencesWindow *pwindow);
153         ~ViewPluginIcons();
154
155         void create_objects();
156         int handle_event();
157
158         PreferencesWindow *pwindow;
159 };
160
161 class ViewPluginIconItem : public BC_MenuItem
162 {
163 public:
164         ViewPluginIconItem(ViewPluginIcons *popup, const char *text);
165         int handle_event();
166         ViewPluginIcons *popup;
167 };
168
169 class ViewThumbnails : public BC_CheckBox
170 {
171 public:
172         ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
173         int handle_event();
174         PreferencesWindow *pwindow;
175 };
176
177 class UseTipWindow : public BC_CheckBox
178 {
179 public:
180         UseTipWindow(PreferencesWindow *pwindow, int x, int y);
181         int handle_event();
182         PreferencesWindow *pwindow;
183 };
184
185 class UseWarnIndecies : public BC_CheckBox
186 {
187 public:
188         UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
189         int handle_event();
190         PreferencesWindow *pwindow;
191 };
192
193 class UseWarnVersion : public BC_CheckBox
194 {
195 public:
196         UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
197         int handle_event();
198         PreferencesWindow *pwindow;
199 };
200
201 class BD_WarnRoot : public BC_CheckBox
202 {
203 public:
204         BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
205         int handle_event();
206         PreferencesWindow *pwindow;
207 };
208
209 class PopupMenuBtnup : public BC_CheckBox
210 {
211 public:
212         PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
213         int handle_event();
214         PreferencesWindow *pwindow;
215 };
216
217 class GrabFocusPolicy : public BC_CheckBox
218 {
219 public:
220         GrabFocusPolicy(PreferencesWindow *pwindow, int x, int y);
221         int handle_event();
222         PreferencesWindow *pwindow;
223 };
224
225 class ActivateFocusPolicy : public BC_CheckBox
226 {
227 public:
228         ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
229         int handle_event();
230         PreferencesWindow *pwindow;
231 };
232
233 class DeactivateFocusPolicy : public BC_CheckBox
234 {
235 public:
236         DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
237         int handle_event();
238         PreferencesWindow *pwindow;
239 };
240
241 class ForwardRenderDisplacement : public BC_CheckBox
242 {
243 public:
244         ForwardRenderDisplacement(PreferencesWindow *pwindow, int x, int y);
245         int handle_event();
246         PreferencesWindow *pwindow;
247 };
248
249 class HighlightInverseColor : public BC_TextBox
250 {
251 public:
252         HighlightInverseColor(PreferencesWindow *pwindow, int x, int y, const char *hex);
253         int handle_event();
254         PreferencesWindow *pwindow;
255 };
256
257 class YuvColorSpace : public BC_PopupMenu
258 {
259         static const char *color_space[3];
260 public:
261         YuvColorSpace(int x, int y, PreferencesWindow *pwindow);
262         ~YuvColorSpace();
263
264         void create_objects();
265         int handle_event();
266
267         PreferencesWindow *pwindow;
268 };
269
270 class YuvColorSpaceItem : public BC_MenuItem
271 {
272 public:
273         YuvColorSpaceItem(YuvColorSpace *popup, const char *text, int id);
274         int handle_event();
275         YuvColorSpace *popup;
276         int id;
277 };
278
279 class YuvColorRange : public BC_PopupMenu
280 {
281         static const char *color_range[2];
282 public:
283         YuvColorRange(int x, int y, PreferencesWindow *pwindow);
284         ~YuvColorRange();
285
286         void create_objects();
287         int handle_event();
288
289         PreferencesWindow *pwindow;
290 };
291
292 class YuvColorRangeItem : public BC_MenuItem
293 {
294 public:
295         YuvColorRangeItem(YuvColorRange *popup, const char *text, int id);
296         int handle_event();
297         YuvColorRange *popup;
298         int id;
299 };
300
301 class PerpetualSession : public BC_CheckBox
302 {
303 public:
304         PerpetualSession(int x, int y, PreferencesWindow *pwindow);
305         int handle_event();
306         PreferencesWindow *pwindow;
307 };
308
309 #endif