00001 #ifndef MANUALGOTO_H 00002 #define MANUALGOTO_H 00003 00004 #include "awindow.inc" 00005 #include "edl.inc" 00006 #include "guicast.h" 00007 #include "mwindow.inc" 00008 #include "thread.h" 00009 #include "vwindow.inc" 00010 #include "editpanel.inc" 00011 00012 class ManualGotoWindow; 00013 class ManualGotoNumber; 00014 00015 class ManualGoto : public Thread 00016 { 00017 public: 00018 ManualGoto(MWindow *mwindow, BC_WindowBase *masterwindow); 00019 ~ManualGoto(); 00020 00021 void run(); 00022 00023 // If it is being created or edited 00024 MWindow *mwindow; 00025 BC_WindowBase *masterwindow; 00026 void open_window(); 00027 00028 ManualGotoWindow *gotowindow; 00029 int done; 00030 00031 }; 00032 00033 00034 00035 00036 class ManualGotoWindow : public BC_Window 00037 { 00038 public: 00039 ManualGotoWindow(MWindow *mwindow, ManualGoto *thread); 00040 ~ManualGotoWindow(); 00041 00042 void create_objects(); 00043 int activate(); 00044 void reset_data(double position); 00045 double get_entered_position_sec(); 00046 void set_entered_position_sec(double position); 00047 00048 00049 00050 // Use this copy of the pointer in ManualGoto since multiple windows are possible 00051 BC_Title *signtitle; 00052 ManualGotoNumber *boxhours; 00053 ManualGotoNumber *boxminutes; 00054 ManualGotoNumber *boxseconds; 00055 ManualGotoNumber *boxmsec; 00056 MWindow *mwindow; 00057 ManualGoto *thread; 00058 }; 00059 00060 00061 00062 class ManualGotoNumber : public BC_TextBox 00063 { 00064 public: 00065 ManualGotoNumber(ManualGotoWindow *window, int x, int y, int w, int min_num, int max_num, int chars); 00066 int handle_event(); 00067 ManualGotoWindow *window; 00068 int keypress_event(); 00069 int activate(); 00070 int deactivate(); 00071 void reshape_update(int64_t number); 00072 00073 int min_num; 00074 int max_num; 00075 int chars; 00076 }; 00077 00078 00079 00080 00081 00082 00083 00084 #endif
1.4.4