#ifndef __ardour_gtk_editor_route_h__
#define __ardour_gtk_editor_route_h__
+#include <gtkmm/liststore.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treestore.h>
+
#include "pbd/signals.h"
#include "gtkmm2ext/widget_state.h"
void redisplay ();
void update_visibility ();
- void routes_added (std::list<RouteTimeAxisView*> routes);
- void vcas_added (std::list<VCATimeAxisView*> routes);
+ void time_axis_views_added (std::list<TimeAxisView*>);
void route_removed (TimeAxisView *);
void hide_track_in_display (TimeAxisView &);
std::list<TimeAxisView*> views () const;
void hide_all_tracks (bool);
void clear ();
void sync_presentation_info_from_treeview ();
- void reset_remote_control_ids ();
+ void sync_treeview_from_presentation_info (PBD::PropertyChange const &);
private:
void initial_display ();
void on_tv_solo_isolate_toggled (std::string const &);
void on_tv_solo_safe_toggled (std::string const &);
void build_menu ();
- void show_menu ();
- void sync_treeview_from_presentation_info ();
+ void presentation_info_changed (PBD::PropertyChange const &);
void row_deleted (Gtk::TreeModel::Path const &);
void visible_changed (std::string const &);
void active_changed (std::string const &);
int plugin_setup (boost::shared_ptr<ARDOUR::Route>, boost::shared_ptr<ARDOUR::PluginInsert>, ARDOUR::Route::PluginSetupOptions);
- void display_drag_data_received (
- Glib::RefPtr<Gdk::DragContext> const &, gint, gint, Gtk::SelectionData const &, guint, guint
- );
-
bool selection_filter (Glib::RefPtr<Gtk::TreeModel> const &, Gtk::TreeModel::Path const &, bool);
void name_edit (std::string const &, std::string const &);
void solo_changed_so_update_mute ();
add (mute_state);
add (solo_state);
add (solo_visible);
+ add (solo_lock_iso_visible);
add (solo_isolate_state);
add (solo_safe_state);
add (is_track);
add (name_editable);
add (is_input_active);
add (is_midi);
+ add (no_vca);
add (active);
}
Gtk::TreeModelColumn<uint32_t> solo_state;
/** true if the solo buttons are visible for this route, otherwise false */
Gtk::TreeModelColumn<bool> solo_visible;
+ Gtk::TreeModelColumn<bool> solo_lock_iso_visible;
Gtk::TreeModelColumn<uint32_t> solo_isolate_state;
Gtk::TreeModelColumn<uint32_t> solo_safe_state;
Gtk::TreeModelColumn<bool> is_track;
Gtk::TreeModelColumn<bool> name_editable;
Gtk::TreeModelColumn<bool> is_input_active;
Gtk::TreeModelColumn<bool> is_midi;
+ Gtk::TreeModelColumn<bool> no_vca; // activatable
Gtk::TreeModelColumn<bool> active;
};
Gtk::ScrolledWindow _scroller;
- Gtkmm2ext::DnDTreeView<boost::shared_ptr<ARDOUR::Route> > _display;
+ Gtk::TreeView _display;
Glib::RefPtr<Gtk::ListStore> _model;
ModelColumns _columns;
int _name_column;
int _active_column;
bool _ignore_reorder;
+ bool _ignore_selection_change;
bool _no_redisplay;
bool _adding_routes;
bool _route_deletion_in_progress;
Gtk::Menu* _menu;
Gtk::Widget* old_focus;
- uint32_t selection_countdown;
Gtk::CellEditable* name_editable;
bool key_press (GdkEventKey* ev);