hard edges rework, add hard edge in gwdw, config.ac nv/cuda tweaks, message log warn...
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / bctextbox.h
index ffc5c0e429c0ca29d4f4b0d4154b38317a2ca02e..d58605775b6d58090128c87cb65d1f264c36f48e 100644 (file)
@@ -358,6 +358,7 @@ public:
        int get_h();
        int get_show_query();
        void set_show_query(int v);
+       void set_tooltip(const char *text);
 
        void update(const char *text);
        void update_list(ArrayList<BC_ListBoxItem*> *data);
@@ -396,38 +397,31 @@ public:
 };
 
 
+class BC_TumbleTextBox;
 class BC_TumbleTextBoxText;
-class BC_TumbleTextBoxTumble;
+class BC_FTextTumbler;
+class BC_ITextTumbler;
+
 
 class BC_TumbleTextBox
 {
 public:
        BC_TumbleTextBox(BC_WindowBase *parent_window,
-               int64_t default_value,
-               int64_t min,
-               int64_t max,
-               int x,
-               int y,
-               int text_w);
+               int64_t default_value, int64_t min, int64_t max,
+               int x, int y, int text_w);
        BC_TumbleTextBox(BC_WindowBase *parent_window,
-               int default_value,
-               int min,
-               int max,
-               int x,
-               int y,
-               int text_w);
+               int default_value, int min, int max,
+               int x, int y, int text_w);
        BC_TumbleTextBox(BC_WindowBase *parent_window,
-               float default_value,
-               float min,
-               float max,
-               int x,
-               int y,
-               int text_w);
+               float default_value, float min, float max,
+               int x, int y, int text_w, int precision=4);
        virtual ~BC_TumbleTextBox();
 
        int create_objects();
        void reset();
        virtual int handle_event();
+       virtual int handle_up_event();
+       virtual int handle_down_event();
        const char* get_text();
        const wchar_t* get_wtext();
        BC_TextBox* get_textbox();
@@ -450,7 +444,8 @@ public:
        void set_tooltip(const char *text);
 
        friend class BC_TumbleTextBoxText;
-       friend class BC_TumbleTextBoxTumble;
+       friend class BC_FTextTumbler;
+       friend class BC_ITextTumbler;
 
 private:
        int x, y, text_w;
@@ -476,6 +471,36 @@ public:
        BC_TumbleTextBox *popup;
 };
 
+class BC_FTextTumbler : public BC_FTumbler
+{
+public:
+       BC_FTextTumbler(BC_TumbleTextBox *tumble_text,
+                       float min_f, float max_f, int x, int y)
+        : BC_FTumbler(tumble_text->textbox, min_f, max_f, x, y) {
+               this->tumble_text = tumble_text;
+       }
+       ~BC_FTextTumbler() {}
+       int handle_up_event() { return tumble_text->handle_up_event(); }
+       int handle_down_event() { return tumble_text->handle_down_event(); }
+
+       BC_TumbleTextBox *tumble_text;
+};
+
+class BC_ITextTumbler : public BC_ITumbler
+{
+public:
+       BC_ITextTumbler(BC_TumbleTextBox *tumble_text,
+                       int64_t min, int64_t max, int x, int y)
+        : BC_ITumbler(tumble_text->textbox, min, max, x, y) {
+               this->tumble_text = tumble_text;
+       }
+       ~BC_ITextTumbler() {}
+       int handle_up_event() { return tumble_text->handle_up_event(); }
+       int handle_down_event() { return tumble_text->handle_down_event(); }
+
+       BC_TumbleTextBox *tumble_text;
+};
+
 
 class BC_TextMenu : public BC_PopupMenu
 {