use entered track for fit-tracks if in internal edit mode and no tracks or regions...
[ardour2.git] / gtk2_ardour / keyeditor.h
blob1fa807ac5b8ad2969c3fb15b50c19a2b320f6cf6
1 #ifndef __ardour_gtk_key_editor_h__
2 #define __ardour_gtk_key_editor_h__
4 #include <string>
6 #include <gtkmm/buttonbox.h>
7 #include <gtkmm/treeview.h>
8 #include <gtkmm/treestore.h>
9 #include <gtkmm/scrolledwindow.h>
11 #include "ardour_dialog.h"
13 class KeyEditor : public ArdourDialog
15 public:
16 KeyEditor ();
18 protected:
19 void on_show ();
20 void on_unmap ();
21 bool on_key_press_event (GdkEventKey*);
22 bool on_key_release_event (GdkEventKey*);
24 private:
25 struct KeyEditorColumns : public Gtk::TreeModel::ColumnRecord {
26 KeyEditorColumns () {
27 add (action);
28 add (binding);
29 add (path);
30 add (bindable);
32 Gtk::TreeModelColumn<std::string> action;
33 Gtk::TreeModelColumn<std::string> binding;
34 Gtk::TreeModelColumn<std::string> path;
35 Gtk::TreeModelColumn<bool> bindable;
38 Gtk::ScrolledWindow scroller;
39 Gtk::TreeView view;
40 Glib::RefPtr<Gtk::TreeStore> model;
41 KeyEditorColumns columns;
42 Gtk::Button unbind_button;
43 Gtk::HButtonBox unbind_box;
45 void unbind ();
47 bool can_bind;
48 guint last_state;
50 void action_selected ();
51 void populate ();
54 #endif /* __ardour_gtk_key_editor_h__ */