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 "deleteallindexes.inc"
28 #include "mwindow.inc"
29 #include "preferencesthread.h"
30 #include "shbtnprefs.inc"
33 class AppearancePrefs : public PreferencesDialog
36 AppearancePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
39 void create_objects();
41 int update(int new_value);
44 TimeFormatSamples *samples;
46 TimeFormatFrames *frames;
48 TimeFormatSeconds *seconds;
49 ViewThumbnails *thumbnails;
50 ViewThumbnailSize *thumbnail_size;
51 ViewViconSize *vicon_size;
52 ViewViconColorMode *vicon_color_mode;
53 YuvColorSpace *yuv_color_space;
54 YuvColorRange *yuv_color_range;
58 class TimeFormatHMS : public BC_Radial
61 TimeFormatHMS(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
63 PreferencesWindow *pwindow;
64 AppearancePrefs *tfwindow;
67 class TimeFormatHMSF : public BC_Radial
70 TimeFormatHMSF(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
72 PreferencesWindow *pwindow;
73 AppearancePrefs *tfwindow;
76 class TimeFormatSamples : public BC_Radial
79 TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
81 PreferencesWindow *pwindow;
82 AppearancePrefs *tfwindow;
85 class TimeFormatFrames : public BC_Radial
88 TimeFormatFrames(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
90 PreferencesWindow *pwindow;
91 AppearancePrefs *tfwindow;
94 class TimeFormatHex : public BC_Radial
97 TimeFormatHex(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
99 PreferencesWindow *pwindow;
100 AppearancePrefs *tfwindow;
103 class TimeFormatFeet : public BC_Radial
106 TimeFormatFeet(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
108 PreferencesWindow *pwindow;
109 AppearancePrefs *tfwindow;
112 class TimeFormatSeconds : public BC_Radial
115 TimeFormatSeconds(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
117 PreferencesWindow *pwindow;
118 AppearancePrefs *tfwindow;
121 class TimeFormatFeetSetting : public BC_TextBox
124 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
126 PreferencesWindow *pwindow;
131 class ViewTheme : public BC_PopupMenu
134 ViewTheme(int x, int y, PreferencesWindow *pwindow);
137 void create_objects();
140 PreferencesWindow *pwindow;
143 class ViewThemeItem : public BC_MenuItem
146 ViewThemeItem(ViewTheme *popup, const char *text);
151 class ViewPluginIcons : public BC_PopupMenu
154 ViewPluginIcons(int x, int y, PreferencesWindow *pwindow);
157 void create_objects();
160 PreferencesWindow *pwindow;
163 class ViewPluginIconItem : public BC_MenuItem
166 ViewPluginIconItem(ViewPluginIcons *popup, const char *text);
168 ViewPluginIcons *popup;
171 class ViewThumbnails : public BC_CheckBox
174 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
176 PreferencesWindow *pwindow;
179 class ViewThumbnailSize : public BC_TumbleTextBox
182 ViewThumbnailSize(PreferencesWindow *pwindow,
183 AppearancePrefs *aprefs, int x, int y);
185 AppearancePrefs *aprefs;
186 PreferencesWindow *pwindow;
189 class ViewViconSize : public BC_TumbleTextBox
192 ViewViconSize(PreferencesWindow *pwindow,
193 AppearancePrefs *aprefs, int x, int y);
195 AppearancePrefs *aprefs;
196 PreferencesWindow *pwindow;
199 class ViewViconColorMode : public BC_PopupMenu
201 static const char *vicon_color_modes[3];
203 ViewViconColorMode(PreferencesWindow *pwindow, int x, int y);
204 ~ViewViconColorMode();
206 void create_objects();
209 PreferencesWindow *pwindow;
212 class ViewViconColorModeItem : public BC_MenuItem
215 ViewViconColorModeItem(ViewViconColorMode *popup, const char *text, int id);
217 ViewViconColorMode *popup;
221 class UseTipWindow : public BC_CheckBox
224 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
226 PreferencesWindow *pwindow;
229 class UseWarnIndecies : public BC_CheckBox
232 UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
234 PreferencesWindow *pwindow;
237 class UseWarnVersion : public BC_CheckBox
240 UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
242 PreferencesWindow *pwindow;
245 class BD_WarnRoot : public BC_CheckBox
248 BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
250 PreferencesWindow *pwindow;
253 class PopupMenuBtnup : public BC_CheckBox
256 PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
258 PreferencesWindow *pwindow;
261 class GrabFocusPolicy : public BC_CheckBox
264 GrabFocusPolicy(PreferencesWindow *pwindow, int x, int y);
266 PreferencesWindow *pwindow;
269 class ActivateFocusPolicy : public BC_CheckBox
272 ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
274 PreferencesWindow *pwindow;
277 class DeactivateFocusPolicy : public BC_CheckBox
280 DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
282 PreferencesWindow *pwindow;
285 class ForwardRenderDisplacement : public BC_CheckBox
288 ForwardRenderDisplacement(PreferencesWindow *pwindow, int x, int y);
290 PreferencesWindow *pwindow;
293 class HighlightInverseColor : public BC_TextBox
296 HighlightInverseColor(PreferencesWindow *pwindow, int x, int y, const char *hex);
298 PreferencesWindow *pwindow;
301 class YuvColorSpace : public BC_PopupMenu
303 static const char *color_space[3];
305 YuvColorSpace(int x, int y, PreferencesWindow *pwindow);
308 void create_objects();
311 PreferencesWindow *pwindow;
314 class YuvColorSpaceItem : public BC_MenuItem
317 YuvColorSpaceItem(YuvColorSpace *popup, const char *text, int id);
319 YuvColorSpace *popup;
323 class YuvColorRange : public BC_PopupMenu
325 static const char *color_range[2];
327 YuvColorRange(int x, int y, PreferencesWindow *pwindow);
330 void create_objects();
333 PreferencesWindow *pwindow;
336 class YuvColorRangeItem : public BC_MenuItem
339 YuvColorRangeItem(YuvColorRange *popup, const char *text, int id);
341 YuvColorRange *popup;
345 class PerpetualSession : public BC_CheckBox
348 PerpetualSession(int x, int y, PreferencesWindow *pwindow);
350 PreferencesWindow *pwindow;