summaryrefslogtreecommitdiff
path: root/gtk2_ardour/redirect_box.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2005-11-01 00:56:09 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2005-11-01 00:56:09 +0000
commit1ca802c4e8861e50d7c01e2fd1d6ea36c01a3dae (patch)
tree51a9fb6b1d8a3e0a06a12fa41eeabd94c8c153b5 /gtk2_ardour/redirect_box.h
parent7b8d7f464f27bee198320dff7866716c064f6418 (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.h40
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;