File/dir dialog styles and other changes (patch 1488371):

- check invalid combinations of styles in wxFileDialogBase::Create()
- use wxFD_XXX naming convention for wxFileDialog styles
- replaces wxDD_NEW_DIR_BUTTON with wxDD_DIR_MUST_EXIST
- removes #ifdef __WXGTK24__ / #endif blocks from wxGTK code
- removes wxFileDialogBase::Get/SetStyle and wxFileDialogBase::m_fileName
- renames wxDirDialogGTK to wxDirDialog


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-05-28 23:32:12 +00:00
parent 55325d01e6
commit ff3e84ffdc
53 changed files with 273 additions and 310 deletions

View File

@@ -29,8 +29,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr);
~wxFileDialog();
virtual void SetPath(const wxString& path);

View File

@@ -1706,13 +1706,6 @@ enum wxBorder
#define wxPD_REMAINING_TIME 0x0040
#define wxPD_CAN_SKIP 0x0080
/*
* wxDirDialog styles
*/
#define wxDD_NEW_DIR_BUTTON 0x0080
#define wxDD_CHANGE_DIR 0x0100
/*
* extended dialog specifiers. these values are stored in a different

View File

@@ -24,13 +24,13 @@ extern WXDLLEXPORT_DATA(const wxChar) wxDirDialogNameStr[];
extern WXDLLEXPORT_DATA(const wxChar) wxDirDialogDefaultFolderStr[];
extern WXDLLEXPORT_DATA(const wxChar) wxDirSelectorPromptStr[];
#define wxDD_DIR_MUST_EXIST 0x0080
#define wxDD_CHANGE_DIR 0x0100
#ifdef __WXWINCE__
#define wxDD_DEFAULT_STYLE \
(wxDEFAULT_DIALOG_STYLE | wxDD_NEW_DIR_BUTTON)
#define wxDD_DEFAULT_STYLE wxDEFAULT_DIALOG_STYLE
#else
#define wxDD_DEFAULT_STYLE \
(wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxDD_NEW_DIR_BUTTON)
#define wxDD_DEFAULT_STYLE (wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
#endif
//-------------------------------------------------------------------------
@@ -85,59 +85,34 @@ protected:
// 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__) && (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"
#include "wx/generic/dirdlgg.h" // MS PocketPC or MS Smartphone
#define wxDirDialog wxGenericDirDialog
// Native MSW
#elif defined(__WXMSW__)
#include "wx/msw/dirdlg.h"
// Native GTK for gtk2.x and generic for gtk1.x
#include "wx/msw/dirdlg.h" // Native MSW
#elif defined(__WXGTK24__)
#include "wx/gtk/dirdlg.h" // Native GTK for gtk2.4
#elif defined(__WXGTK__)
#if defined( __WXGTK20__ )
#include "wx/gtk/dirdlg.h"
#define wxDirDialog wxDirDialogGTK
#else
#include "wx/generic/dirdlgg.h"
#define wxDirDialog wxGenericDirDialog
#endif
// Native Mac
#elif defined(__WXMAC__)
#include "wx/mac/dirdlg.h"
// Native Cocoa
#include "wx/mac/dirdlg.h" // Native Mac
#elif defined(__WXCOCOA__)
#include "wx/cocoa/dirdlg.h"
// Other ports use generic implementation
#include "wx/cocoa/dirdlg.h" // Native Cocoa
#elif defined(__WXMOTIF__) || \
defined(__WXX11__) || \
defined(__WXMGL__) || \
defined(__WXCOCOA__) || \
defined(__WXPM__)
#include "wx/generic/dirdlgg.h"
#include "wx/generic/dirdlgg.h" // Other ports use generic implementation
#define wxDirDialog wxGenericDirDialog
#endif
// ----------------------------------------------------------------------------

View File

@@ -23,6 +23,7 @@
// wxFileDialog data
//----------------------------------------------------------------------------
#if WXWIN_COMPATIBILITY_2_6
enum
{
wxOPEN = 0x0001,
@@ -35,7 +36,21 @@ enum
wxMULTIPLE = 0x0020,
wxCHANGE_DIR = 0x0040
};
#endif
enum
{
wxFD_OPEN = 0x0001,
wxFD_SAVE = 0x0002,
wxFD_OVERWRITE_PROMPT = 0x0004,
wxFD_FILE_MUST_EXIST = 0x0010,
wxFD_MULTIPLE = 0x0020,
wxFD_CHANGE_DIR = 0x0040
};
#define wxFD_DEFAULT_STYLE wxFD_OPEN
extern WXDLLEXPORT_DATA(const wxChar) wxFileDialogNameStr[];
extern WXDLLEXPORT_DATA(const wxChar) wxFileSelectorPromptStr[];
extern WXDLLEXPORT_DATA(const wxChar) wxFileSelectorDefaultWildcardStr[];
@@ -53,11 +68,13 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition) : wxDialog()
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr)
{
Init();
Create(parent, message, defaultDir, defaultFile, wildCard, style, pos);
Create(parent, message, defaultDir, defaultFile, wildCard, style, pos, sz, name);
}
bool Create(wxWindow *parent,
@@ -65,15 +82,16 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr);
virtual void SetMessage(const wxString& message) { m_message = message; }
virtual void SetPath(const wxString& path) { m_path = path; }
virtual void SetDirectory(const wxString& dir) { m_dir = dir; }
virtual void SetFilename(const wxString& name) { m_fileName = name; }
virtual void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; }
virtual void SetStyle(long style) { m_dialogStyle = style; }
virtual void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; }
virtual wxString GetMessage() const { return m_message; }
@@ -83,7 +101,6 @@ public:
virtual wxString GetFilename() const { return m_fileName; }
virtual void GetFilenames(wxArrayString& files) const { files.Empty(); files.Add(m_fileName); }
virtual wxString GetWildcard() const { return m_wildCard; }
virtual long GetStyle() const { return m_dialogStyle; }
virtual int GetFilterIndex() const { return m_filterIndex; }
// Utility functions
@@ -108,7 +125,6 @@ public:
protected:
wxString m_message;
long m_dialogStyle;
wxString m_dir;
wxString m_path; // Full path
wxString m_fileName;
@@ -168,8 +184,10 @@ wxSaveFileSelector(const wxChar *what,
#include "wx/msw/filedlg.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/filedlg.h"
#elif defined(__WXGTK24__)
#include "wx/gtk/filedlg.h" // GTK+ > 2.4 has native version
#elif defined(__WXGTK20__)
#include "wx/gtk/filedlg.h"
#include "wx/generic/filedlgg.h"
#elif defined(__WXGTK__)
#include "wx/gtk1/filedlg.h"
#elif defined(__WXX11__)

View File

@@ -25,11 +25,9 @@ extern WXDLLEXPORT_DATA(const wxChar) wxDirSelectorPromptStr[];
#ifndef wxDD_DEFAULT_STYLE
#ifdef __WXWINCE__
#define wxDD_DEFAULT_STYLE \
(wxDEFAULT_DIALOG_STYLE | wxDD_NEW_DIR_BUTTON)
#define wxDD_DEFAULT_STYLE wxDEFAULT_DIALOG_STYLE
#else
#define wxDD_DEFAULT_STYLE \
(wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxDD_NEW_DIR_BUTTON)
#define wxDD_DEFAULT_STYLE (wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
#endif
#endif

View File

@@ -50,8 +50,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr,
bool bypassGenericImpl = false );
bool Create( wxWindow *parent,
@@ -59,8 +61,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr,
bool bypassGenericImpl = false );
virtual ~wxGenericFileDialog();

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: dirdlg.h
// Purpose: wxDirDialogGTK
// Purpose: wxDirDialog
// Author: Francesco Montorsi
// Id: $Id$
// Copyright: (c) 2006 Francesco Montorsi
@@ -13,15 +13,15 @@
#include "wx/generic/dirdlgg.h"
//-------------------------------------------------------------------------
// wxDirDialogGTK
// wxDirDialog
//-------------------------------------------------------------------------
class WXDLLIMPEXP_CORE wxDirDialogGTK : public wxGenericDirDialog
class WXDLLIMPEXP_CORE wxDirDialog : public wxGenericDirDialog
{
public:
wxDirDialogGTK() { }
wxDirDialog() { }
wxDirDialogGTK(wxWindow *parent,
wxDirDialog(wxWindow *parent,
const wxString& message = wxDirSelectorPromptStr,
const wxString& defaultPath = wxEmptyString,
long style = wxDD_DEFAULT_STYLE,
@@ -29,7 +29,7 @@ public:
const wxSize& size = wxDefaultSize,
const wxString& name = wxDirDialogNameStr);
virtual ~wxDirDialogGTK() {}
virtual ~wxDirDialog() { }
public: // overrides from wxGenericDirDialog
@@ -50,7 +50,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxDirDialogGTK)
DECLARE_DYNAMIC_CLASS(wxDirDialog)
DECLARE_EVENT_TABLE()
void OnFakeOk( wxCommandEvent &event );
};

View File

@@ -26,8 +26,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr);
virtual ~wxFileDialog() {}

View File

@@ -26,8 +26,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr);
virtual ~wxFileDialog();

View File

@@ -31,8 +31,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr);
virtual int ShowModal();
};

View File

@@ -24,8 +24,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr);
virtual void SetPath(const wxString& path);
virtual void GetPaths(wxArrayString& paths) const;

View File

@@ -25,8 +25,10 @@ public:
,const wxString& rsDefaultDir = wxEmptyString
,const wxString& rsDefaultFile = wxEmptyString
,const wxString& rsWildCard = wxFileSelectorDefaultWildcardStr
,long lStyle = 0
,const wxPoint& rPos = wxDefaultPosition
,long lStyle = wxFD_DEFAULT_STYLE
,const wxPoint& rPos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr
);
virtual void GetPaths(wxArrayString& rasPath) const;

View File

@@ -24,8 +24,10 @@ public:
const wxString& defaultDir = wxEmptyString,
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
long style = wxFD_DEFAULT_STYLE,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
const wxString& name = wxFileDialogNameStr);
virtual void SetPath(const wxString& path);
virtual void GetPaths(wxArrayString& paths) const;