X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d156af3247c862e51a7c62f569a3fd302052a42..0492f62e0bee1c391a4557f5af84b838430902a0:/include/wx/filepicker.h diff --git a/include/wx/filepicker.h b/include/wx/filepicker.h index 3b471b7aca..771ad2e55e 100644 --- a/include/wx/filepicker.h +++ b/include/wx/filepicker.h @@ -59,8 +59,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 +72,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 +87,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 +129,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 +148,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 +169,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 +183,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 +204,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 +267,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 +274,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 +368,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 +413,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_