.. include:: headings.inc .. _FilePickerCtrl: ========================================================================================================================================== |phoenix_title| **FilePickerCtrl** ========================================================================================================================================== This control allows the user to select a file. The generic implementation is a button which brings up a :ref:`FileDialog` when clicked. Native implementation may differ but this is usually a (small) widget which give access to the file-chooser dialog. It is only available if ``USE_FILEPICKERCTRL`` is set to 1 (the default). .. _FilePickerCtrl-styles: |styles| Window Styles ================================ This class supports the following styles: - ``FLP_DEFAULT_STYLE``: The default style: includes ``FLP_OPEN`` | ``FLP_FILE_MUST_EXIST`` and, under wxMSW only, ``FLP_USE_TEXTCTRL``. - ``FLP_USE_TEXTCTRL``: Creates a text control to the left of the picker button which is completely managed by the :ref:`FilePickerCtrl` and which can be used by the user to specify a path (see SetPath). The text control is automatically synchronized with button's value. Use functions defined in :ref:`PickerBase` to modify the text control. - ``FLP_OPEN``: Creates a picker which allows the user to select a file to open. - ``FLP_SAVE``: Creates a picker which allows the user to select a file to save. - ``FLP_OVERWRITE_PROMPT``: Can be combined with ``FLP_SAVE`` only: ask confirmation to the user before selecting a file. - ``FLP_FILE_MUST_EXIST``: Can be combined with ``FLP_OPEN`` only: the selected file must be an existing file. - ``FLP_CHANGE_DIR``: Change current working directory on each user file selection change. - ``FLP_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. .. _FilePickerCtrl-events: |events| Events Emitted by this Class ===================================== Handlers bound for the following event types will receive a :ref:`FileDirPickerEvent` parameter. - EVT_FILEPICKER_CHANGED: The user changed the file selected in the control either using the button or using text control (see ``FLP_USE_TEXTCTRL``; note that in this case the event is fired only if the user's input is valid, e.g. an existing file path if ``FLP_FILE_MUST_EXIST`` was given). .. seealso:: :ref:`FileDialog`, :ref:`FileDirPickerEvent` | |class_hierarchy| Inheritance Diagram ===================================== Inheritance diagram for class **FilePickerCtrl** .. raw:: html

Inheritance diagram of FilePickerCtrl

| |appearance| Control Appearance =============================== | .. figure:: _static/images/widgets/fullsize/wxmsw/filepickerctrl.png :alt: wxMSW :figclass: floatleft **wxMSW** .. figure:: _static/images/widgets/fullsize/wxmac/filepickerctrl.png :alt: wxMAC :figclass: floatright **wxMAC** .. figure:: _static/images/widgets/fullsize/wxgtk/filepickerctrl.png :alt: wxGTK :figclass: floatcenter **wxGTK** | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~FilePickerCtrl.__init__` :meth:`~FilePickerCtrl.Create` Creates this widget with the given parameters. :meth:`~FilePickerCtrl.GetPath` Returns the absolute path of the currently selected file. :meth:`~FilePickerCtrl.SetInitialDirectory` Set the directory to show when starting to browse for files. :meth:`~FilePickerCtrl.SetPath` Sets the absolute path of the currently selected file. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~FilePickerCtrl.Path` See :meth:`~FilePickerCtrl.GetPath` and :meth:`~FilePickerCtrl.SetPath` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: FilePickerCtrl(PickerBase) This control allows the user to select a file. **Possible constructors**:: FilePickerCtrl() FilePickerCtrl(parent, id=ID_ANY, path='', message=FileSelectorPromptStr, wildcard=FileSelectorDefaultWildcardStr, pos=DefaultPosition, size=DefaultSize, style=FLP_DEFAULT_STYLE, validator=DefaultValidator, name=FilePickerCtrlNameStr) .. method:: __init__(self, *args, **kw) |overload| **Overloaded Implementations**: **~~~** **__init__** `(self)` **~~~** **__init__** `(self, parent, id=ID_ANY, path='', message=FileSelectorPromptStr, wildcard=FileSelectorDefaultWildcardStr, pos=DefaultPosition, size=DefaultSize, style=FLP_DEFAULT_STYLE, validator=DefaultValidator, name=FilePickerCtrlNameStr)` Initializes the object and calls :meth:`Create` with all the parameters. :param `parent`: :type `parent`: Window :param `id`: :type `id`: int :param `path`: :type `path`: string :param `message`: :type `message`: string :param `wildcard`: :type `wildcard`: string :param `pos`: :type `pos`: Point :param `size`: :type `size`: Size :param `style`: :type `style`: long :param `validator`: :type `validator`: Validator :param `name`: :type `name`: string **~~~** .. method:: Create(self, parent, id=ID_ANY, path='', message=FileSelectorPromptStr, wildcard=FileSelectorDefaultWildcardStr, pos=DefaultPosition, size=DefaultSize, style=FLP_DEFAULT_STYLE, validator=DefaultValidator, name=FilePickerCtrlNameStr) Creates this widget with the given parameters. :param `parent`: Parent window, must not be not ``None``. :type `parent`: Window :param `id`: The identifier for the control. :type `id`: int :param `path`: The initial file shown in the control. Must be a valid path to a file or the empty string. :type `path`: string :param `message`: The message shown to the user in the :ref:`FileDialog` shown by the control. :type `message`: string :param `wildcard`: A wildcard which defines user-selectable files (use the same syntax as for FileDialog's wildcards). :type `wildcard`: string :param `pos`: Initial position. :type `pos`: Point :param `size`: Initial size. :type `size`: Size :param `style`: The window style, see ``FLP_`` flags. :type `style`: long :param `validator`: Validator which can be used for additional data checks. :type `validator`: Validator :param `name`: Control name. :type `name`: string :rtype: `bool` :returns: ``True`` if the control was successfully created or ``False`` if creation failed. .. method:: GetPath(self) Returns the absolute path of the currently selected file. :rtype: `string` .. method:: SetInitialDirectory(self, dir) 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. :param `dir`: :type `dir`: string .. versionadded:: 2.9.4 .. method:: SetPath(self, filename) Sets the absolute path of the currently selected file. This must be a valid file if the ``FLP_FILE_MUST_EXIST`` style was given. :param `filename`: :type `filename`: string .. attribute:: Path See :meth:`~FilePickerCtrl.GetPath` and :meth:`~FilePickerCtrl.SetPath`