diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-02-03 04:17:53 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-02-03 04:17:53 +0000 |
commit | 76aa8cd85ddddff9a9174098c8a2c16c33f25993 (patch) | |
tree | e3989d7e2f687177f5e9e1061b509266ac393021 /gtk2_ardour/button_joiner.h | |
parent | bd3af3454b5f3e12562d9d28085c512415994215 (diff) |
new class/widget for linking two buttons (widgets, really) together
git-svn-id: svn://localhost/ardour2/branches/3.0@11436 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/button_joiner.h')
-rw-r--r-- | gtk2_ardour/button_joiner.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gtk2_ardour/button_joiner.h b/gtk2_ardour/button_joiner.h new file mode 100644 index 0000000000..5a07e5d8d2 --- /dev/null +++ b/gtk2_ardour/button_joiner.h @@ -0,0 +1,36 @@ +#ifndef __gtk2_ardour_button_joiner_h__ +#define __gtk2_ardour_button_joiner_h__ + +#include <gtkmm/box.h> +#include <gtkmm/alignment.h> +#include <gtkmm/action.h> + +#include "gtkmm2ext/activatable.h" +#include "gtkmm2ext/cairo_widget.h" + +class ButtonJoiner : public CairoWidget, public Gtkmm2ext::Activatable { + public: + ButtonJoiner (Gtk::Widget&, Gtk::Widget&); + void set_related_action (Glib::RefPtr<Gtk::Action>); + void set_active_state (Gtkmm2ext::ActiveState); + + protected: + void render (cairo_t*); + bool on_button_release_event (GdkEventButton*); + void on_size_request (Gtk::Requisition*); + + void action_sensitivity_changed (); + void action_visibility_changed (); + void action_tooltip_changed (); + void action_toggled (); + + private: + Gtk::Widget& left; + Gtk::Widget& right; + Gtk::HBox packer; + Gtk::Alignment align; + + void set_colors (); +}; + +#endif /* __gtk2_ardour_button_joiner_h__ */ |