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