]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/window.h
added wxListCtrl::DeleteAllColumns()
[wxWidgets.git] / include / wx / motif / window.h
index 6f72b727427ad83769a46a5310ec0e71a912038a..d9010156f48f04fd37de9b0e96caf5b06cde979d 100644 (file)
@@ -189,26 +189,40 @@ public:
 
   // Get overall window size
   virtual void GetSize(int *width, int *height) const;
+  virtual wxSize GetSize() const { int w, h; GetSize(& w, & h); return wxSize(w, h); }
+  virtual wxRect GetRect() const { int w, h; int x, y; GetPosition(& x, & y); GetSize(& w, & h); return wxRect(x, y, w, h); }
 
   // Get window position, relative to parent (or screen if no parent)
   virtual void GetPosition(int *x, int *y) const;
+  virtual wxPoint GetPosition() const { int x, y; GetPosition(&x, &y); return wxPoint(x, y); }
 
   // Get client (application-useable) size
   virtual void GetClientSize(int *width, int *height) const;
+  virtual wxSize GetClientSize() const { int w, h; GetClientSize(& w, & h); return wxSize(w, h); }
 
   // Set overall size and position
   virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
-  inline virtual void SetSize(int width, int height) { SetSize(-1, -1, width, height, wxSIZE_USE_EXISTING); }
-  inline virtual void Move(int x, int y) { SetSize(x, y, -1, -1, wxSIZE_USE_EXISTING); }
+  virtual void SetSize(int width, int height) { SetSize(-1, -1, width, height, wxSIZE_USE_EXISTING); }
+  virtual void SetSize(const wxRect& rect, int sizeFlags = wxSIZE_AUTO)
+    { SetSize(rect.x, rect.y, rect.width, rect.height, sizeFlags); }
+  virtual void SetSize(const wxSize& size) { SetSize(-1, -1, size.x, size.y, wxSIZE_USE_EXISTING); }
+
+  virtual void Move(int x, int y) { SetSize(x, y, -1, -1, wxSIZE_USE_EXISTING); }
+  virtual void Move(const wxPoint& pt) { SetSize(pt.x, pt.y, -1, -1, wxSIZE_USE_EXISTING); }
 
   // Set client size
   virtual void SetClientSize(int width, int size);
+  virtual void SetClientSize(const wxSize& sz) { SetClientSize(sz.x, sz.y); }
 
   // Convert client to screen coordinates
   virtual void ClientToScreen(int *x, int *y) const;
+  virtual wxPoint ClientToScreen(const wxPoint& pt) const
+    { int x = pt.x; int y = pt.y; ClientToScreen(& x, & y); return wxPoint(x, y); }
 
   // Convert screen to client coordinates
   virtual void ScreenToClient(int *x, int *y) const;
+  virtual wxPoint ScreenToClient(const wxPoint& pt) const
+    { int x = pt.x; int y = pt.y; ScreenToClient(& x, & y); return wxPoint(x, y); }
 
   // Set the focus to this window
   virtual void SetFocus();
@@ -297,6 +311,8 @@ public:
   inline void SetParent(wxWindow *p) ;
   inline wxWindow *GetGrandParent() const;
   inline wxList *GetChildren() const;
+  // Reparents this window to have the new parent.
+  virtual bool Reparent(wxWindow* parent);
 
   // Set/get the window's font
   virtual void SetFont(const wxFont& f);
@@ -539,6 +555,20 @@ public:
   // Generates a paint event
   virtual void DoPaint();
 
+  // How to implement accelerators. If we find a key event,
+  // translate to wxWindows wxKeyEvent form. Find a widget for the window.
+  // Now find a wxWindow for the widget. If there isn't one, go up the widget hierarchy
+  // trying to find one. Once one is found, call ProcessAccelerator for the
+  // window. If it returns TRUE (processed the event), skip the X event,
+  // otherwise carry on up the wxWindows window hierarchy calling ProcessAccelerator.
+  // If all return FALSE, process the X event as normal.
+  // Eventually we can implement OnCharHook the same way, but concentrate on accelerators
+  // for now.
+  // ProcessAccelerator must look at the current accelerator table, and try to find
+  // what menu id or window (beneath it) has this ID. Then construct an appropriate command
+  // event and send it.
+  virtual bool ProcessAccelerator(wxKeyEvent& event);
+
   ////////////////////////////////////////////////////////////////////////
   //// PROTECTED DATA
 protected: