| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: filectrl.h
- // Purpose: interface of wxFileCtrl
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- enum
- {
- wxFC_OPEN = 0x0001,
- wxFC_SAVE = 0x0002,
- wxFC_MULTIPLE = 0x0004,
- wxFC_NOSHOWHIDDEN = 0x0008
- };
- #define wxFC_DEFAULT_STYLE wxFC_OPEN
- /**
- @class wxFileCtrl
- This control allows the user to select a file.
- Two implementations of this class exist, one for Gtk and another generic
- one for all the other ports.
- This class is only available if @c wxUSE_FILECTRL is set to 1.
- @beginStyleTable
- @style{wxFC_DEFAULT_STYLE}
- The default style: wxFC_OPEN
- @style{wxFC_OPEN}
- Creates an file control suitable for opening files. Cannot be
- combined with wxFC_SAVE.
- @style{wxFC_SAVE}
- Creates an file control suitable for saving files. Cannot be
- combined with wxFC_OPEN.
- @style{wxFC_MULTIPLE}
- For open control only, Allows selecting multiple files. Cannot be
- combined with wxFC_SAVE
- @style{wxFC_NOSHOWHIDDEN}
- Hides the "Show Hidden Files" checkbox (Generic only)
- @endStyleTable
- @beginEventEmissionTable{wxFileCtrlEvent}
- @event{EVT_FILECTRL_FILEACTIVATED(id, func)}
- The user activated a file(by double-clicking or pressing Enter)
- @event{EVT_FILECTRL_SELECTIONCHANGED(id, func)}
- The user changed the current selection(by selecting or deselecting a file)
- @event{EVT_FILECTRL_FOLDERCHANGED(id, func)}
- The current folder of the file control has been changed
- @event{EVT_FILECTRL_FILTERCHANGED(id, func)}
- The current file filter of the file control has been changed.
- @since 2.9.1.
- @endEventTable
- @library{wxcore}
- @category{ctrl}
- @appearance{filectrl}
- @nativeimpl{wxgtk}
- @see wxGenericDirCtrl
- */
- class wxFileCtrl : public wxControl
- {
- public:
- wxFileCtrl();
- /**
- Constructs the window.
- @param parent
- Parent window, must not be non-@NULL.
- @param id
- The identifier for the control.
- @param defaultDirectory
- The initial directory shown in the control.
- Must be a valid path to a directory or the empty string.
- In case it is the empty string, the current working directory is used.
- @param defaultFilename
- The default filename, or the empty string.
- @param wildCard
- A wildcard specifying which files can be selected,
- such as "*.*" or "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif".
- @param style
- The window style, see wxFC_* flags.
- @param pos
- Initial position.
- @param size
- Initial size.
- @param name
- Control name.
- @return @true if the control was successfully created or @false if
- creation failed.
- */
- wxFileCtrl(wxWindow* parent, wxWindowID id,
- const wxString& defaultDirectory = wxEmptyString,
- const wxString& defaultFilename = wxEmptyString,
- const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
- long style = wxFC_DEFAULT_STYLE,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- const wxString& name = wxFileCtrlNameStr);
- /**
- Create function for two-step construction. See wxFileCtrl() for details.
- */
- bool Create(wxWindow* parent, wxWindowID id,
- const wxString& defaultDirectory = wxEmptyString,
- const wxString& defaultFilename = wxEmptyString,
- const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
- long style = wxFC_DEFAULT_STYLE, const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- const wxString& name = wxFileCtrlNameStr);
- /**
- Returns the current directory of the file control (i.e.\ the directory shown by it).
- */
- virtual wxString GetDirectory() const;
- /**
- Returns the currently selected filename.
- For the controls having the @c wxFC_MULTIPLE style, use GetFilenames() instead.
- */
- virtual wxString GetFilename() const;
- /**
- Fills the array @a filenames with the filenames only of selected items.
- This function should only be used with the controls having the @c wxFC_MULTIPLE
- style, use GetFilename() for the others.
- @remarks filenames is emptied first.
- */
- virtual void GetFilenames(wxArrayString& filenames) const;
- /**
- Returns the zero-based index of the currently selected filter.
- */
- virtual int GetFilterIndex() const;
- /**
- Returns the full path (directory and filename) of the currently selected file.
- For the controls having the @c wxFC_MULTIPLE style, use GetPaths() instead.
- */
- virtual wxString GetPath() const;
- /**
- Fills the array @a paths with the full paths of the files chosen.
- This function should be used with the controls having the @c wxFC_MULTIPLE style,
- use GetPath() otherwise.
- @remarks paths is emptied first.
- */
- virtual void GetPaths(wxArrayString& paths) const;
- /**
- Returns the current wildcard.
- */
- virtual wxString GetWildcard() const;
- /**
- Sets(changes) the current directory displayed in the control.
- @return Returns @true on success, @false otherwise.
- */
- virtual bool SetDirectory(const wxString& directory);
- /**
- Selects a certain file.
- @return Returns @true on success, @false otherwise
- */
- virtual bool SetFilename(const wxString& filename);
- /**
- Changes to a certain directory and selects a certain file.
-
- In case the filename specified isn't found/couldn't be shown with
- currently selected filter, false is returned.
- @return Returns @true on success, @false otherwise
- */
- virtual bool SetPath(const wxString& path);
- /**
- Sets the current filter index, starting from zero.
- */
- virtual void SetFilterIndex(int filterIndex);
- /**
- Sets the wildcard, which can contain multiple file types, for example:
- "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"
- */
- virtual void SetWildcard(const wxString& wildCard);
- /**
- Sets whether hidden files and folders are shown or not.
- */
- virtual void ShowHidden(bool show);
- };
- wxEventType wxEVT_FILECTRL_SELECTIONCHANGED;
- wxEventType wxEVT_FILECTRL_FILEACTIVATED;
- wxEventType wxEVT_FILECTRL_FOLDERCHANGED;
- wxEventType wxEVT_FILECTRL_FILTERCHANGED;
- /**
- @class wxFileCtrlEvent
- A file control event holds information about events associated with
- wxFileCtrl objects.
- @beginEventTable{wxFileCtrlEvent}
- @event{EVT_FILECTRL_FILEACTIVATED(id, func)}
- The user activated a file(by double-clicking or pressing Enter)
- @event{EVT_FILECTRL_SELECTIONCHANGED(id, func)}
- The user changed the current selection(by selecting or deselecting a file)
- @event{EVT_FILECTRL_FOLDERCHANGED(id, func)}
- The current folder of the file control has been changed
- @event{EVT_FILECTRL_FILTERCHANGED(id, func)}
- The current file filter of the file control has been changed
- @endEventTable
- @library{wxcore}
- @category{events}
- */
- class wxFileCtrlEvent : public wxCommandEvent
- {
- public:
- /**
- Constructor.
- */
- wxFileCtrlEvent(wxEventType type, wxObject *evtObject, int id);
- /**
- Returns the current directory.
- In case of a @b EVT_FILECTRL_FOLDERCHANGED, this method returns the new
- directory.
- */
- wxString GetDirectory() const;
- /**
- Returns the file selected (assuming it is only one file).
- */
- wxString GetFile() const;
- /**
- Returns the files selected.
- In case of a @b EVT_FILECTRL_SELECTIONCHANGED, this method returns the
- files selected after the event.
- */
- wxArrayString GetFiles() const;
- /**
- Returns the current file filter index.
- For a @b EVT_FILECTRL_FILTERCHANGED event, this method returns the new
- file filter index.
- @since 2.9.1
- */
- int GetFilterIndex() const;
- /**
- Sets the files changed by this event.
- */
- void SetFiles(const wxArrayString& files);
- /**
- Sets the directory of this event.
- */
- void SetDirectory( const wxString &directory );
- /**
- Sets the filter index changed by this event.
- @since 2.9.1
- */
- void SetFilterIndex(int index);
- };
|