]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/window.h
no message
[wxWidgets.git] / include / wx / motif / window.h
index d9010156f48f04fd37de9b0e96caf5b06cde979d..daa7e42b934a9cd065c7211fefbd52f00ce34823 100644 (file)
@@ -53,7 +53,7 @@ class WXDLLEXPORT wxCursor;
 class WXDLLEXPORT wxColourMap;
 class WXDLLEXPORT wxFont;
 class WXDLLEXPORT wxMenu;
-class WXDLLEXPORT wxRectangle;
+class WXDLLEXPORT wxRect;
 class WXDLLEXPORT wxBitmap;
 class WXDLLEXPORT wxSizer;
 class WXDLLEXPORT wxList;
@@ -269,18 +269,22 @@ public:
   virtual bool PopupMenu(wxMenu *menu, int x, int y);
 
   // Send the window a refresh event
-  virtual void Refresh(bool eraseBack = TRUE, const wxRectangle *rect = NULL);
+  virtual void Refresh(bool eraseBack = TRUE, const wxRect *rect = NULL);
 
   // New functions that will replace the above.
   virtual void SetScrollbar(int orient, int pos, int thumbVisible,
     int range, bool refresh = TRUE);
 
+  // Helper functions for Motif
+  void CreateScrollbar(int orientation);
+  void DestroyScrollbar(int orientation);
+
   virtual void SetScrollPos(int orient, int pos, bool refresh = TRUE);
   virtual int GetScrollPos(int orient) const;
   virtual int GetScrollRange(int orient) const;
   virtual int GetScrollThumb(int orient) const;
 
-  virtual void ScrollWindow(int dx, int dy, const wxRectangle *rect = NULL);
+  virtual void ScrollWindow(int dx, int dy, const wxRect *rect = NULL);
 
   // Caret manipulation
   virtual void CreateCaret(int w, int h);
@@ -310,13 +314,13 @@ public:
   inline wxWindow *GetParent() const;
   inline void SetParent(wxWindow *p) ;
   inline wxWindow *GetGrandParent() const;
-  inline wxList *GetChildren() const;
+  inline wxListGetChildren() 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);
-  inline virtual wxFont *GetFont() const;
+  inline virtual wxFontGetFont() const;
 
   // Set/get the window's validator
   void SetValidator(const wxValidator& validator);
@@ -622,7 +626,7 @@ public:
   // For double-click detection
   long                  m_lastTS;      // last timestamp
   int                   m_lastButton;  // last pressed button
-  wxList                m_updateRects;     // List of wxRectangles representing damaged region
+  wxList                m_updateRects;     // List of wxRects representing damaged region
   bool                  m_isShown;
 protected:
   WXWidget              m_mainWidget;
@@ -655,8 +659,8 @@ inline void wxWindow::SetId(int id) { m_windowId = id; }
 inline wxWindow *wxWindow::GetParent() const { return m_windowParent; }
 inline void wxWindow::SetParent(wxWindow *p) { m_windowParent = p; }
 inline wxWindow *wxWindow::GetGrandParent() const { return (m_windowParent ? m_windowParent->m_windowParent : (wxWindow*) NULL); }
-inline wxList *wxWindow::GetChildren() const { return m_children; }
-inline wxFont *wxWindow::GetFont() const { return (wxFont *) & m_windowFont; }
+inline wxList& wxWindow::GetChildren() const { return (wxList&) * m_children; }
+inline wxFont& wxWindow::GetFont() const { return (wxFont&) m_windowFont; }
 inline wxString wxWindow::GetName() const { return m_windowName; }
 inline void wxWindow::SetName(const wxString& name) { m_windowName = name; }
 inline long wxWindow::GetWindowStyleFlag() const { return m_windowStyle; }
@@ -686,5 +690,19 @@ wxWindow* WXDLLEXPORT wxGetActiveWindow();
 
 WXDLLEXPORT_DATA(extern wxList) wxTopLevelWindows;
 
+// A little class to switch off size optimization while an instance of the object
+// exists
+class WXDLLEXPORT wxNoOptimize: public wxObject
+{
+public:
+  wxNoOptimize();
+  ~wxNoOptimize();
+
+  static bool CanOptimize();
+
+protected:
+  static int m_count;
+};
+
 #endif
     // _WX_WINDOW_H_