X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ffloating_text_entry.h;h=d70185a8a666709324a5925e8c5ec4d0d454d85a;hb=244313f43fc3178fb8f58b01fc6ba125115062ad;hp=fc69085dfd2a298ae16017e6c2e14000817c6f19;hpb=8641dcdb0c7faf9164dc0bc992c3d70ee44ca7ef;p=ardour.git diff --git a/gtk2_ardour/floating_text_entry.h b/gtk2_ardour/floating_text_entry.h index fc69085dfd..d70185a8a6 100644 --- a/gtk2_ardour/floating_text_entry.h +++ b/gtk2_ardour/floating_text_entry.h @@ -21,32 +21,42 @@ #define __floating_text_entry_h__ #include +#include -#include "ardour_window.h" - -class FloatingTextEntry : public ArdourWindow +class FloatingTextEntry : public Gtk::Window { - public: - FloatingTextEntry (const std::string& initial_contents); - - sigc::signal1 use_text; - - private: - Gtk::Entry entry; - bool entry_changed; - - /* handlers for Entry events */ - - bool key_press (GdkEventKey*); - void activated (); - bool button_press (GdkEventButton*); - void changed (); - - /* handlers for window events */ - - void on_realize (); - void on_hide (); +public: + FloatingTextEntry (Gtk::Window* parent, const std::string& initial_contents); + + /* 1st argument to handler is the new text + * 2nd argument is 0, 1 or -1 to indicate: + * - do not move to next editable field + * - move to next editable field + * - move to previous editable field. + */ + sigc::signal2 use_text; + +private: + Gtk::Entry entry; + bool entry_changed; + bool by_popup_menu; + + /* handlers for Entry events */ + bool entry_focus_out (GdkEventFocus*); + bool key_press (GdkEventKey*); + bool key_release (GdkEventKey*); + void activated (); + bool button_press (GdkEventButton*); + void changed (); + void populate_popup (Gtk::Menu*); + void idle_delete_self (); + + std::list _connections; + + /* handlers for window events */ + + void on_realize (); + void on_hide (); }; #endif // __ardour_window_h__ -