]> Dogcows Code - chaz/openbox/blobdiff - src/bindings.hh
use otk objects in the ob scripts by importing otk
[chaz/openbox] / src / bindings.hh
index 00439e1e2713c69648ed88a209628e94fcd4b2b8..2b2260e26aeeb40602a169e73a0caa110dbcc3d7 100644 (file)
@@ -20,7 +20,7 @@ extern "C" {
 
 namespace ob {
 
-class OBClient;
+class Client;
 
 typedef std::list<PyObject *> CallbackList;
 
@@ -51,11 +51,11 @@ typedef struct KeyBindingTree {
 
 typedef struct ButtonBinding {
   Binding binding;
-  CallbackList callbacks[NUM_MOUSE_ACTION];
+  CallbackList callbacks[MouseAction::NUM_MOUSE_ACTION];
   ButtonBinding() : binding(0, 0) {}
 };
 
-class OBBindings {
+class Bindings {
 public:
   //! A list of strings
   typedef std::vector<std::string> StringVect;
@@ -67,28 +67,30 @@ private:
 
   Binding _resetkey; // the key which resets the key chain status
 
-  otk::OBTimer _timer;
+  otk::Timer *_timer;
   
   KeyBindingTree *find(KeyBindingTree *search, bool *conflict) const;
   KeyBindingTree *buildtree(const StringVect &keylist,
                             PyObject *callback) const;
   void assimilate(KeyBindingTree *node);
 
-  static void resetChains(OBBindings *self); // the timer's timeout function
+  static void resetChains(Bindings *self); // the timer's timeout function
 
   typedef std::list <ButtonBinding*> ButtonBindingList;
-  ButtonBindingList _buttons[NUM_MOUSE_CONTEXT];
+  ButtonBindingList _buttons[MouseContext::NUM_MOUSE_CONTEXT];
 
-  void grabButton(bool grab, const Binding &b, MouseContext context,
-                  OBClient *client);
+  void grabButton(bool grab, const Binding &b, MouseContext::MC context,
+                  Client *client);
 
-  CallbackList _eventlist[NUM_EVENTS];
+  CallbackList _eventlist[EventAction::NUM_EVENTS];
+
+  PyObject *_keybgrab_callback;
   
 public:
-  //! Initializes an OBBindings object
-  OBBindings();
-  //! Destroys the OBBindings object
-  virtual ~OBBindings();
+  //! Initializes an Bindings object
+  Bindings();
+  //! Destroys the Bindings object
+  virtual ~Bindings();
 
   //! Translates a binding string into the actual Binding
   bool translate(const std::string &str, Binding &b, bool askey = true) const;
@@ -111,27 +113,31 @@ public:
   //! Removes all key bindings
   void removeAllKeys();
 
-  void fireKey(int screen, unsigned int modifiers,unsigned int key, Time time);
+  void fireKey(int screen, unsigned int modifiers,unsigned int key, Time time,
+               KeyAction::KA action);
 
   void setResetKey(const std::string &key);
 
   void grabKeys(bool grab);
 
-  bool addButton(const std::string &but, MouseContext context,
-                 MouseAction action, PyObject *callback);
+  bool grabKeyboard(int screen, PyObject *callback);
+  void ungrabKeyboard();
+
+  bool addButton(const std::string &but, MouseContext::MC context,
+                 MouseAction::MA action, PyObject *callback);
 
-  void grabButtons(bool grab, OBClient *client);
+  void grabButtons(bool grab, Client *client);
 
   //! Removes all button bindings
   void removeAllButtons();
 
-  void fireButton(ButtonData *data);
+  void fireButton(MouseData *data);
 
   //! Bind a callback for an event
-  bool addEvent(EventAction action, PyObject *callback);
+  bool addEvent(EventAction::EA action, PyObject *callback);
 
   //! Unbind the callback function from an event
-  bool removeEvent(EventAction action, PyObject *callback);
+  bool removeEvent(EventAction::EA action, PyObject *callback);
 
   //! Remove all callback functions
   void removeAllEvents();
This page took 0.024651 seconds and 4 git commands to generate.