]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/toplevel.h
compatibility fix: have wxListKey ctors from C strings so that passing string literal...
[wxWidgets.git] / include / wx / os2 / toplevel.h
index a54b9d9602f40f9fbc17b4300c1a5f1904a0f974..e5fa3c0723cee59513f27ad80fe18309fa57c5f4 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        wx/msw/toplevel.h
-// Purpose:     wxTopLevelWindowMSW is the MSW implementation of wxTLW
+// Name:        wx/os2/toplevel.h
+// Purpose:     wxTopLevelWindowOS2 is the OS2 implementation of wxTLW
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     20.09.01
 #ifndef _WX_MSW_TOPLEVEL_H_
 #define _WX_MSW_TOPLEVEL_H_
 
-#ifdef __GNUG__
-    #pragma interface "toplevel.h"
-#endif
-
-enum ETemplateID { kResizeableDialog = 127
-                  ,kCaptionDialog
-                  ,kNoCaptionDialog
-                 };
+enum ETemplateID
+{
+    kResizeableDialog = 130,
+    kCaptionDialog,
+    kNoCaptionDialog
+};
 
 // ----------------------------------------------------------------------------
 // wxTopLevelWindowOS2
@@ -59,39 +57,49 @@ public:
     //
     // Implement base class pure virtuals
     //
-           virtual void Iconize(bool bIconize = TRUE);
-    inline virtual bool IsFullScreen(void) const { return m_bFsIsShowing; }
-           virtual bool IsIconized(void) const;
-           virtual bool IsMaximized(void) const;
-           virtual void Maximize(bool bMaximize = TRUE);
-           virtual void Restore(void);
-           virtual void SendSizeEvent(void);
-           virtual void SetIcon(const wxIcon& rIcon);
-           virtual bool Show(bool bShow = TRUE);
-           virtual bool ShowFullScreen( bool bShow
-                                       ,long lStyle = wxFULLSCREEN_ALL
-                                      );
-
-    //
-    // EnableCloseButton(FALSE) may be used to remove the "Close"
+    virtual void SetTitle( const wxString& title);
+    virtual wxString GetTitle() const;
+
+    virtual void Iconize(bool bIconize = true);
+    virtual bool IsFullScreen(void) const { return m_bFsIsShowing; }
+    virtual bool IsIconized(void) const;
+    virtual bool IsMaximized(void) const;
+    virtual void Maximize(bool bMaximize = true);
+    virtual void Restore(void);
+    virtual void SendSizeEvent(void);
+    virtual void SetIcons(const wxIconBundle& rIcons);
+
+    virtual bool Show(bool bShow = true);
+    virtual bool ShowFullScreen( bool bShow,
+                                 long lStyle = wxFULLSCREEN_ALL );
+
+    //
+    // EnableCloseButton(false) may be used to remove the "Close"
     // button from the title bar
     //
-                   bool EnableCloseButton(bool bEnable = TRUE);
-                   HWND GetFrame(void) const { return m_hFrame; }
+    bool EnableCloseButton(bool bEnable = true);
+    HWND GetFrame(void) const { return m_hFrame; }
 
     //
     // Implementation from now on
     // --------------------------
     //
-           PSWP         GetSwpClient(void) { return &m_vSwpClient; }
+    PSWP         GetSwpClient(void) { return &m_vSwpClient; }
+
+    void         OnActivate(wxActivateEvent& rEvent);
+
+    void         SetLastFocus(wxWindow *pWin) { m_pWinLastFocused = pWin; }
+    wxWindow*    GetLastFocus(void) const { return m_pWinLastFocused; }
+
 protected:
+
     //
     // Common part of all ctors
     //
     void Init(void);
 
     //
-    // Create a new frame, return FALSE if it couldn't be created
+    // Create a new frame, return false if it couldn't be created
     //
     bool CreateFrame( const wxString& rsTitle
                      ,const wxPoint&  rPos
@@ -100,7 +108,7 @@ protected:
 
     //
     // Create a new dialog using the given dialog template from resources,
-    // return FALSE if it couldn't be created
+    // return false if it couldn't be created
     //
     bool CreateDialog( ULONG           ulDlgTemplate
                       ,const wxString& rsTitle
@@ -124,43 +132,46 @@ protected:
                                 ) const;
 
     //
-    // Get the OS/2 window flags corresponding to wxWindows ones
+    // Translate wxWidgets flags into OS flags
+    //
+    virtual WXDWORD OS2GetStyle( long     lFlag
+                                ,WXDWORD* pdwExstyle
+                               ) const;
+
     //
-    // The functions returns the flags (WS_XXX) directly and puts the ext
-    // (WS_EX_XXX) flags into the provided pointer if not NULL
+    // Choose the right parent to use with CreateWindow()
     //
-    long OS2GetCreateWindowFlags(long* lExflags) const;
+    virtual WXHWND  OS2GetParent(void) const;
 
     //
     // Is the frame currently iconized?
     //
-    bool                            m_bIconized;
+    bool m_bIconized;
 
     //
     // Should the frame be maximized when it will be shown? set by Maximize()
     // when it is called while the frame is hidden
     //
-    bool                            m_bMaximizeOnShow;
+    bool   m_bMaximizeOnShow;
 
     //
     // Data to save/restore when calling ShowFullScreen
     //
-    long                            m_lFsStyle; // Passed to ShowFullScreen
-    wxRect                          m_vFsOldSize;
-    long                            m_lFsOldWindowStyle;
-    bool                            m_bFsIsMaximized;
-    bool                            m_bFsIsShowing;
+    long   m_lFsStyle; // Passed to ShowFullScreen
+    wxRect m_vFsOldSize;
+    long   m_lFsOldWindowStyle;
+    bool   m_bFsIsMaximized;
+    bool   m_bFsIsShowing;
 
-    WXHWND                          m_hFrame;
-    SWP                             m_vSwp;
-    SWP                             m_vSwpClient;
-    static bool                     m_sbInitialized;
-}; // end of CLASS wxTopLevelWindowOS2
+    wxWindow* m_pWinLastFocused;
 
-//
-// List of all frames and modeless dialogs
-//
-extern WXDLLEXPORT_DATA(wxWindowList) wxModelessWindows;
+    WXHWND m_hFrame;
+    SWP    m_vSwp;
+    SWP    m_vSwpClient;
+    static bool m_sbInitialized;
+    static wxWindow* m_spHiddenParent;
 
-#endif // _WX_MSW_TOPLEVEL_H_
+    DECLARE_EVENT_TABLE()
+}; // end of CLASS wxTopLevelWindowOS2
 
+#endif // _WX_MSW_TOPLEVEL_H_