wxWidgets/include/wx/dirdlg.h
2006-03-12 15:30:52 +00:00

120 lines
3.4 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/dirdlg.h
// Purpose: wxDirDialog base class
// Author: Robert Roebling
// Modified by:
// Created:
// Copyright: (c) Robert Roebling
// RCS-ID: $Id$
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DIRDLG_H_BASE_
#define _WX_DIRDLG_H_BASE_
#if wxUSE_DIRDLG
#include "wx/dialog.h"
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
extern WXDLLEXPORT_DATA(const wxChar) wxDirDialogNameStr[];
extern WXDLLEXPORT_DATA(const wxChar) wxDirDialogDefaultFolderStr[];
extern WXDLLEXPORT_DATA(const wxChar) wxDirSelectorPromptStr[];
#ifdef __WXWINCE__
#define wxDD_DEFAULT_STYLE \
(wxDEFAULT_DIALOG_STYLE | wxDD_NEW_DIR_BUTTON)
#else
#define wxDD_DEFAULT_STYLE \
(wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxDD_NEW_DIR_BUTTON)
#endif
/*
The interface (TODO: make the other classes really derive from it!) is
something like this:
class WXDLLEXPORT wxDirDialogBase : public wxDialog
{
public:
wxDirDialogBase(wxWindow *parent,
const wxString& title = wxFileSelectorPromptStr,
const wxString& defaultPath = wxEmptyString,
long style = wxDD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = _T("dirdialog"));
void SetMessage(const wxString& message);
void SetPath(const wxString& path);
void SetStyle(long style);
wxString GetMessage() const;
wxString GetPath() const;
long GetStyle() const;
};
*/
// Universal and non-port related switches with need for generic implementation
#if defined(__WXMSW__) && (defined(__WXUNIVERSAL__) || \
defined(__SALFORDC__) || \
!wxUSE_OLE || \
(defined (__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS))
#include "wx/generic/dirdlgg.h"
#define wxDirDialog wxGenericDirDialog
// MS PocketPC or MS Smartphone
#elif defined(__WXMSW__) && defined(__WXWINCE__) && !defined(__HANDHELDPC__)
#include "wx/generic/dirdlgg.h"
#define wxDirDialog wxGenericDirDialog
// Native MSW
#elif defined(__WXMSW__)
#include "wx/msw/dirdlg.h"
// Native Mac
#elif defined(__WXMAC__)
#include "wx/mac/dirdlg.h"
// Native Cocoa
#elif defined(__WXCOCOA__)
#include "wx/cocoa/dirdlg.h"
// Other ports use generic implementation
#elif defined(__WXMOTIF__) || \
defined(__WXGTK__) || \
defined(__WXX11__) || \
defined(__WXMGL__) || \
defined(__WXCOCOA__) || \
defined(__WXPM__)
#include "wx/generic/dirdlgg.h"
#define wxDirDialog wxGenericDirDialog
#endif
// ----------------------------------------------------------------------------
// common ::wxDirSelector() function
// ----------------------------------------------------------------------------
WXDLLEXPORT 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_