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 TimeFormatSamples *samples;
47 TimeFormatFrames *frames;
49 TimeFormatSeconds *seconds;
50 ViewThumbnails *thumbnails;
51 ViewThumbnailSize *thumbnail_size;
52 ViewViconSize *vicon_size;
53 ViewViconColorMode *vicon_color_mode;
54 YuvColorSpace *yuv_color_space;
55 YuvColorRange *yuv_color_range;
56 Composer_BG_Color *cwdw_bg_color;
60 class TimeFormatHMS : public BC_Radial
63 TimeFormatHMS(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
65 PreferencesWindow *pwindow;
66 AppearancePrefs *tfwindow;
69 class TimeFormatHMSF : public BC_Radial
72 TimeFormatHMSF(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
74 PreferencesWindow *pwindow;
75 AppearancePrefs *tfwindow;
78 class TimeFormatSamples : public BC_Radial
81 TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
83 PreferencesWindow *pwindow;
84 AppearancePrefs *tfwindow;
87 class TimeFormatFrames : public BC_Radial
90 TimeFormatFrames(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
92 PreferencesWindow *pwindow;
93 AppearancePrefs *tfwindow;
96 class TimeFormatHex : public BC_Radial
99 TimeFormatHex(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
101 PreferencesWindow *pwindow;
102 AppearancePrefs *tfwindow;
105 class TimeFormatFeet : public BC_Radial
108 TimeFormatFeet(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
110 PreferencesWindow *pwindow;
111 AppearancePrefs *tfwindow;
114 class TimeFormatSeconds : public BC_Radial
117 TimeFormatSeconds(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
119 PreferencesWindow *pwindow;
120 AppearancePrefs *tfwindow;
123 class TimeFormatFeetSetting : public BC_TextBox
126 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
128 PreferencesWindow *pwindow;
133 class ViewTheme : public BC_PopupMenu
136 ViewTheme(int x, int y, PreferencesWindow *pwindow);
139 void create_objects();
142 PreferencesWindow *pwindow;
145 class ViewThemeItem : public BC_MenuItem
148 ViewThemeItem(ViewTheme *popup, const char *text);
153 class ViewPluginIcons : public BC_PopupMenu
156 ViewPluginIcons(int x, int y, PreferencesWindow *pwindow);
159 void create_objects();
162 PreferencesWindow *pwindow;
165 class ViewPluginIconItem : public BC_MenuItem
168 ViewPluginIconItem(ViewPluginIcons *popup, const char *text);
170 ViewPluginIcons *popup;
173 class ViewThumbnails : public BC_CheckBox
176 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
178 PreferencesWindow *pwindow;
181 class ViewThumbnailSize : public BC_TumbleTextBox
184 ViewThumbnailSize(PreferencesWindow *pwindow,
185 AppearancePrefs *aprefs, int x, int y);
187 AppearancePrefs *aprefs;
188 PreferencesWindow *pwindow;
191 class ViewViconSize : public BC_TumbleTextBox
194 ViewViconSize(PreferencesWindow *pwindow,
195 AppearancePrefs *aprefs, int x, int y);
197 AppearancePrefs *aprefs;
198 PreferencesWindow *pwindow;
201 class ViewViconColorMode : public BC_PopupMenu
203 static const char *vicon_color_modes[3];
205 ViewViconColorMode(PreferencesWindow *pwindow, int x, int y);
206 ~ViewViconColorMode();
208 void create_objects();
211 PreferencesWindow *pwindow;
214 class ViewViconColorModeItem : public BC_MenuItem
217 ViewViconColorModeItem(ViewViconColorMode *popup, const char *text, int id);
219 ViewViconColorMode *popup;
223 class UseTipWindow : public BC_CheckBox
226 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
228 PreferencesWindow *pwindow;
231 class UseWarnIndecies : public BC_CheckBox
234 UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
236 PreferencesWindow *pwindow;
239 class UseWarnVersion : public BC_CheckBox
242 UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
244 PreferencesWindow *pwindow;
247 class BD_WarnRoot : public BC_CheckBox
250 BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
252 PreferencesWindow *pwindow;
255 class PopupMenuBtnup : public BC_CheckBox
258 PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
260 PreferencesWindow *pwindow;
263 class GrabFocusPolicy : public BC_CheckBox
266 GrabFocusPolicy(PreferencesWindow *pwindow, int x, int y);
268 PreferencesWindow *pwindow;
271 class ActivateFocusPolicy : public BC_CheckBox
274 ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
276 PreferencesWindow *pwindow;
279 class DeactivateFocusPolicy : public BC_CheckBox
282 DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
284 PreferencesWindow *pwindow;
287 class ForwardRenderDisplacement : public BC_CheckBox
290 ForwardRenderDisplacement(PreferencesWindow *pwindow, int x, int y);
292 PreferencesWindow *pwindow;
295 class AutocolorAssets : public BC_CheckBox
298 AutocolorAssets(PreferencesWindow *pwindow, int x, int y);
300 PreferencesWindow *pwindow;
303 class HighlightInverseColor : public BC_TextBox
306 HighlightInverseColor(PreferencesWindow *pwindow, int x, int y, const char *hex);
308 PreferencesWindow *pwindow;
311 class YuvColorSpace : public BC_PopupMenu
313 static const char *color_space[3];
315 YuvColorSpace(int x, int y, PreferencesWindow *pwindow);
318 void create_objects();
321 PreferencesWindow *pwindow;
324 class YuvColorSpaceItem : public BC_MenuItem
327 YuvColorSpaceItem(YuvColorSpace *popup, const char *text, int id);
329 YuvColorSpace *popup;
333 class YuvColorRange : public BC_PopupMenu
335 static const char *color_range[2];
337 YuvColorRange(int x, int y, PreferencesWindow *pwindow);
340 void create_objects();
343 PreferencesWindow *pwindow;
346 class YuvColorRangeItem : public BC_MenuItem
349 YuvColorRangeItem(YuvColorRange *popup, const char *text, int id);
351 YuvColorRange *popup;
355 class PerpetualSession : public BC_CheckBox
358 PerpetualSession(int x, int y, PreferencesWindow *pwindow);
360 PreferencesWindow *pwindow;
363 class CtrlToggle : public BC_CheckBox
366 CtrlToggle(int x, int y, PreferencesWindow *pwindow);
368 PreferencesWindow *pwindow;
371 class RectifyAudioToggle : public BC_CheckBox
374 RectifyAudioToggle(int x, int y, PreferencesWindow *pwindow);
376 PreferencesWindow *pwindow;
379 class Composer_BG_Color : public ColorBoxButton
382 Composer_BG_Color(PreferencesWindow *pwindow,
383 int x, int y, int w, int h, int color, int alpha);
384 ~Composer_BG_Color();
385 void handle_done_event(int result);
386 int handle_new_color(int color, int alpha);
388 PreferencesWindow *pwindow;