license header for review
[cinelerra_cv/ct.git] / cinelerra / interfaceprefs.h
blob6a8b9304929965ce0b2cbbb4bbf3899ea708d963
1 #ifndef INTERFACEPREFS_H
2 #define INTERFACEPREFS_H
4 class IndexSize;
5 class IndexCount;
6 class IndexPathText;
7 class TimeFormatHMS;
8 class TimeFormatHMSF;
9 class TimeFormatSamples;
10 class TimeFormatFrames;
11 class TimeFormatHex;
12 class TimeFormatFeet;
13 class TimeFormatSeconds;
14 class MeterMinDB;
15 class MeterMaxDB;
16 class MeterVUDB;
17 class MeterVUInt;
18 class ViewBehaviourText;
19 class ViewThumbnails;
21 #include "browsebutton.h"
22 #include "deleteallindexes.inc"
23 #include "mwindow.inc"
24 #include "preferencesthread.h"
27 class InterfacePrefs : public PreferencesDialog
29 public:
30 InterfacePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
31 ~InterfacePrefs();
33 int create_objects();
34 // must delete each derived class
35 int update(int new_value);
36 char* behavior_to_text(int mode);
38 BrowseButton *ipath;
39 IndexSize *isize;
40 IndexCount *icount;
41 IndexPathText *ipathtext;
42 DeleteAllIndexes *deleteall;
44 TimeFormatHMS *hms;
45 TimeFormatHMSF *hmsf;
46 TimeFormatSamples *samples;
47 TimeFormatHex *hex;
48 TimeFormatFrames *frames;
49 TimeFormatFeet *feet;
50 TimeFormatSeconds *seconds;
52 MeterMinDB *min_db;
53 MeterMaxDB *max_db;
54 MeterVUDB *vu_db;
55 // MeterVUInt *vu_int;
56 ViewBehaviourText *button1, *button2, *button3;
57 ViewThumbnails *thumbnails;
61 class IndexPathText : public BC_TextBox
63 public:
64 IndexPathText(int x, int y, PreferencesWindow *pwindow, char *text);
65 ~IndexPathText();
66 int handle_event();
67 PreferencesWindow *pwindow;
70 class IndexSize : public BC_TextBox
72 public:
73 IndexSize(int x, int y, PreferencesWindow *pwindow, char *text);
74 int handle_event();
75 PreferencesWindow *pwindow;
79 class IndexCount : public BC_TextBox
81 public:
82 IndexCount(int x, int y, PreferencesWindow *pwindow, char *text);
83 int handle_event();
84 PreferencesWindow *pwindow;
87 class TimeFormatHMS : public BC_Radial
89 public:
90 TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
91 int handle_event();
92 PreferencesWindow *pwindow;
93 InterfacePrefs *tfwindow;
96 class TimeFormatHMSF : public BC_Radial
98 public:
99 TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
100 int handle_event();
101 PreferencesWindow *pwindow;
102 InterfacePrefs *tfwindow;
105 class TimeFormatSamples : public BC_Radial
107 public:
108 TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
109 int handle_event();
110 PreferencesWindow *pwindow;
111 InterfacePrefs *tfwindow;
114 class TimeFormatFrames : public BC_Radial
116 public:
117 TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
118 int handle_event();
119 PreferencesWindow *pwindow;
120 InterfacePrefs *tfwindow;
123 class TimeFormatHex : public BC_Radial
125 public:
126 TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
127 int handle_event();
128 PreferencesWindow *pwindow;
129 InterfacePrefs *tfwindow;
132 class TimeFormatFeet : public BC_Radial
134 public:
135 TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
136 int handle_event();
137 PreferencesWindow *pwindow;
138 InterfacePrefs *tfwindow;
141 class TimeFormatSeconds : public BC_Radial
143 public:
144 TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
145 int handle_event();
146 PreferencesWindow *pwindow;
147 InterfacePrefs *tfwindow;
150 class TimeFormatFeetSetting : public BC_TextBox
152 public:
153 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
154 int handle_event();
155 PreferencesWindow *pwindow;
160 class MeterMinDB : public BC_TextBox
162 public:
163 MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
164 int handle_event();
165 PreferencesWindow *pwindow;
169 class MeterMaxDB : public BC_TextBox
171 public:
172 MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
173 int handle_event();
174 PreferencesWindow *pwindow;
177 class MeterVUDB : public BC_Radial
179 public:
180 MeterVUDB(PreferencesWindow *pwindow, char *text, int y);
181 int handle_event();
182 // MeterVUInt *vu_int;
183 PreferencesWindow *pwindow;
186 class MeterVUInt : public BC_Radial
188 public:
189 MeterVUInt(PreferencesWindow *pwindow, char *text, int y);
190 int handle_event();
191 MeterVUDB *vu_db;
192 PreferencesWindow *pwindow;
195 class ViewBehaviourText : public BC_PopupMenu
197 public:
198 ViewBehaviourText(int x,
199 int y,
200 char *text,
201 PreferencesWindow *pwindow,
202 int *output);
203 ~ViewBehaviourText();
205 int handle_event(); // user copies text to value here
206 int create_objects(); // add initial items
207 InterfacePrefs *tfwindow;
208 int *output;
211 class ViewBehaviourItem : public BC_MenuItem
213 public:
214 ViewBehaviourItem(ViewBehaviourText *popup, char *text, int behaviour);
215 ~ViewBehaviourItem();
217 int handle_event();
218 ViewBehaviourText *popup;
219 int behaviour;
222 class ViewTheme : public BC_PopupMenu
224 public:
225 ViewTheme(int x, int y, PreferencesWindow *pwindow);
226 ~ViewTheme();
228 void create_objects();
229 int handle_event();
231 PreferencesWindow *pwindow;
234 class ViewThumbnails : public BC_CheckBox
236 public:
237 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
238 int handle_event();
239 PreferencesWindow *pwindow;
242 class ViewThemeItem : public BC_MenuItem
244 public:
245 ViewThemeItem(ViewTheme *popup, char *text);
246 int handle_event();
247 ViewTheme *popup;
250 class UseTipWindow : public BC_CheckBox
252 public:
253 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
254 int handle_event();
255 PreferencesWindow *pwindow;
258 #endif
260 // Local Variables:
261 // mode: C++
262 // c-file-style: "linux"
263 // End: