#include <gtkmm/button.h>
#include <gtkmm/frame.h>
#include <gtkmm/notebook.h>
-#include <gtkmm/clist.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/liststore.h>
#include "ardour_dialog.h"
void set_session (ARDOUR::Session *);
protected:
- gint map_event_impl (GdkEventAny *);
+ void on_map ();
private:
ARDOUR::Connection *current_connection;
int selected_port;
bool push_at_front;
- Gtk::CList input_connection_display;
- Gtk::CList output_connection_display;
+
+ struct ConnectionDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
+ ConnectionDisplayModelColumns() {
+ add (name);
+ add (connection);
+ }
+ Gtk::TreeModelColumn<Glib::ustring> name;
+ Gtk::TreeModelColumn<ARDOUR::Connection*> connection;
+ };
+
+ ConnectionDisplayModelColumns connection_columns;
+
+ Glib::RefPtr<Gtk::ListStore> input_connection_model;
+ Glib::RefPtr<Gtk::ListStore> output_connection_model;
+
+ Gtk::TreeView input_connection_display;
+ Gtk::TreeView output_connection_display;
Gtk::ScrolledWindow input_scroller;
Gtk::ScrolledWindow output_scroller;
void cancel ();
void accept ();
- void port_selection_handler (gint row, gint col, GdkEvent *ev, Gtk::CList *);
+ void selection_changed (Gtk::TreeView* display);
void add_port ();
void remove_port (int which_port);
- void port_column_click (gint col, Gtk::CList *clist);
- gint port_button_event (GdkEventButton *, Gtk::CList *clist);
- gint connection_click (GdkEventButton *ev, Gtk::CList *clist);
- void connection_selected (gint, gint, GdkEvent *, bool);
+ void port_column_click (gint col, Gtk::TreeView* );
+ gint port_button_event (GdkEventButton *, Gtk::TreeView*);
+ gint connection_click (GdkEventButton *ev, Gtk::TreeView*);
+ void connection_selection_changed (Gtk::TreeView&, Glib::RefPtr<Gtk::ListStore>&);
sigc::connection config_connection;
sigc::connection connect_connection;