Ardour  9.0-pre0-582-g084a23a80d
region_layering_order_editor.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010-2012 Carl Hetherington <carl@carlh.net>
3  * Copyright (C) 2010-2017 Paul Davis <paul@linuxaudiosystems.com>
4  * Copyright (C) 2011 David Robillard <d@drobilla.net>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19  */
20 
21 #ifndef __gtk2_ardour_region_layering_order_editor_h__
22 #define __gtk2_ardour_region_layering_order_editor_h__
23 
24 #include <gtkmm/dialog.h>
25 #include <gtkmm/liststore.h>
26 #include <gtkmm/treeview.h>
27 #include <gtkmm/scrolledwindow.h>
28 
29 #include "ardour/region.h"
30 #include "ardour/playlist.h"
31 
32 #include "ardour_window.h"
33 #include "audio_clock.h"
34 #include "region_view.h"
35 #include "time_axis_view.h"
36 
37 class PublicEditor;
38 
39 namespace ARDOUR {
40  class Session;
41 }
42 
44 {
45 public:
48 
49  void set_context (const std::string &, ARDOUR::Session *, TimeAxisView *, std::shared_ptr<ARDOUR::Playlist>, Temporal::timepos_t const &);
50  void maybe_present ();
51 
52 protected:
54 
55 private:
59 
61 
64  add (name);
65  add (region_view);
66  }
69  };
71  Glib::RefPtr<Gtk::ListStore> layering_order_model;
77  Gtk::ScrolledWindow scroller; // Available layers
80 
81  void row_selected ();
82  void refill ();
84 };
85 
86 #endif /* __gtk2_ardour_region_layering_order_editor_h__ */
void add(TreeModelColumnBase &column)
bool event(GdkEvent *event)
Representation of the interface of the Editor class.
virtual bool on_key_press_event(GdkEventKey *event)
This is a default handler for the signal signal_key_press_event().
RegionLayeringOrderEditor(PublicEditor &)
void set_context(const std::string &, ARDOUR::Session *, TimeAxisView *, std::shared_ptr< ARDOUR::Playlist >, Temporal::timepos_t const &)
virtual ~RegionLayeringOrderEditor()
LayeringOrderColumns layering_order_columns
PBD::ScopedConnection playlist_modified_connection
Glib::RefPtr< Gtk::ListStore > layering_order_model