diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2005-11-01 00:56:09 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2005-11-01 00:56:09 +0000 |
commit | 1ca802c4e8861e50d7c01e2fd1d6ea36c01a3dae (patch) | |
tree | 51a9fb6b1d8a3e0a06a12fa41eeabd94c8c153b5 /gtk2_ardour/redirect_box.h | |
parent | 7b8d7f464f27bee198320dff7866716c064f6418 (diff) |
io_selector.cc done, connection_editor in progress but skipped
git-svn-id: svn://localhost/trunk/ardour2@76 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/redirect_box.h')
-rw-r--r-- | gtk2_ardour/redirect_box.h | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/gtk2_ardour/redirect_box.h b/gtk2_ardour/redirect_box.h index 55769cd4e1..278c423df4 100644 --- a/gtk2_ardour/redirect_box.h +++ b/gtk2_ardour/redirect_box.h @@ -24,9 +24,14 @@ #include <vector> #include <cmath> -#include <gtkmm.h> +#include <gtkmm/box.h> +#include <gtkmm/eventbox.h> +#include <gtkmm/menu.h> +#include <gtkmm/scrolledwindow.h> +#include <gtkmm2ext/dndtreeview.h> #include <gtkmm2ext/auto_spin.h> #include <gtkmm2ext/click_box.h> +#include <gtkmm2ext/dndtreeview.h> #include <ardour/types.h> #include <ardour/ardour.h> @@ -91,11 +96,25 @@ class RedirectBox : public Gtk::HBox PluginSelector & _plugin_selector; RouteRedirectSelection & _rr_selection; + struct ModelColumns : public Gtk::TreeModel::ColumnRecord { + ModelColumns () { + add (text); + add (redirect); + } + Gtk::TreeModelColumn<std::string> text; + Gtk::TreeModelColumn<ARDOUR::Redirect*> redirect; + }; + + ModelColumns columns; + Glib::RefPtr<Gtk::ListStore> model; + Glib::RefPtr<Gtk::TreeSelection> selection; - Gtk::EventBox redirect_eventbox; - Gtk::HBox redirect_hpacker; - Gtk::TreeView redirect_display; - Gtk::ScrolledWindow redirect_scroller; + Gtk::EventBox redirect_eventbox; + Gtk::HBox redirect_hpacker; + Gtkmm2ext::DnDTreeView redirect_display; + Gtk::ScrolledWindow redirect_scroller; + + void object_drop (std::string type, uint32_t cnt, void**); Width _width; @@ -107,12 +126,13 @@ class RedirectBox : public Gtk::HBox void new_send (); void show_send_controls (); + Glib::RefPtr<Gtk::UIManager> popup_ui_mgr; + Glib::RefPtr<Gtk::ActionGroup> popup_act_grp; Gtk::Menu *redirect_menu; - vector<Gtk::MenuItem*> selection_dependent_items; - Gtk::MenuItem* redirect_paste_item; + vector<Glib::RefPtr<Gtk::Action> > selection_dependent_items; gint redirect_menu_map_handler (GdkEventAny *ev); - Gtk::Menu * build_redirect_menu (Gtk::TreeView&); - void build_redirect_tooltip (Gtk::TreeView&, Gtk::EventBox&, string); + Gtk::Menu * build_redirect_menu (); + void build_redirect_tooltip (Gtk::EventBox&, string); void show_redirect_menu (gint arg); void choose_send (); @@ -137,7 +157,7 @@ class RedirectBox : public Gtk::HBox void disconnect_newplug(); - void redirects_reordered (gint, gint); + void redirects_reordered (const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator&, int*); gint compute_redirect_sort_keys (); vector<sigc::connection> redirect_active_connections; vector<sigc::connection> redirect_name_connections; |