X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/75bc8b3454bd2adda5bf3dc0e60984a275ea7ac3..4f2d6692c7119cbe213f04cd80d8e697bf3533ae:/include/wx/filepicker.h diff --git a/include/wx/filepicker.h b/include/wx/filepicker.h index 3b471b7aca..5264ddb3ea 100644 --- a/include/wx/filepicker.h +++ b/include/wx/filepicker.h @@ -5,7 +5,6 @@ // Modified by: // Created: 14/4/2006 // Copyright: (c) Francesco Montorsi -// RCS-ID: $Id$ // Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// @@ -59,8 +58,8 @@ private: DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxFileDirPickerEvent) }; -wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEvent ); -wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_FILEPICKER_CHANGED, wxFileDirPickerEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_DIRPICKER_CHANGED, wxFileDirPickerEvent ); // ---------------------------------------------------------------------------- // event types and macros @@ -72,9 +71,9 @@ typedef void (wxEvtHandler::*wxFileDirPickerEventFunction)(wxFileDirPickerEvent& wxEVENT_HANDLER_CAST(wxFileDirPickerEventFunction, func) #define EVT_FILEPICKER_CHANGED(id, fn) \ - wx__DECLARE_EVT1(wxEVT_COMMAND_FILEPICKER_CHANGED, id, wxFileDirPickerEventHandler(fn)) + wx__DECLARE_EVT1(wxEVT_FILEPICKER_CHANGED, id, wxFileDirPickerEventHandler(fn)) #define EVT_DIRPICKER_CHANGED(id, fn) \ - wx__DECLARE_EVT1(wxEVT_COMMAND_DIRPICKER_CHANGED, id, wxFileDirPickerEventHandler(fn)) + wx__DECLARE_EVT1(wxEVT_DIRPICKER_CHANGED, id, wxFileDirPickerEventHandler(fn)) // ---------------------------------------------------------------------------- // wxFileDirPickerWidgetBase: a generic abstract interface which must be @@ -87,9 +86,13 @@ public: wxFileDirPickerWidgetBase() { } virtual ~wxFileDirPickerWidgetBase() { } + // Path here is the name of the selected file or directory. wxString GetPath() const { return m_path; } virtual void SetPath(const wxString &str) { m_path=str; } + // Set the directory to open the file browse dialog at initially. + virtual void SetInitialDirectory(const wxString& dir) = 0; + // returns the picker widget cast to wxControl virtual wxControl *AsControl() = 0; @@ -125,7 +128,7 @@ protected: // requires that all classes being mapped as wx{File|Dir}PickerWidget have the // same prototype for the contructor... // since GTK >= 2.6, there is GtkFileButton -#if defined(__WXGTK26__) && !defined(__WXUNIVERSAL__) +#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) #include "wx/gtk/filepicker.h" #define wxFilePickerWidget wxFileButton #define wxDirPickerWidget wxDirButton @@ -144,7 +147,7 @@ protected: class WXDLLIMPEXP_CORE wxFileDirPickerCtrlBase : public wxPickerBase { public: - wxFileDirPickerCtrlBase() : m_bIgnoreNextTextCtrlUpdate(false) {} + wxFileDirPickerCtrlBase() {} protected: // NB: no default values since this function will never be used @@ -165,6 +168,12 @@ public: // public API wxString GetPath() const; void SetPath(const wxString &str); + // Set the directory to open the file browse dialog at initially. + void SetInitialDirectory(const wxString& dir) + { + m_pickerIface->SetInitialDirectory(dir); + } + public: // internal functions void UpdatePickerFromTextCtrl(); @@ -173,11 +182,6 @@ public: // internal functions // event handler for our picker void OnFileDirChange(wxFileDirPickerEvent &); - // Returns TRUE if the current path is a valid one - // (i.e. a valid file for a wxFilePickerWidget or a valid - // folder for a wxDirPickerWidget). - virtual bool CheckPath(const wxString &str) const = 0; - // TRUE if any textctrl change should update the current working directory virtual bool IsCwdToUpdate() const = 0; @@ -199,9 +203,6 @@ protected: protected: - // true if the next UpdateTextCtrl() call is to ignore - bool m_bIgnoreNextTextCtrlUpdate; - // m_picker object as wxFileDirPickerWidgetBase interface wxFileDirPickerWidgetBase *m_pickerIface; }; @@ -265,9 +266,6 @@ public: public: // overrides - // return true if the given path is valid for this control - bool CheckPath(const wxString& path) const; - // return the text control value in canonical form wxString GetTextCtrlValue() const; @@ -275,11 +273,11 @@ public: // overrides { return HasFlag(wxFLP_CHANGE_DIR); } wxEventType GetEventType() const - { return wxEVT_COMMAND_FILEPICKER_CHANGED; } + { return wxEVT_FILEPICKER_CHANGED; } virtual void DoConnect( wxControl *sender, wxFileDirPickerCtrlBase *eventSink ) { - sender->Connect( wxEVT_COMMAND_FILEPICKER_CHANGED, + sender->Connect( wxEVT_FILEPICKER_CHANGED, wxFileDirPickerEventHandler( wxFileDirPickerCtrlBase::OnFileDirChange ), NULL, eventSink ); } @@ -369,19 +367,17 @@ public: public: // overrides - bool CheckPath(const wxString &path) const; - wxString GetTextCtrlValue() const; bool IsCwdToUpdate() const { return HasFlag(wxDIRP_CHANGE_DIR); } wxEventType GetEventType() const - { return wxEVT_COMMAND_DIRPICKER_CHANGED; } + { return wxEVT_DIRPICKER_CHANGED; } virtual void DoConnect( wxControl *sender, wxFileDirPickerCtrlBase *eventSink ) { - sender->Connect( wxEVT_COMMAND_DIRPICKER_CHANGED, + sender->Connect( wxEVT_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( wxFileDirPickerCtrlBase::OnFileDirChange ), NULL, eventSink ); } @@ -416,5 +412,9 @@ private: #endif // wxUSE_DIRPICKERCTRL +// old wxEVT_COMMAND_* constants +#define wxEVT_COMMAND_FILEPICKER_CHANGED wxEVT_FILEPICKER_CHANGED +#define wxEVT_COMMAND_DIRPICKER_CHANGED wxEVT_DIRPICKER_CHANGED + #endif // _WX_FILEDIRPICKER_H_BASE_