Include wx/defs.h to get wxUSE_DIRDLG value from it, otherwise it could be undefined, and hence evaluate to 0 (unfortunately without even a warning with some compilers), if this header was the first wx header to be included.
		
			
				
	
	
		
			124 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/dirdlg.h
 | |
| // Purpose:     wxDirDialog base class
 | |
| // Author:      Robert Roebling
 | |
| // Modified by:
 | |
| // Created:
 | |
| // Copyright:   (c) Robert Roebling
 | |
| // Licence:     wxWindows Licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_DIRDLG_H_BASE_
 | |
| #define _WX_DIRDLG_H_BASE_
 | |
| 
 | |
| #include "wx/defs.h"
 | |
| 
 | |
| #if wxUSE_DIRDLG
 | |
| 
 | |
| #include "wx/dialog.h"
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // constants
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| extern WXDLLIMPEXP_DATA_CORE(const char) wxDirDialogNameStr[];
 | |
| extern WXDLLIMPEXP_DATA_CORE(const char) wxDirDialogDefaultFolderStr[];
 | |
| extern WXDLLIMPEXP_DATA_CORE(const char) wxDirSelectorPromptStr[];
 | |
| 
 | |
| #define wxDD_CHANGE_DIR         0x0100
 | |
| #define wxDD_DIR_MUST_EXIST     0x0200
 | |
| 
 | |
| // deprecated, on by default now, use wxDD_DIR_MUST_EXIST to disable it
 | |
| #define wxDD_NEW_DIR_BUTTON     0
 | |
| 
 | |
| #define wxDD_DEFAULT_STYLE      (wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
 | |
| 
 | |
| //-------------------------------------------------------------------------
 | |
| // wxDirDialogBase
 | |
| //-------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLIMPEXP_CORE wxDirDialogBase : public wxDialog
 | |
| {
 | |
| public:
 | |
|     wxDirDialogBase() {}
 | |
|     wxDirDialogBase(wxWindow *parent,
 | |
|                     const wxString& title = wxDirSelectorPromptStr,
 | |
|                     const wxString& defaultPath = wxEmptyString,
 | |
|                     long style = wxDD_DEFAULT_STYLE,
 | |
|                     const wxPoint& pos = wxDefaultPosition,
 | |
|                     const wxSize& sz = wxDefaultSize,
 | |
|                     const wxString& name = wxDirDialogNameStr)
 | |
|     {
 | |
|         Create(parent, title, defaultPath, style, pos, sz, name);
 | |
|     }
 | |
| 
 | |
|     virtual ~wxDirDialogBase() {}
 | |
| 
 | |
| 
 | |
|     bool Create(wxWindow *parent,
 | |
|                 const wxString& title = wxDirSelectorPromptStr,
 | |
|                 const wxString& defaultPath = wxEmptyString,
 | |
|                 long style = wxDD_DEFAULT_STYLE,
 | |
|                 const wxPoint& pos = wxDefaultPosition,
 | |
|                 const wxSize& sz = wxDefaultSize,
 | |
|                 const wxString& name = wxDirDialogNameStr)
 | |
|     {
 | |
|         if (!wxDialog::Create(parent, wxID_ANY, title, pos, sz, style, name))
 | |
|             return false;
 | |
|         m_path = defaultPath;
 | |
|         m_message = title;
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     virtual void SetMessage(const wxString& message) { m_message = message; }
 | |
|     virtual void SetPath(const wxString& path) { m_path = path; }
 | |
| 
 | |
|     virtual wxString GetMessage() const { return m_message; }
 | |
|     virtual wxString GetPath() const { return m_path; }
 | |
| 
 | |
| protected:
 | |
|     wxString m_message;
 | |
|     wxString m_path;
 | |
| };
 | |
| 
 | |
| 
 | |
| // Universal and non-port related switches with need for generic implementation
 | |
| #if defined(__WXUNIVERSAL__)
 | |
|     #include "wx/generic/dirdlgg.h"
 | |
|     #define wxDirDialog wxGenericDirDialog
 | |
| #elif defined(__WXMSW__) && !wxUSE_OLE
 | |
|     #include "wx/generic/dirdlgg.h"
 | |
|     #define wxDirDialog wxGenericDirDialog
 | |
| #elif defined(__WXMSW__)
 | |
|     #include "wx/msw/dirdlg.h"  // Native MSW
 | |
| #elif defined(__WXGTK20__)
 | |
|     #include "wx/gtk/dirdlg.h"  // Native GTK for gtk2.4
 | |
| #elif defined(__WXGTK__)
 | |
|     #include "wx/generic/dirdlgg.h"
 | |
|     #define wxDirDialog wxGenericDirDialog
 | |
| #elif defined(__WXMAC__)
 | |
|     #include "wx/osx/dirdlg.h"      // Native Mac
 | |
| #elif defined(__WXMOTIF__) || \
 | |
|       defined(__WXX11__)
 | |
|     #include "wx/generic/dirdlgg.h"     // Other ports use generic implementation
 | |
|     #define wxDirDialog wxGenericDirDialog
 | |
| #elif defined(__WXQT__)
 | |
|     #include "wx/qt/dirdlg.h"
 | |
| #endif
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // common ::wxDirSelector() function
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| WXDLLIMPEXP_CORE wxString
 | |
| wxDirSelector(const wxString& message = wxDirSelectorPromptStr,
 | |
|               const wxString& defaultPath = wxEmptyString,
 | |
|               long style = wxDD_DEFAULT_STYLE,
 | |
|               const wxPoint& pos = wxDefaultPosition,
 | |
|               wxWindow *parent = NULL);
 | |
| 
 | |
| #endif // wxUSE_DIRDLG
 | |
| 
 | |
| #endif
 | |
|     // _WX_DIRDLG_H_BASE_
 |