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 INTERFACEPREFS_H
23 #define INTERFACEPREFS_H
30 class TimeFormatSamples;
31 class TimeFormatFrames;
34 class TimeFormatSeconds;
39 class ViewBehaviourText;
44 class StillImageUseDuration;
45 class StillImageDuration;
46 class KeyframeReticle;
49 #include "browsebutton.h"
50 #include "deleteallindexes.inc"
51 #include "mwindow.inc"
52 #include "preferencesthread.h"
53 #include "shbtnprefs.inc"
56 class InterfacePrefs : public PreferencesDialog
59 InterfacePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
62 void create_objects();
63 // must delete each derived class
64 int update(int new_value);
65 const char* behavior_to_text(int mode);
66 int start_shbtn_dialog();
71 IndexPathText *ipathtext;
72 DeleteAllIndexes *deleteall;
76 TimeFormatSamples *samples;
78 TimeFormatFrames *frames;
80 TimeFormatSeconds *seconds;
85 // MeterVUInt *vu_int;
86 ViewBehaviourText *button1, *button2, *button3;
87 ViewThumbnails *thumbnails;
88 ShBtnEditDialog *shbtn_dialog;
89 KeyframeReticle *keyframe_reticle;
93 class IndexPathText : public BC_TextBox
96 IndexPathText(int x, int y, PreferencesWindow *pwindow, char *text);
99 PreferencesWindow *pwindow;
102 class IndexSize : public BC_TextBox
105 IndexSize(int x, int y, PreferencesWindow *pwindow, char *text);
107 PreferencesWindow *pwindow;
111 class IndexCount : public BC_TextBox
114 IndexCount(int x, int y, PreferencesWindow *pwindow, char *text);
116 PreferencesWindow *pwindow;
119 class TimeFormatHMS : public BC_Radial
122 TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
124 PreferencesWindow *pwindow;
125 InterfacePrefs *tfwindow;
128 class TimeFormatHMSF : public BC_Radial
131 TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
133 PreferencesWindow *pwindow;
134 InterfacePrefs *tfwindow;
137 class TimeFormatSamples : public BC_Radial
140 TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
142 PreferencesWindow *pwindow;
143 InterfacePrefs *tfwindow;
146 class TimeFormatFrames : public BC_Radial
149 TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
151 PreferencesWindow *pwindow;
152 InterfacePrefs *tfwindow;
155 class TimeFormatHex : public BC_Radial
158 TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
160 PreferencesWindow *pwindow;
161 InterfacePrefs *tfwindow;
164 class TimeFormatFeet : public BC_Radial
167 TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
169 PreferencesWindow *pwindow;
170 InterfacePrefs *tfwindow;
173 class TimeFormatSeconds : public BC_Radial
176 TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
178 PreferencesWindow *pwindow;
179 InterfacePrefs *tfwindow;
182 class TimeFormatFeetSetting : public BC_TextBox
185 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
187 PreferencesWindow *pwindow;
192 class MeterMinDB : public BC_TextBox
195 MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
197 PreferencesWindow *pwindow;
201 class MeterMaxDB : public BC_TextBox
204 MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
206 PreferencesWindow *pwindow;
209 class MeterVUDB : public BC_Radial
212 MeterVUDB(PreferencesWindow *pwindow, char *text, int y);
214 // MeterVUInt *vu_int;
215 PreferencesWindow *pwindow;
218 class MeterVUInt : public BC_Radial
221 MeterVUInt(PreferencesWindow *pwindow, char *text, int y);
224 PreferencesWindow *pwindow;
227 class ViewBehaviourText : public BC_PopupMenu
230 ViewBehaviourText(int x,
233 PreferencesWindow *pwindow,
235 ~ViewBehaviourText();
237 int handle_event(); // user copies text to value here
238 void create_objects(); // add initial items
239 InterfacePrefs *tfwindow;
243 class ViewBehaviourItem : public BC_MenuItem
246 ViewBehaviourItem(ViewBehaviourText *popup, char *text, int behaviour);
247 ~ViewBehaviourItem();
250 ViewBehaviourText *popup;
254 class ViewTheme : public BC_PopupMenu
257 ViewTheme(int x, int y, PreferencesWindow *pwindow);
260 void create_objects();
263 PreferencesWindow *pwindow;
266 class ViewThumbnails : public BC_CheckBox
269 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
271 PreferencesWindow *pwindow;
274 class ViewThemeItem : public BC_MenuItem
277 ViewThemeItem(ViewTheme *popup, char *text);
282 class UseTipWindow : public BC_CheckBox
285 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
287 PreferencesWindow *pwindow;
290 class UseWarnIndecies : public BC_CheckBox
293 UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
295 PreferencesWindow *pwindow;
298 class UseWarnVersion : public BC_CheckBox
301 UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
303 PreferencesWindow *pwindow;
306 class BD_WarnRoot : public BC_CheckBox
309 BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
311 PreferencesWindow *pwindow;
314 class ScanCommercials : public BC_CheckBox
317 ScanCommercials(PreferencesWindow *pwindow, int x, int y);
319 PreferencesWindow *pwindow;
322 class AndroidRemote : public BC_CheckBox
325 AndroidRemote(PreferencesWindow *pwindow, int x, int y);
327 PreferencesWindow *pwindow;
330 class PopupMenuBtnup : public BC_CheckBox
333 PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
335 PreferencesWindow *pwindow;
338 class TextboxFocusPolicy : public BC_CheckBox
341 TextboxFocusPolicy(PreferencesWindow *pwindow, int x, int y);
343 PreferencesWindow *pwindow;
346 class AndroidPIN : public BC_TextBox
349 PreferencesWindow *pwindow;
351 AndroidPIN(PreferencesWindow *pwindow, int x, int y);
354 class AndroidPort : public BC_TextBox
357 PreferencesWindow *pwindow;
359 AndroidPort(PreferencesWindow *pwindow, int x, int y);
362 class ShBtnPrefs : public BC_GenericButton
365 PreferencesWindow *pwindow;
366 InterfacePrefs *iface_prefs;
369 ShBtnPrefs(PreferencesWindow *pwindow, InterfacePrefs *iface_prefs, int x, int y);
371 class StillImageUseDuration : public BC_CheckBox
374 StillImageUseDuration(PreferencesWindow *pwindow, int value, int x, int y);
376 PreferencesWindow *pwindow;
379 class StillImageDuration : public BC_TextBox
382 StillImageDuration(PreferencesWindow *pwindow, int x, int y);
384 PreferencesWindow *pwindow;
387 class KeyframeReticle : public BC_PopupMenu
390 KeyframeReticle(int x, int y, int *output);
393 const char* hairline_to_string(int type);
394 void create_objects();
398 class HairlineItem : public BC_MenuItem
401 HairlineItem(KeyframeReticle *popup, int hairline);
404 KeyframeReticle *popup;