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 ViewLayoutScale *layout_scale;
51 ViewThumbnails *thumbnails;
52 ViewThumbnailSize *thumbnail_size;
53 ViewViconSize *vicon_size;
54 ViewViconColorMode *vicon_color_mode;
55 YuvColorSpace *yuv_color_space;
56 YuvColorRange *yuv_color_range;
57 Composer_BG_Color *cwdw_bg_color;
61 class TimeFormatHMS : public BC_Radial
64 TimeFormatHMS(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
66 PreferencesWindow *pwindow;
67 AppearancePrefs *tfwindow;
70 class TimeFormatHMSF : public BC_Radial
73 TimeFormatHMSF(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
75 PreferencesWindow *pwindow;
76 AppearancePrefs *tfwindow;
79 class TimeFormatSamples : public BC_Radial
82 TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
84 PreferencesWindow *pwindow;
85 AppearancePrefs *tfwindow;
88 class TimeFormatFrames : public BC_Radial
91 TimeFormatFrames(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
93 PreferencesWindow *pwindow;
94 AppearancePrefs *tfwindow;
97 class TimeFormatHex : public BC_Radial
100 TimeFormatHex(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
102 PreferencesWindow *pwindow;
103 AppearancePrefs *tfwindow;
106 class TimeFormatFeet : public BC_Radial
109 TimeFormatFeet(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
111 PreferencesWindow *pwindow;
112 AppearancePrefs *tfwindow;
115 class TimeFormatSeconds : public BC_Radial
118 TimeFormatSeconds(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
120 PreferencesWindow *pwindow;
121 AppearancePrefs *tfwindow;
124 class TimeFormatFeetSetting : public BC_TextBox
127 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
129 PreferencesWindow *pwindow;
134 class ViewTheme : public BC_PopupMenu
137 ViewTheme(int x, int y, PreferencesWindow *pwindow);
140 void create_objects();
143 PreferencesWindow *pwindow;
146 class ViewThemeItem : public BC_MenuItem
149 ViewThemeItem(ViewTheme *popup, const char *text);
154 class ViewPluginIcons : public BC_PopupMenu
157 ViewPluginIcons(int x, int y, PreferencesWindow *pwindow);
160 void create_objects();
163 PreferencesWindow *pwindow;
166 class ViewPluginIconItem : public BC_MenuItem
169 ViewPluginIconItem(ViewPluginIcons *popup, const char *text);
171 ViewPluginIcons *popup;
174 class ViewLayoutScale : public BC_TumbleTextBox
177 ViewLayoutScale(PreferencesWindow *pwindow,
178 AppearancePrefs *aprefs, int x, int y);
180 AppearancePrefs *aprefs;
181 PreferencesWindow *pwindow;
184 class ViewThumbnails : public BC_CheckBox
187 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
189 PreferencesWindow *pwindow;
192 class ViewThumbnailSize : public BC_TumbleTextBox
195 ViewThumbnailSize(PreferencesWindow *pwindow,
196 AppearancePrefs *aprefs, int x, int y);
198 AppearancePrefs *aprefs;
199 PreferencesWindow *pwindow;
202 class ViewViconSize : public BC_TumbleTextBox
205 ViewViconSize(PreferencesWindow *pwindow,
206 AppearancePrefs *aprefs, int x, int y);
208 AppearancePrefs *aprefs;
209 PreferencesWindow *pwindow;
212 class ViewViconColorMode : public BC_PopupMenu
214 static const char *vicon_color_modes[3];
216 ViewViconColorMode(PreferencesWindow *pwindow, int x, int y);
217 ~ViewViconColorMode();
219 void create_objects();
222 PreferencesWindow *pwindow;
225 class ViewViconColorModeItem : public BC_MenuItem
228 ViewViconColorModeItem(ViewViconColorMode *popup, const char *text, int id);
230 ViewViconColorMode *popup;
234 class UseTipWindow : public BC_CheckBox
237 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
239 PreferencesWindow *pwindow;
242 class UseWarnIndecies : public BC_CheckBox
245 UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
247 PreferencesWindow *pwindow;
250 class UseWarnVersion : public BC_CheckBox
253 UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
255 PreferencesWindow *pwindow;
258 class BD_WarnRoot : public BC_CheckBox
261 BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
263 PreferencesWindow *pwindow;
266 class PopupMenuBtnup : public BC_CheckBox
269 PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
271 PreferencesWindow *pwindow;
274 class GrabFocusPolicy : public BC_CheckBox
277 GrabFocusPolicy(PreferencesWindow *pwindow, int x, int y);
279 PreferencesWindow *pwindow;
282 class ActivateFocusPolicy : public BC_CheckBox
285 ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
287 PreferencesWindow *pwindow;
290 class DeactivateFocusPolicy : public BC_CheckBox
293 DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
295 PreferencesWindow *pwindow;
298 class ForwardRenderDisplacement : public BC_CheckBox
301 ForwardRenderDisplacement(PreferencesWindow *pwindow, int x, int y);
303 PreferencesWindow *pwindow;
306 class AutocolorAssets : public BC_CheckBox
309 AutocolorAssets(PreferencesWindow *pwindow, int x, int y);
311 PreferencesWindow *pwindow;
314 class HighlightInverseColor : public BC_TextBox
317 HighlightInverseColor(PreferencesWindow *pwindow, int x, int y, const char *hex);
319 PreferencesWindow *pwindow;
322 class YuvColorSpace : public BC_PopupMenu
324 static const char *color_space[3];
326 YuvColorSpace(int x, int y, PreferencesWindow *pwindow);
329 void create_objects();
332 PreferencesWindow *pwindow;
335 class YuvColorSpaceItem : public BC_MenuItem
338 YuvColorSpaceItem(YuvColorSpace *popup, const char *text, int id);
340 YuvColorSpace *popup;
344 class YuvColorRange : public BC_PopupMenu
346 static const char *color_range[2];
348 YuvColorRange(int x, int y, PreferencesWindow *pwindow);
351 void create_objects();
354 PreferencesWindow *pwindow;
357 class YuvColorRangeItem : public BC_MenuItem
360 YuvColorRangeItem(YuvColorRange *popup, const char *text, int id);
362 YuvColorRange *popup;
366 class PerpetualSession : public BC_CheckBox
369 PerpetualSession(int x, int y, PreferencesWindow *pwindow);
371 PreferencesWindow *pwindow;
374 class CtrlToggle : public BC_CheckBox
377 CtrlToggle(int x, int y, PreferencesWindow *pwindow);
379 PreferencesWindow *pwindow;
382 class RectifyAudioToggle : public BC_CheckBox
385 RectifyAudioToggle(int x, int y, PreferencesWindow *pwindow);
387 PreferencesWindow *pwindow;
390 class Composer_BG_Color : public ColorBoxButton
393 Composer_BG_Color(PreferencesWindow *pwindow,
394 int x, int y, int w, int h, int color, int alpha);
395 ~Composer_BG_Color();
396 void handle_done_event(int result);
397 int handle_new_color(int color, int alpha);
399 PreferencesWindow *pwindow;