00001 #ifndef INTERFACEPREFS_H
00002 #define INTERFACEPREFS_H
00003
00004 class IndexSize;
00005 class IndexCount;
00006 class IndexPathText;
00007 class TimeFormatHMS;
00008 class TimeFormatHMSF;
00009 class TimeFormatSamples;
00010 class TimeFormatFrames;
00011 class TimeFormatHex;
00012 class TimeFormatFeet;
00013 class TimeFormatSeconds;
00014 class MeterMinDB;
00015 class MeterMaxDB;
00016 class MeterVUDB;
00017 class MeterVUInt;
00018 class ViewBehaviourText;
00019 class ViewThumbnails;
00020
00021 #include "browsebutton.h"
00022 #include "deleteallindexes.inc"
00023 #include "mwindow.inc"
00024 #include "preferencesthread.h"
00025
00026
00027 class InterfacePrefs : public PreferencesDialog
00028 {
00029 public:
00030 InterfacePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
00031 ~InterfacePrefs();
00032
00033 int create_objects();
00034
00035 int update(int new_value);
00036 char* behavior_to_text(int mode);
00037
00038 BrowseButton *ipath;
00039 IndexSize *isize;
00040 IndexCount *icount;
00041 IndexPathText *ipathtext;
00042 DeleteAllIndexes *deleteall;
00043
00044 TimeFormatHMS *hms;
00045 TimeFormatHMSF *hmsf;
00046 TimeFormatSamples *samples;
00047 TimeFormatHex *hex;
00048 TimeFormatFrames *frames;
00049 TimeFormatFeet *feet;
00050 TimeFormatSeconds *seconds;
00051
00052 MeterMinDB *min_db;
00053 MeterMaxDB *max_db;
00054 MeterVUDB *vu_db;
00055
00056 ViewBehaviourText *button1, *button2, *button3;
00057 ViewThumbnails *thumbnails;
00058 };
00059
00060
00061 class IndexPathText : public BC_TextBox
00062 {
00063 public:
00064 IndexPathText(int x, int y, PreferencesWindow *pwindow, char *text);
00065 ~IndexPathText();
00066 int handle_event();
00067 PreferencesWindow *pwindow;
00068 };
00069
00070 class IndexSize : public BC_TextBox
00071 {
00072 public:
00073 IndexSize(int x, int y, PreferencesWindow *pwindow, char *text);
00074 int handle_event();
00075 PreferencesWindow *pwindow;
00076 };
00077
00078
00079 class IndexCount : public BC_TextBox
00080 {
00081 public:
00082 IndexCount(int x, int y, PreferencesWindow *pwindow, char *text);
00083 int handle_event();
00084 PreferencesWindow *pwindow;
00085 };
00086
00087 class TimeFormatHMS : public BC_Radial
00088 {
00089 public:
00090 TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
00091 int handle_event();
00092 PreferencesWindow *pwindow;
00093 InterfacePrefs *tfwindow;
00094 };
00095
00096 class TimeFormatHMSF : public BC_Radial
00097 {
00098 public:
00099 TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
00100 int handle_event();
00101 PreferencesWindow *pwindow;
00102 InterfacePrefs *tfwindow;
00103 };
00104
00105 class TimeFormatSamples : public BC_Radial
00106 {
00107 public:
00108 TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
00109 int handle_event();
00110 PreferencesWindow *pwindow;
00111 InterfacePrefs *tfwindow;
00112 };
00113
00114 class TimeFormatFrames : public BC_Radial
00115 {
00116 public:
00117 TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
00118 int handle_event();
00119 PreferencesWindow *pwindow;
00120 InterfacePrefs *tfwindow;
00121 };
00122
00123 class TimeFormatHex : public BC_Radial
00124 {
00125 public:
00126 TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
00127 int handle_event();
00128 PreferencesWindow *pwindow;
00129 InterfacePrefs *tfwindow;
00130 };
00131
00132 class TimeFormatFeet : public BC_Radial
00133 {
00134 public:
00135 TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
00136 int handle_event();
00137 PreferencesWindow *pwindow;
00138 InterfacePrefs *tfwindow;
00139 };
00140
00141 class TimeFormatSeconds : public BC_Radial
00142 {
00143 public:
00144 TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
00145 int handle_event();
00146 PreferencesWindow *pwindow;
00147 InterfacePrefs *tfwindow;
00148 };
00149
00150 class TimeFormatFeetSetting : public BC_TextBox
00151 {
00152 public:
00153 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
00154 int handle_event();
00155 PreferencesWindow *pwindow;
00156 };
00157
00158
00159
00160 class MeterMinDB : public BC_TextBox
00161 {
00162 public:
00163 MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
00164 int handle_event();
00165 PreferencesWindow *pwindow;
00166 };
00167
00168
00169 class MeterMaxDB : public BC_TextBox
00170 {
00171 public:
00172 MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
00173 int handle_event();
00174 PreferencesWindow *pwindow;
00175 };
00176
00177 class MeterVUDB : public BC_Radial
00178 {
00179 public:
00180 MeterVUDB(PreferencesWindow *pwindow, char *text, int y);
00181 int handle_event();
00182
00183 PreferencesWindow *pwindow;
00184 };
00185
00186 class MeterVUInt : public BC_Radial
00187 {
00188 public:
00189 MeterVUInt(PreferencesWindow *pwindow, char *text, int y);
00190 int handle_event();
00191 MeterVUDB *vu_db;
00192 PreferencesWindow *pwindow;
00193 };
00194
00195 class ViewBehaviourText : public BC_PopupMenu
00196 {
00197 public:
00198 ViewBehaviourText(int x,
00199 int y,
00200 char *text,
00201 PreferencesWindow *pwindow,
00202 int *output);
00203 ~ViewBehaviourText();
00204
00205 int handle_event();
00206 int create_objects();
00207 InterfacePrefs *tfwindow;
00208 int *output;
00209 };
00210
00211 class ViewBehaviourItem : public BC_MenuItem
00212 {
00213 public:
00214 ViewBehaviourItem(ViewBehaviourText *popup, char *text, int behaviour);
00215 ~ViewBehaviourItem();
00216
00217 int handle_event();
00218 ViewBehaviourText *popup;
00219 int behaviour;
00220 };
00221
00222 class ViewTheme : public BC_PopupMenu
00223 {
00224 public:
00225 ViewTheme(int x, int y, PreferencesWindow *pwindow);
00226 ~ViewTheme();
00227
00228 void create_objects();
00229 int handle_event();
00230
00231 PreferencesWindow *pwindow;
00232 };
00233
00234 class ViewThumbnails : public BC_CheckBox
00235 {
00236 public:
00237 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
00238 int handle_event();
00239 PreferencesWindow *pwindow;
00240 };
00241
00242 class ViewThemeItem : public BC_MenuItem
00243 {
00244 public:
00245 ViewThemeItem(ViewTheme *popup, char *text);
00246 int handle_event();
00247 ViewTheme *popup;
00248 };
00249
00250 class UseTipWindow : public BC_CheckBox
00251 {
00252 public:
00253 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
00254 int handle_event();
00255 PreferencesWindow *pwindow;
00256 };
00257
00258 #endif