]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
added test for env var expansion
[wxWidgets.git] / include / wx / window.h
index 86a38edd76de32e6bf565e9f4372f4d2d48a39d1..59a9769b1b5fe65d4d3e0ad0b006d380ff0c9c7e 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_WINDOW_H_BASE_
 #define _WX_WINDOW_H_BASE_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "windowbase.h"
 #endif
 
@@ -33,8 +33,8 @@
 #include "wx/validate.h"        // for wxDefaultValidator (always include it)
 
 #if wxUSE_PALETTE
-       #include "wx/dcclient.h"
-       #include "wx/palette.h"
+    #include "wx/dcclient.h"
+    #include "wx/palette.h"
 #endif // wxUSE_PALETTE
 
 #if wxUSE_ACCEL
@@ -375,6 +375,9 @@ public:
         // set focus to this window
     virtual void SetFocus() = 0;
 
+        // set focus to this window as the result of a keyboard action
+    virtual void SetFocusFromKbd() { SetFocus(); }
+
         // return the window which currently has the focus or NULL
     static wxWindow *FindFocus() /* = 0: implement in derived classes */;
 
@@ -397,6 +400,9 @@ public:
     virtual wxWindow *SetDefaultItem(wxWindow * WXUNUSED(child))
         { return NULL; }
 
+        // set this child as temporary default
+    virtual void SetTmpDefaultItem(wxWindow * WXUNUSED(win)) { }
+
     // parent/children relations
     // -------------------------
 
@@ -417,14 +423,24 @@ public:
         // was changed, FALSE otherwise (error or newParent == oldParent)
     virtual bool Reparent( wxWindowBase *newParent );
 
+        // implementation mostly
+    virtual void AddChild( wxWindowBase *child );
+    virtual void RemoveChild( wxWindowBase *child );
+
+    // looking for windows
+    // -------------------
+
         // find window among the descendants of this one either by id or by
         // name (return NULL if not found)
     wxWindow *FindWindow( long id );
     wxWindow *FindWindow( const wxString& name );
 
-        // implementation mostly
-    virtual void AddChild( wxWindowBase *child );
-    virtual void RemoveChild( wxWindowBase *child );
+        // Find a window among any window (all return NULL if not found)
+    static wxWindow *FindWindowById( long id, const wxWindow *parent = NULL );
+    static wxWindow *FindWindowByName( const wxString& name,
+                                       const wxWindow *parent = NULL );
+    static wxWindow *FindWindowByLabel( const wxString& label,
+                                        const wxWindow *parent = NULL );
 
     // event handler stuff
     // -------------------
@@ -822,6 +838,10 @@ public:
 #endif // wxUSE_PALETTE
 
 protected:
+#if wxUSE_CONSTRAINTS
+    // satisfy the constraints for the windows but don't set the window sizes
+    void SatisfyConstraints();
+#endif // wxUSE_CONSTRAINTS
 
     // the window id - a number which uniquely identifies a window among
     // its siblings unless it is -1
@@ -834,7 +854,10 @@ protected:
 
     // the minimal allowed size for the window (no minimal size if variable(s)
     // contain(s) -1)
-    int                  m_minWidth, m_minHeight, m_maxWidth, m_maxHeight;
+    int                  m_minWidth,
+                         m_minHeight,
+                         m_maxWidth,
+                         m_maxHeight;
 
     // event handler for this window: usually is just 'this' but may be
     // changed with SetEventHandler()