X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/43c48e1e53d74cef62d15f08f015d9efeb45a0c1..1b7751aaa9a86d76a850b9267bc0c201e3cea30f:/interface/wx/filepicker.h?ds=inline diff --git a/interface/wx/filepicker.h b/interface/wx/filepicker.h index e7be724a10..de2f816fa3 100644 --- a/interface/wx/filepicker.h +++ b/interface/wx/filepicker.h @@ -3,9 +3,28 @@ // Purpose: interface of wxFilePickerCtrl // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +#define wxFLP_OPEN 0x0400 +#define wxFLP_SAVE 0x0800 +#define wxFLP_OVERWRITE_PROMPT 0x1000 +#define wxFLP_FILE_MUST_EXIST 0x2000 +#define wxFLP_CHANGE_DIR 0x4000 +#define wxFLP_SMALL wxPB_SMALL +#define wxFLP_USE_TEXTCTRL (wxPB_USE_TEXTCTRL) +#define wxFLP_DEFAULT_STYLE (wxFLP_OPEN|wxFLP_FILE_MUST_EXIST) + +#define wxDIRP_DIR_MUST_EXIST 0x0008 +#define wxDIRP_CHANGE_DIR 0x0010 +#define wxDIRP_SMALL wxPB_SMALL +#define wxDIRP_USE_TEXTCTRL (wxPB_USE_TEXTCTRL) +#define wxDIRP_DEFAULT_STYLE (wxDIRP_DIR_MUST_EXIST) + +wxEventType wxEVT_FILEPICKER_CHANGED; +wxEventType wxEVT_DIRPICKER_CHANGED; + + /** @class wxFilePickerCtrl @@ -37,10 +56,13 @@ existing file. @style{wxFLP_CHANGE_DIR} Change current working directory on each user file selection change. + @style{wxFLP_SMALL} + Use smaller version of the control with a small "..." button instead + of the normal "Browse" one. This flag is new since wxWidgets 2.9.3. @endStyleTable - @beginEventTable{wxFileDirPickerEvent} + @beginEventEmissionTable{wxFileDirPickerEvent} @event{EVT_FILEPICKER_CHANGED(id, func)} The user changed the file selected in the control either using the button or using text control (see wxFLP_USE_TEXTCTRL; note that in @@ -50,26 +72,28 @@ @library{wxcore} @category{pickers} - @appearance{filepickerctrl.png} + @appearance{filepickerctrl} @see wxFileDialog, wxFileDirPickerEvent */ class wxFilePickerCtrl : public wxPickerBase { public: + wxFilePickerCtrl(); + /** Initializes the object and calls Create() with all the parameters. */ wxFilePickerCtrl(wxWindow* parent, wxWindowID id, const wxString& path = wxEmptyString, - const wxString& message = "Select a file", - const wxString& wildcard = ".", + const wxString& message = wxFileSelectorPromptStr, + const wxString& wildcard = wxFileSelectorDefaultWildcardStr, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxFLP_DEFAULT_STYLE, const wxValidator& validator = wxDefaultValidator, - const wxString& name = "filepickerctrl"); + const wxString& name = wxFilePickerCtrlNameStr); /** Creates this widget with the given parameters. @@ -127,6 +151,20 @@ public: */ void SetFileName(const wxFileName& filename); + /** + Set the directory to show when starting to browse for files. + + This function is mostly useful for the file picker controls which have + no selection initially to configure the directory that should be shown + if the user starts browsing for files as otherwise the directory of + initially selected file is used, which is usually the desired + behaviour and so the directory specified by this function is ignored in + this case. + + @since 2.9.4 + */ + void SetInitialDirectory(const wxString& dir); + /** Sets the absolute path of the currently selected file. This must be a valid file if the @c wxFLP_FILE_MUST_EXIST style was given. @@ -161,9 +199,12 @@ public: support its absence. @style{wxDIRP_CHANGE_DIR} Change current working directory on each user directory selection change. + @style{wxDIRP_SMALL} + Use smaller version of the control with a small "..." button instead + of the normal "Browse" one. This flag is new since wxWidgets 2.9.3. @endStyleTable - @beginEventTable{wxFileDirPickerEvent} + @beginEventEmissionTable{wxFileDirPickerEvent} @event{EVT_DIRPICKER_CHANGED(id, func)} The user changed the directory selected in the control either using the button or using text control (see wxDIRP_USE_TEXTCTRL; note that in this @@ -174,25 +215,27 @@ public: @library{wxcore} @category{pickers} - @appearance{dirpickerctrl.png} + @appearance{dirpickerctrl} @see wxDirDialog, wxFileDirPickerEvent */ class wxDirPickerCtrl : public wxPickerBase { public: + wxDirPickerCtrl(); + /** Initializes the object and calls Create() with all the parameters. */ wxDirPickerCtrl(wxWindow* parent, wxWindowID id, const wxString& path = wxEmptyString, - const wxString& message = "Select a folder", + const wxString& message = wxDirSelectorPromptStr, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDIRP_DEFAULT_STYLE, const wxValidator& validator = wxDefaultValidator, - const wxString& name = "dirpickerctrl"); + const wxString& name = wxDirPickerCtrlNameStr); /** Creates the widgets with the given parameters. @@ -247,8 +290,22 @@ public: void SetDirName(const wxFileName& dirname); /** - Sets the absolute path of (the default converter uses current locale's - charset)the currently selected directory. + Set the directory to show when starting to browse for directories. + + This function is mostly useful for the directory picker controls which + have no selection initially to configure the directory that should be + shown if the user starts browsing for directories as otherwise the + initially selected directory is used, which is usually the desired + behaviour and so the directory specified by this function is ignored in + this case. + + @since 2.9.4 + */ + void SetInitialDirectory(const wxString& dir); + + /** + Sets the absolute path of the currently selected directory (the default converter uses current locale's + charset). This must be a valid directory if @c wxDIRP_DIR_MUST_EXIST style was given. */ void SetPath(const wxString& dirname); @@ -277,12 +334,14 @@ public: class wxFileDirPickerEvent : public wxCommandEvent { public: + wxFileDirPickerEvent(); + /** The constructor is not normally used by the user code. */ wxFileDirPickerEvent(wxEventType type, wxObject* generator, int id, - const wxString path); + const wxString& path); /** Retrieve the absolute path of the file/directory the user has just selected.