Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

preferencesthread.h

Go to the documentation of this file.
00001 #ifndef PREFERENCESTHREAD_H
00002 #define PREFERENCESTHREAD_H
00003 
00004 #include "edl.inc"
00005 #include "guicast.h"
00006 #include "mutex.inc"
00007 #include "mwindow.inc"
00008 #include "preferences.inc"
00009 #include "preferencesthread.inc"
00010 #include "thread.h"
00011 
00012 #define CATEGORIES 5
00013 
00014 class PreferencesMenuitem : public BC_MenuItem
00015 {
00016 public:
00017         PreferencesMenuitem(MWindow *mwindow);
00018         ~PreferencesMenuitem();
00019 
00020         int handle_event();
00021 
00022         MWindow *mwindow;
00023         PreferencesThread *thread;
00024 };
00025 
00026 class PreferencesThread : public Thread
00027 {
00028 public:
00029         PreferencesThread(MWindow *mwindow);
00030         ~PreferencesThread();
00031         void run();
00032 
00033         int update_framerate();
00034         int apply_settings();
00035         char* category_to_text(int category);
00036         int text_to_category(char *category);
00037 
00038         int current_dialog;
00039         int thread_running;
00040         int redraw_indexes;
00041         int redraw_meters;
00042         int redraw_times;
00043         int redraw_overlays;
00044         int rerender;
00045         int close_assets;
00046         int reload_plugins;
00047         PreferencesWindow *window;
00048         Mutex *window_lock;
00049         MWindow *mwindow;
00050 // Copy of mwindow preferences
00051         Preferences *preferences;
00052         EDL *edl;
00053 };
00054 
00055 class PreferencesDialog : public BC_SubWindow
00056 {
00057 public:
00058         PreferencesDialog(MWindow *mwindow, PreferencesWindow *pwindow);
00059         virtual ~PreferencesDialog();
00060         
00061         virtual int create_objects() { return 0; };
00062         virtual int draw_framerate() { return 0; };
00063         PreferencesWindow *pwindow;
00064         MWindow *mwindow;
00065         Preferences *preferences;
00066 };
00067 
00068 class PreferencesCategory;
00069 
00070 class PreferencesWindow : public BC_Window
00071 {
00072 public:
00073         PreferencesWindow(MWindow *mwindow, 
00074                 PreferencesThread *thread,
00075                 int x,
00076                 int y);
00077         ~PreferencesWindow();
00078 
00079         int create_objects();
00080         int delete_current_dialog();
00081         int set_current_dialog(int number);
00082         int update_framerate();
00083 
00084         MWindow *mwindow;
00085         PreferencesThread *thread;
00086         ArrayList<BC_ListBoxItem*> categories;
00087         PreferencesCategory *category;
00088 
00089 private:
00090         PreferencesDialog *dialog;
00091 };
00092 
00093 class PreferencesCategory : public BC_PopupTextBox
00094 {
00095 public:
00096         PreferencesCategory(MWindow *mwindow, PreferencesThread *thread, int x, int y);
00097         ~PreferencesCategory();
00098         int handle_event();
00099         MWindow *mwindow;
00100         PreferencesThread *thread;
00101 };
00102 
00103 class PreferencesApply : public BC_GenericButton
00104 {
00105 public:
00106         PreferencesApply(MWindow *mwindow, PreferencesThread *thread);
00107         int handle_event();
00108         MWindow *mwindow;
00109         PreferencesThread *thread;
00110 };
00111 
00112 class PreferencesOK : public BC_GenericButton
00113 {
00114 public:
00115         PreferencesOK(MWindow *mwindow, PreferencesThread *thread);
00116         int keypress_event();
00117         int handle_event();
00118         MWindow *mwindow;
00119         PreferencesThread *thread;
00120 };
00121 
00122 class PreferencesCancel : public BC_GenericButton
00123 {
00124 public:
00125         PreferencesCancel(MWindow *mwindow, PreferencesThread *thread);
00126         int keypress_event();
00127         int handle_event();
00128         MWindow *mwindow;
00129         PreferencesThread *thread;
00130 };
00131 
00132 
00133 #endif

Generated on Sun Jan 8 13:38:59 2006 for Cinelerra-svn by  doxygen 1.4.4