]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
Applied patch #445873
[wxWidgets.git] / include / wx / window.h
index 5cef6812a18163f6a0fea62f79344d72d22bceca..3f453930d61ce8afe94eb8e8716dfefe636af7b7 100644 (file)
     #include "wx/accel.h"
 #endif // wxUSE_ACCEL
 
+// when building wxUniv/Foo we don't want the code for native menu use to be
+// compiled in - it should only be used when building real wxFoo
+#ifdef __WXUNIVERSAL__
+    #define wxUSE_MENUS_NATIVE 0
+#else // __WXMSW__
+    #define wxUSE_MENUS_NATIVE wxUSE_MENUS
+#endif // __WXUNIVERSAL__/__WXMSW__
+
 // ----------------------------------------------------------------------------
 // forward declarations
 // ----------------------------------------------------------------------------
@@ -511,6 +519,12 @@ public:
         // clear the window entirely
     virtual void Clear() = 0;
 
+        // freeze the window: don't redraw it until it is thawed
+    virtual void Freeze() { }
+
+        // thaw the window: redraw it after it had been frozen
+    virtual void Thaw() { }
+
         // adjust DC for drawing on this window
     virtual void PrepareDC( wxDC & WXUNUSED(dc) ) { }
 
@@ -649,6 +663,18 @@ public:
     virtual void ScrollWindow( int dx, int dy,
                                const wxRect* rect = (wxRect *) NULL ) = 0;
 
+        // scrolls window by line/page: note that not all controls support this
+        //
+        // return TRUE if the position changed, FALSE otherwise
+    virtual bool ScrollLines(int WXUNUSED(lines)) { return FALSE; }
+    virtual bool ScrollPages(int WXUNUSED(pages)) { return FALSE; }
+
+        // convenient wrappers for ScrollLines/Pages
+    bool LineUp() { return ScrollLines(-1); }
+    bool LineDown() { return ScrollLines(1); }
+    bool PageUp() { return ScrollPages(-1); }
+    bool PageDown() { return ScrollPages(1); }
+
     // context-sensitive help
     // ----------------------
 
@@ -970,6 +996,14 @@ private:
         #define sm_classwxWindowGTK sm_classwxWindow
     #endif // wxUniv
     #include "wx/gtk/window.h"
+#elif defined(__WXGL__)
+    #ifdef __WXUNIVERSAL__
+        #define wxWindowNative wxWindowMGL
+    #else // !wxUniv
+        #define wxWindowMGL wxWindow
+        #define sm_classwxWindowMGL sm_classwxWindow
+    #endif // wxUniv
+    #include "wx/mgl/window.h"
 #elif defined(__WXQT__)
     #include "wx/qt/window.h"
 #elif defined(__WXMAC__)