synfig-studio  1.0.3
keymapsettings.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
21 /* ========================================================================= */
22 
23 /* === S T A R T =========================================================== */
24 
25 #ifndef __SYNFIG_KEYMAPSETTINGS_H
26 #define __SYNFIG_KEYMAPSETTINGS_H
27 
28 /* === H E A D E R S ======================================================= */
29 #include <gtkmm/dialog.h>
30 
31 #include <set>
32 #include <map>
33 #include <string>
34 
35 #include <gtkmm/accelkey.h>
36 
37 /* === M A C R O S ========================================================= */
38 
39 /* === T Y P E D E F S ===================================================== */
40 
41 /* === C L A S S E S & S T R U C T S ======================================= */
42 
43 namespace studio {
44 
45 //a dialog for viewing and setting options, though it can also be used just as is
46 class KeyMapSettings : public Gtk::Dialog
47 {
48  struct AcKeyInfo
49  {
50  guint key;
51  Gdk::ModifierType mod;
52 
53  bool on;
54 
55  AcKeyInfo(guint k = 0, Gdk::ModifierType m = Gdk::ModifierType()):
56  key(k), mod(m), on() { }
57  };
58 
59  //std::map<const char *,AcKeyInfo> pathmap; //uses string info from paths set
60  //std::set<std::string> accelpaths;
61 
62  bool unsaved; //Assume as such...
63 
64 public:
65 
68 
69  //void add_path(const char *path);
70 
71  bool set_key(const char *path, guint key, Gdk::ModifierType mod, bool replace = true);
72  bool get_key(const char *path, Gtk::AccelKey *key);
73 
74  // These files must be sent a filename without extension (so the key map can be obtained)
75  bool load(const char *filename);
76  bool save(const char *filename);
77 };
78 
79 }; // END of namespace studio
80 
81 /* === E N D =============================================================== */
82 
83 #endif