ardour
editor_route_groups.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2000-2009 Paul Davis
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 
18 */
19 
21 #include "editor_component.h"
22 
24 {
25 public:
27 
29 
30  Gtk::Widget& widget () {
31  return _display_packer;
32  }
33 
34  void clear ();
35 
36 private:
37 
38  struct Columns : public Gtk::TreeModel::ColumnRecord {
39 
40  Columns () {
41  add (gdkcolor);
42  add (text);
43  add (is_visible);
44  add (gain);
46  add (mute);
47  add (solo);
48  add (record);
49  add (monitoring);
50  add (select);
52  add (active_state);
53  add (routegroup);
54  }
55 
56  Gtk::TreeModelColumn<Gdk::Color> gdkcolor;
57  Gtk::TreeModelColumn<std::string> text;
58  Gtk::TreeModelColumn<bool> is_visible;
59  Gtk::TreeModelColumn<bool> gain;
60  Gtk::TreeModelColumn<bool> gain_relative;
61  Gtk::TreeModelColumn<bool> mute;
62  Gtk::TreeModelColumn<bool> solo;
63  Gtk::TreeModelColumn<bool> record;
64  Gtk::TreeModelColumn<bool> monitoring;
65  Gtk::TreeModelColumn<bool> select;
66  Gtk::TreeModelColumn<bool> active_shared;
67  Gtk::TreeModelColumn<bool> active_state;
68  Gtk::TreeModelColumn<ARDOUR::RouteGroup*> routegroup;
69  };
70 
72 
73  void add (ARDOUR::RouteGroup *);
74  void row_change (const Gtk::TreeModel::Path&,const Gtk::TreeModel::iterator&);
75  void name_edit (const std::string&, const std::string&);
76  void button_clicked ();
77  bool button_press_event (GdkEventButton* ev);
78  void groups_changed ();
80  void remove_selected ();
81  void run_new_group_dialog ();
82  void row_deleted (Gtk::TreeModel::Path const &);
83 
84  Glib::RefPtr<Gtk::ListStore> _model;
85  Glib::RefPtr<Gtk::TreeSelection> _selection;
86  Gtk::TreeView _display;
87  Gtk::ScrolledWindow _scroller;
88  Gtk::VBox _display_packer;
93  Gtk::ColorSelectionDialog color_dialog;
94 };
95 
96 
Gtk::TreeView _display
Glib::RefPtr< Gtk::ListStore > _model
PBD::ScopedConnectionList _property_changed_connections
void add(ARDOUR::RouteGroup *)
Gtk::Widget & widget()
void property_changed(ARDOUR::RouteGroup *, const PBD::PropertyChange &)
Gtk::TreeModelColumn< Gdk::Color > gdkcolor
Gtk::TreeModelColumn< bool > active_state
Gtk::TreeModelColumn< bool > is_visible
Gtk::TreeModelColumn< bool > gain
Glib::RefPtr< Gtk::TreeSelection > _selection
void row_deleted(Gtk::TreeModel::Path const &)
Gtk::ScrolledWindow _scroller
bool button_press_event(GdkEventButton *ev)
Gtk::TreeModelColumn< std::string > text
Gtk::TreeModelColumn< bool > monitoring
void name_edit(const std::string &, const std::string &)
Gtk::ColorSelectionDialog color_dialog
Definition: editor.h:134
void row_change(const Gtk::TreeModel::Path &, const Gtk::TreeModel::iterator &)
Gtk::TreeModelColumn< ARDOUR::RouteGroup * > routegroup
PBD::ScopedConnection all_route_groups_changed_connection
Gtk::TreeModelColumn< bool > active_shared
Gtk::TreeModelColumn< bool > gain_relative
void set_session(ARDOUR::Session *)
Gtk::TreeModelColumn< bool > mute
Gtk::TreeModelColumn< bool > select
Gtk::TreeModelColumn< bool > solo
Gtk::TreeModelColumn< bool > record