X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af6ad984611ccf8af3e9a470aede2bbe9931e8e5..2903e6998a46a0b3504da30e21a9c28b344680ae:/include/wx/filepicker.h diff --git a/include/wx/filepicker.h b/include/wx/filepicker.h index 5aebbe6f6f..d06d94af1e 100644 --- a/include/wx/filepicker.h +++ b/include/wx/filepicker.h @@ -17,19 +17,20 @@ #if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL #include "wx/pickerbase.h" +#include "wx/filename.h" -class WXDLLIMPEXP_CORE wxDialog; -class WXDLLIMPEXP_CORE wxFileDirPickerEvent; +class WXDLLIMPEXP_FWD_CORE wxDialog; +class WXDLLIMPEXP_FWD_CORE wxFileDirPickerEvent; -extern WXDLLEXPORT_DATA(const wxChar) wxFilePickerWidgetLabel[]; -extern WXDLLEXPORT_DATA(const wxChar) wxFilePickerWidgetNameStr[]; -extern WXDLLEXPORT_DATA(const wxChar) wxFilePickerCtrlNameStr[]; -extern WXDLLEXPORT_DATA(const wxChar) wxFileSelectorPromptStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxFilePickerWidgetLabel[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxFilePickerWidgetNameStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxFilePickerCtrlNameStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxFileSelectorPromptStr[]; -extern WXDLLEXPORT_DATA(const wxChar) wxDirPickerWidgetLabel[]; -extern WXDLLEXPORT_DATA(const wxChar) wxDirPickerWidgetNameStr[]; -extern WXDLLEXPORT_DATA(const wxChar) wxDirPickerCtrlNameStr[]; -extern WXDLLEXPORT_DATA(const wxChar) wxDirSelectorPromptStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxDirPickerWidgetLabel[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxDirPickerWidgetNameStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxDirPickerCtrlNameStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxDirSelectorPromptStr[]; // ---------------------------------------------------------------------------- @@ -78,7 +79,8 @@ protected: // NOTE: wxFileDirPickerCtrlBase will allocate a wx{File|Dir}PickerWidget and this // requires that all classes being mapped as wx{File|Dir}PickerWidget have the // same prototype for the contructor... -#if defined(__WXGTK26__) // since GTK >= 2.6, there is GtkFileButton +// since GTK >= 2.6, there is GtkFileButton +#if defined(__WXGTK26__) && !defined(__WXUNIVERSAL__) #include "wx/gtk/filepicker.h" #define wxFilePickerWidget wxFileButton #define wxDirPickerWidget wxDirButton @@ -214,6 +216,11 @@ public: validator, name); } + void SetFileName(const wxFileName &filename) + { SetPath(filename.GetFullPath()); } + + wxFileName GetFileName() const + { return wxFileName(GetPath()); } public: // overrides @@ -230,13 +237,14 @@ public: // overrides { return wxEVT_COMMAND_FILEPICKER_CHANGED; } protected: + virtual wxFileDirPickerWidgetBase *CreatePicker(wxWindow *parent, const wxString& path, const wxString& message, const wxString& wildcard) { return new wxFilePickerWidget(parent, wxID_ANY, - wxFilePickerWidgetLabel, + wxGetTranslation(wxFilePickerWidgetLabel), path, message, wildcard, wxDefaultPosition, wxDefaultSize, GetPickerStyle(GetWindowStyle())); @@ -306,6 +314,11 @@ public: ); } + void SetDirName(const wxFileName &dirname) + { SetPath(dirname.GetPath()); } + + wxFileName GetDirName() const + { return wxFileName::DirName(GetPath()); } public: // overrides @@ -320,12 +333,14 @@ public: // overrides { return wxEVT_COMMAND_DIRPICKER_CHANGED; } protected: + virtual wxFileDirPickerWidgetBase *CreatePicker(wxWindow *parent, const wxString& path, const wxString& message, const wxString& WXUNUSED(wildcard)) { - return new wxDirPickerWidget(parent, wxID_ANY, wxDirPickerWidgetLabel, + return new wxDirPickerWidget(parent, wxID_ANY, + wxGetTranslation(wxDirPickerWidgetLabel), path, message, wxDefaultPosition, wxDefaultSize, GetPickerStyle(GetWindowStyle())); @@ -348,10 +363,8 @@ private: // wxFileDirPickerEvent: used by wxFilePickerCtrl and wxDirPickerCtrl only // ---------------------------------------------------------------------------- -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_CORE, wxEVT_COMMAND_FILEPICKER_CHANGED, 1102) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_CORE, wxEVT_COMMAND_DIRPICKER_CHANGED, 1103) -END_DECLARE_EVENT_TYPES() +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_FILEPICKER_CHANGED; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_DIRPICKER_CHANGED; class WXDLLIMPEXP_CORE wxFileDirPickerEvent : public wxCommandEvent { @@ -390,13 +403,6 @@ typedef void (wxEvtHandler::*wxFileDirPickerEventFunction)(wxFileDirPickerEvent& #define EVT_DIRPICKER_CHANGED(id, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_DIRPICKER_CHANGED, id, wxFileDirPickerEventHandler(fn)) -#ifdef _WX_DEFINE_DATE_EVENTS_ - DEFINE_EVENT_TYPE(wxEVT_COMMAND_FILEPICKER_CHANGED) - DEFINE_EVENT_TYPE(wxEVT_COMMAND_DIRPICKER_CHANGED) - - IMPLEMENT_DYNAMIC_CLASS(wxFileDirPickerEvent, wxCommandEvent) -#endif - #endif // wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL