4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
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.
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.
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
22 #ifndef APPEARANCEPREFS_H
23 #define APPEARANCEPREFS_H
25 #include "appearanceprefs.inc"
26 #include "browsebutton.h"
27 #include "colorpicker.h"
28 #include "deleteallindexes.inc"
29 #include "mwindow.inc"
30 #include "preferencesthread.h"
31 #include "shbtnprefs.inc"
34 class AppearancePrefs : public PreferencesDialog
37 AppearancePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
40 void create_objects();
42 int update(int new_value);
45 TimeFormatTimecode *timecode;
46 TimeFormatSamples *samples;
48 TimeFormatFrames *frames;
50 TimeFormatSeconds *seconds;
51 ViewLayoutScale *layout_scale;
52 ViewThumbnails *thumbnails;
53 ViewThumbnailSize *thumbnail_size;
54 ViewViconSize *vicon_size;
55 ViewViconColorMode *vicon_color_mode;
56 YuvColorSpace *yuv_color_space;
57 YuvColorRange *yuv_color_range;
58 Composer_BG_Color *cwdw_bg_color;
62 class TimeFormatHMS : public BC_Radial
65 TimeFormatHMS(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
67 PreferencesWindow *pwindow;
68 AppearancePrefs *tfwindow;
71 class TimeFormatHMSF : public BC_Radial
74 TimeFormatHMSF(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
76 PreferencesWindow *pwindow;
77 AppearancePrefs *tfwindow;
80 class TimeFormatTimecode : public BC_Radial
83 TimeFormatTimecode(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
85 PreferencesWindow *pwindow;
86 AppearancePrefs *tfwindow;
89 class TimeFormatSamples : public BC_Radial
92 TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
94 PreferencesWindow *pwindow;
95 AppearancePrefs *tfwindow;
98 class TimeFormatFrames : public BC_Radial
101 TimeFormatFrames(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
103 PreferencesWindow *pwindow;
104 AppearancePrefs *tfwindow;
107 class TimeFormatHex : public BC_Radial
110 TimeFormatHex(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
112 PreferencesWindow *pwindow;
113 AppearancePrefs *tfwindow;
116 class TimeFormatFeet : public BC_Radial
119 TimeFormatFeet(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
121 PreferencesWindow *pwindow;
122 AppearancePrefs *tfwindow;
125 class TimeFormatSeconds : public BC_Radial
128 TimeFormatSeconds(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
130 PreferencesWindow *pwindow;
131 AppearancePrefs *tfwindow;
134 class TimeFormatFeetSetting : public BC_TextBox
137 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
139 PreferencesWindow *pwindow;
144 class ViewTheme : public BC_PopupMenu
147 ViewTheme(int x, int y, PreferencesWindow *pwindow);
150 void create_objects();
153 PreferencesWindow *pwindow;
156 class ViewThemeItem : public BC_MenuItem
159 ViewThemeItem(ViewTheme *popup, const char *text);
164 class ViewPluginIcons : public BC_PopupMenu
167 ViewPluginIcons(int x, int y, PreferencesWindow *pwindow);
170 void create_objects();
173 PreferencesWindow *pwindow;
176 class ViewPluginIconItem : public BC_MenuItem
179 ViewPluginIconItem(ViewPluginIcons *popup, const char *text);
181 ViewPluginIcons *popup;
184 class LayoutLocale : public BC_PopupMenu
186 static const char *locale_list[];
188 LayoutLocale(int x, int y, PreferencesWindow *pwindow);
191 void create_objects();
194 PreferencesWindow *pwindow;
197 class LayoutLocaleItem : public BC_MenuItem
200 LayoutLocaleItem(LayoutLocale *popup, const char *text);
205 class ViewLayoutScale : public BC_TumbleTextBox
208 ViewLayoutScale(PreferencesWindow *pwindow,
209 AppearancePrefs *aprefs, int x, int y);
211 AppearancePrefs *aprefs;
212 PreferencesWindow *pwindow;
215 class ViewThumbnails : public BC_CheckBox
218 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
220 PreferencesWindow *pwindow;
223 class ViewThumbnailSize : public BC_TumbleTextBox
226 ViewThumbnailSize(PreferencesWindow *pwindow,
227 AppearancePrefs *aprefs, int x, int y);
229 AppearancePrefs *aprefs;
230 PreferencesWindow *pwindow;
233 class ViewViconSize : public BC_TumbleTextBox
236 ViewViconSize(PreferencesWindow *pwindow,
237 AppearancePrefs *aprefs, int x, int y);
239 AppearancePrefs *aprefs;
240 PreferencesWindow *pwindow;
243 class ViewViconColorMode : public BC_PopupMenu
245 static const char *vicon_color_modes[3];
247 ViewViconColorMode(PreferencesWindow *pwindow, int x, int y);
248 ~ViewViconColorMode();
250 void create_objects();
253 PreferencesWindow *pwindow;
256 class ViewViconColorModeItem : public BC_MenuItem
259 ViewViconColorModeItem(ViewViconColorMode *popup, const char *text, int id);
261 ViewViconColorMode *popup;
265 class UseTipWindow : public BC_CheckBox
268 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
270 PreferencesWindow *pwindow;
273 class UseWarnIndecies : public BC_CheckBox
276 UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
278 PreferencesWindow *pwindow;
281 class UseWarnVersion : public BC_CheckBox
284 UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
286 PreferencesWindow *pwindow;
289 class BD_WarnRoot : public BC_CheckBox
292 BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
294 PreferencesWindow *pwindow;
297 class UseWarnFileRef : public BC_CheckBox
300 UseWarnFileRef(PreferencesWindow *pwindow, int x, int y);
302 PreferencesWindow *pwindow;
305 class PopupMenuBtnup : public BC_CheckBox
308 PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
310 PreferencesWindow *pwindow;
313 class GrabFocusPolicy : public BC_CheckBox
316 GrabFocusPolicy(PreferencesWindow *pwindow, int x, int y);
318 PreferencesWindow *pwindow;
321 class ActivateFocusPolicy : public BC_CheckBox
324 ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
326 PreferencesWindow *pwindow;
329 class DeactivateFocusPolicy : public BC_CheckBox
332 DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
334 PreferencesWindow *pwindow;
337 class AutoRotate: public BC_CheckBox
340 AutoRotate(PreferencesWindow *pwindow, int x, int y);
342 PreferencesWindow *pwindow;
345 class ForwardRenderDisplacement : public BC_CheckBox
348 ForwardRenderDisplacement(PreferencesWindow *pwindow, int x, int y);
350 PreferencesWindow *pwindow;
353 class AutocolorAssets : public BC_CheckBox
356 AutocolorAssets(PreferencesWindow *pwindow, int x, int y);
358 PreferencesWindow *pwindow;
361 class HighlightInverseColor : public BC_TextBox
364 HighlightInverseColor(PreferencesWindow *pwindow, int x, int y, const char *hex);
366 PreferencesWindow *pwindow;
369 class YuvColorSpace : public BC_PopupMenu
372 static const char *color_space[3];
373 YuvColorSpace(int x, int y, PreferencesWindow *pwindow);
376 void create_objects();
379 PreferencesWindow *pwindow;
382 class YuvColorSpaceItem : public BC_MenuItem
385 YuvColorSpaceItem(YuvColorSpace *popup, const char *text, int id);
387 YuvColorSpace *popup;
391 class YuvColorRange : public BC_PopupMenu
394 static const char *color_range[2];
395 YuvColorRange(int x, int y, PreferencesWindow *pwindow);
398 void create_objects();
401 PreferencesWindow *pwindow;
404 class YuvColorRangeItem : public BC_MenuItem
407 YuvColorRangeItem(YuvColorRange *popup, const char *text, int id);
409 YuvColorRange *popup;
413 class PerpetualSession : public BC_CheckBox
416 PerpetualSession(int x, int y, PreferencesWindow *pwindow);
418 PreferencesWindow *pwindow;
421 class CtrlToggle : public BC_CheckBox
424 CtrlToggle(int x, int y, PreferencesWindow *pwindow);
426 PreferencesWindow *pwindow;
429 class RectifyAudioToggle : public BC_CheckBox
432 RectifyAudioToggle(int x, int y, PreferencesWindow *pwindow);
434 PreferencesWindow *pwindow;
437 class Composer_BG_Color : public ColorBoxButton
440 Composer_BG_Color(PreferencesWindow *pwindow,
441 int x, int y, int w, int h, int color);
442 ~Composer_BG_Color();
443 void handle_done_event(int result);
444 int handle_new_color(int color, int alpha);
446 PreferencesWindow *pwindow;