colinf's patch to make the cursor be the dbl vertical arrow when over the track resiz...
[ardour2.git] / gtk2_ardour / keyeditor.h
blob085bfbb6d91da17b478ccefc2feca6395575214d
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>
10 #include <glibmm/ustring.h>
12 #include "ardour_dialog.h"
14 class KeyEditor : public ArdourDialog
16 public:
17 KeyEditor ();
19 protected:
20 void on_show ();
21 void on_unmap ();
22 bool on_key_press_event (GdkEventKey*);
23 bool on_key_release_event (GdkEventKey*);
25 private:
26 struct KeyEditorColumns : public Gtk::TreeModel::ColumnRecord {
27 KeyEditorColumns () {
28 add (action);
29 add (binding);
30 add (path);
31 add (bindable);
33 Gtk::TreeModelColumn<Glib::ustring> action;
34 Gtk::TreeModelColumn<std::string> binding;
35 Gtk::TreeModelColumn<std::string> path;
36 Gtk::TreeModelColumn<bool> bindable;
39 Gtk::ScrolledWindow scroller;
40 Gtk::TreeView view;
41 Glib::RefPtr<Gtk::TreeStore> model;
42 KeyEditorColumns columns;
43 Gtk::Button unbind_button;
44 Gtk::HButtonBox unbind_box;
46 void unbind ();
48 bool can_bind;
49 guint last_state;
51 void action_selected ();
52 void populate ();
55 #endif /* __ardour_gtk_key_editor_h__ */