git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			181 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        dialog.h
 | |
| // Purpose:     wxDialog class
 | |
| // Author:      David Webster
 | |
| // Modified by:
 | |
| // Created:     10/14/99
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) David Webster
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_DIALOG_H_
 | |
| #define _WX_DIALOG_H_
 | |
| 
 | |
| #include "wx/panel.h"
 | |
| 
 | |
| WXDLLEXPORT_DATA(extern const char*) wxDialogNameStr;
 | |
| 
 | |
| //
 | |
| // Dialog boxes
 | |
| //
 | |
| class WXDLLEXPORT wxDialog: public wxDialogBase
 | |
| {
 | |
| public:
 | |
| 
 | |
|   inline wxDialog() { Init(); }
 | |
| 
 | |
|   //
 | |
|   // Constructor with a modal flag, but no window id - the old convention
 | |
|   //
 | |
|   inline wxDialog( wxWindow*       pParent
 | |
|                   ,const wxString& rsTitle
 | |
|                   ,bool            bModal
 | |
|                   ,int             nX = -1
 | |
|                   ,int             nY = -1
 | |
|                   ,int             nWidth = 500
 | |
|                   ,int             nHeight = 500
 | |
|                   ,long            lStyle = wxDEFAULT_DIALOG_STYLE
 | |
|                   ,const wxString& rsName = wxDialogNameStr
 | |
|                  )
 | |
|     {
 | |
|         long                        lModalStyle = lStyle ? wxDIALOG_MODAL : wxDIALOG_MODELESS ;
 | |
| 
 | |
|         Create( pParent
 | |
|                ,-1
 | |
|                ,rsTitle
 | |
|                ,wxPoint(nX, nY)
 | |
|                ,wxSize(nWidth, nHeight)
 | |
|                ,lStyle | lModalStyle
 | |
|                ,rsName
 | |
|               );
 | |
|     }
 | |
| 
 | |
|     //
 | |
|     // Constructor with no modal flag - the new convention.
 | |
|     //
 | |
|     inline wxDialog( wxWindow*       pParent
 | |
|                     ,wxWindowID      vId
 | |
|                     ,const wxString& rsTitle
 | |
|                     ,const wxPoint&  rPos = wxDefaultPosition
 | |
|                     ,const wxSize&   rSize = wxDefaultSize
 | |
|                     ,long            lStyle = wxDEFAULT_DIALOG_STYLE
 | |
|                     ,const wxString& rsName = wxDialogNameStr
 | |
|                    )
 | |
|     {
 | |
|         Create( pParent
 | |
|                ,vId
 | |
|                ,rsTitle
 | |
|                ,rPos
 | |
|                ,rSize
 | |
|                ,lStyle
 | |
|                ,rsName
 | |
|               );
 | |
|     }
 | |
| 
 | |
|     bool Create( wxWindow*       pParent
 | |
|                 ,wxWindowID      vId
 | |
|                 ,const wxString& rsTitle
 | |
|                 ,const wxPoint&  rPos = wxDefaultPosition
 | |
|                 ,const wxSize&   rSize = wxDefaultSize
 | |
|                 ,long            lStyle = wxDEFAULT_DIALOG_STYLE
 | |
|                 ,const wxString& rsName = wxDialogNameStr
 | |
|                );
 | |
|     ~wxDialog();
 | |
| 
 | |
|     virtual bool Destroy(void);
 | |
|     virtual bool Show(bool bShow);
 | |
|     virtual void Iconize(bool bIconize);
 | |
|     virtual bool IsIconized(void) const;
 | |
| 
 | |
|     virtual bool IsTopLevel(void) const { return TRUE; }
 | |
| 
 | |
|     void         SetModal(bool bFlag);
 | |
|     virtual bool IsModal(void) const;
 | |
| 
 | |
|     //
 | |
|     // For now, same as Show(TRUE) but returns return code
 | |
|     //
 | |
|     virtual int  ShowModal(void);
 | |
|     virtual void EndModal(int nRetCode);
 | |
| 
 | |
|     //
 | |
|     // Returns TRUE if we're in a modal loop
 | |
|     //
 | |
|     bool IsModalShowing() const;
 | |
| 
 | |
| #if WXWIN_COMPATIBILITY
 | |
|     bool Iconized() const { return IsIconized(); };
 | |
| #endif
 | |
| 
 | |
|     //
 | |
|     // Implementation only from now on
 | |
|     // -------------------------------
 | |
|     //
 | |
| 
 | |
|     //
 | |
|     // Event handlers
 | |
|     //
 | |
|     bool OnClose(void);
 | |
|     void OnCharHook(wxKeyEvent& rEvent);
 | |
|     void OnCloseWindow(wxCloseEvent& rEvent);
 | |
| 
 | |
|     //
 | |
|     // May be called to terminate the dialog with the given return code
 | |
|     //
 | |
| 
 | |
|     //
 | |
|     // Standard buttons
 | |
|     //
 | |
|     void     OnOK(wxCommandEvent& rEvent);
 | |
|     void     OnApply(wxCommandEvent& rEvent);
 | |
|     void     OnCancel(wxCommandEvent& rEvent);
 | |
| 
 | |
|     //
 | |
|     // Responds to colour changes
 | |
|     //
 | |
|     void     OnSysColourChanged(wxSysColourChangedEvent& rEvent);
 | |
| 
 | |
|     //
 | |
|     // Callbacks
 | |
|     //
 | |
|     virtual MRESULT OS2WindowProc( WXUINT   uMessage
 | |
|                                   ,WXWPARAM wParam
 | |
|                                   ,WXLPARAM lParam
 | |
|                                  );
 | |
| protected:
 | |
|     //
 | |
|     // Override more base class virtuals
 | |
|     //
 | |
|     virtual void DoSetClientSize( int nWidth
 | |
|                                  ,int nHeight
 | |
|                                 );
 | |
|     virtual void DoGetPosition( int* pnX
 | |
|                                ,int* pnY
 | |
|                               ) const;
 | |
|     //
 | |
|     // Show modal dialog and enter modal loop
 | |
|     //
 | |
|     void DoShowModal(void);
 | |
| 
 | |
|     //
 | |
|     // Common part of all ctors
 | |
|     //
 | |
|     void Init();
 | |
| 
 | |
| private:
 | |
|     wxWindow*                       m_pOldFocus;
 | |
| 
 | |
|     //
 | |
|     // While we are showing a modal dialog we disable the other windows using
 | |
|     // this object
 | |
|     //
 | |
|     class wxWindowDisabler*         m_pWindowDisabler;
 | |
| 
 | |
|     DECLARE_DYNAMIC_CLASS(wxDialog)
 | |
|     DECLARE_EVENT_TABLE()
 | |
| }; // end of CLASS wxDialog
 | |
| 
 | |
| #endif // _WX_DIALOG_H_
 | |
| 
 |