add Autosave continuous backups by Andras Reuss and Andrew-R
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / manualgoto.h
index 3a1329d6e65a0fdb3b38208e894b83df49c0127d..e1a570a8f0d2a4fda736158d368c76bf3918cc93 100644 (file)
 #include "editpanel.inc"
 
 class ManualGoto;
+class ManualGotoKeyItem;
+class ManualGotoDirection;
+class ManualGotoUnitItem;
+class ManualGotoUnits;
+class ManualGotoText;
 class ManualGotoWindow;
-class ManualGotoNumber;
 
 class ManualGoto : public BC_DialogThread
 {
@@ -39,47 +43,77 @@ public:
 
        EditPanel *panel;
        MWindow *mwindow;
-       ManualGotoWindow *gotowindow;
+       ManualGotoWindow *window;
 
        BC_Window *new_gui();
        void handle_done_event(int result);
 
 };
 
-
-class ManualGotoWindow : public BC_Window
+class ManualGotoKeyItem : public BC_MenuItem
 {
 public:
-       ManualGotoWindow(ManualGoto *mango, int x, int y);
-       ~ManualGotoWindow();
+       ManualGotoKeyItem(ManualGotoDirection *popup,
+               const char *text, const char *htxt);
+       int handle_event();
+
+       ManualGotoDirection *popup;
+       const char *htxt;
+};
 
+class ManualGotoDirection : public BC_PopupMenu
+{
+public:
+       ManualGotoDirection(ManualGotoWindow *window, int x, int y, int w);
        void create_objects();
-       void reset_data(double position);
-       double get_new_position();
-       void update_position(double position);
 
-       ManualGoto *mango;
-       BC_Title *signtitle;
-       ManualGotoNumber *hours;
-       ManualGotoNumber *minutes;
-       ManualGotoNumber *seconds;
-       ManualGotoNumber *msecs;
+       ManualGotoWindow *window;
 };
 
+class ManualGotoUnitItem : public BC_MenuItem
+{
+public:
+       ManualGotoUnitItem(ManualGotoUnits *popup, int type);
+       int handle_event();
 
+       ManualGotoUnits *popup;
+       int type;
+};
 
-class ManualGotoNumber : public BC_TextBox
+class ManualGotoUnits : public BC_PopupMenu
 {
 public:
-       ManualGotoNumber(ManualGotoWindow *window, int x, int y, int w,
-               int max, const char *format);
-       int handle_event();
+       ManualGotoUnits(ManualGotoWindow *window, int x, int y, int w);
+       void create_objects();
+
        ManualGotoWindow *window;
+};
+
+
+class ManualGotoText : public BC_TextBox
+{
+public:
+       ManualGotoText(ManualGotoWindow *window, int x, int y, int w);
        int keypress_event();
-       void update(int64_t number);
+       ManualGotoWindow *window;
+};
 
-       int min, max;
-       const char *format;
+class ManualGotoWindow : public BC_Window
+{
+public:
+       ManualGotoWindow(ManualGoto *mango, int x, int y);
+       ~ManualGotoWindow();
+
+       void create_objects();
+       void update(double position);
+       void update();
+
+       ManualGoto *mango;
+       int time_format;
+       BC_Title *format_text;
+       ManualGotoDirection *direction;
+       ManualGotoUnits *units;
+       ManualGotoText *time_text;
 };
 
 #endif