| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        dirctrl.h
 
- // Purpose:     interface of wxGenericDirCtrl
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- enum
 
- {
 
-     // Only allow directory viewing/selection, no files
 
-     wxDIRCTRL_DIR_ONLY       = 0x0010,
 
-     // When setting the default path, select the first file in the directory
 
-     wxDIRCTRL_SELECT_FIRST   = 0x0020,
 
-     // Show the filter list
 
-     wxDIRCTRL_SHOW_FILTERS   = 0x0040,
 
-     // Use 3D borders on internal controls
 
-     wxDIRCTRL_3D_INTERNAL    = 0x0080,
 
-     // Editable labels
 
-     wxDIRCTRL_EDIT_LABELS    = 0x0100,
 
-     // Allow multiple selection
 
-     wxDIRCTRL_MULTIPLE       = 0x0200
 
- };
 
- /**
 
-     @class wxGenericDirCtrl
 
-     This control can  be used to place a directory listing (with optional
 
-     files) on an arbitrary window.
 
-     The control contains a wxTreeCtrl window representing the directory
 
-     hierarchy, and optionally, a wxChoice window containing a list of filters.
 
-     @beginStyleTable
 
-     @style{wxDIRCTRL_DIR_ONLY}
 
-            Only show directories, and not files.
 
-     @style{wxDIRCTRL_3D_INTERNAL}
 
-            Use 3D borders for internal controls.
 
-     @style{wxDIRCTRL_SELECT_FIRST}
 
-            When setting the default path, select the first file in the
 
-            directory.
 
-     @style{wxDIRCTRL_SHOW_FILTERS}
 
-            Show the drop-down filter list.
 
-     @style{wxDIRCTRL_EDIT_LABELS}
 
-            Allow the folder and file labels to be editable.
 
-     @style{wxDIRCTRL_MULTIPLE}
 
-            Allows multiple files and folders to be selected.
 
-     @endStyleTable
 
-     @library{wxcore}
 
-     @category{ctrl}
 
-     @appearance{genericdirctrl}
 
-     
 
-     @beginEventEmissionTable
 
-     @event{EVT_DIRCTRL_SELECTIONCHANGED(id, func)}
 
-           Selected directory has changed.
 
-           Processes a @c wxEVT_DIRCTRL_SELECTIONCHANGED event type.
 
-           Notice that this event is generated even for the changes done by the
 
-           program itself and not only those done by the user.
 
-           Available since wxWidgets 2.9.5.
 
-     @event{EVT_DIRCTRL_FILEACTIVATED(id, func)}
 
-           The user activated a file by double-clicking or pressing Enter.
 
-           Available since wxWidgets 2.9.5.
 
-     @endEventTable
 
- */
 
- class wxGenericDirCtrl : public wxControl
 
- {
 
- public:
 
-     /**
 
-         Default constructor.
 
-     */
 
-     wxGenericDirCtrl();
 
-     /**
 
-         Main constructor.
 
-         @param parent
 
-             Parent window.
 
-         @param id
 
-             Window identifier.
 
-         @param dir
 
-             Initial folder.
 
-         @param pos
 
-             Position.
 
-         @param size
 
-             Size.
 
-         @param style
 
-             Window style. Please see wxGenericDirCtrl for a list of possible
 
-             styles.
 
-         @param filter
 
-             A filter string, using the same syntax as that for wxFileDialog.
 
-             This may be empty if filters are not being used. Example:
 
-             @c "All files (*.*)|*.*|JPEG files (*.jpg)|*.jpg"
 
-         @param defaultFilter
 
-             The zero-indexed default filter setting.
 
-         @param name
 
-             The window name.
 
-     */
 
-     wxGenericDirCtrl(wxWindow* parent, const wxWindowID id = wxID_ANY,
 
-                      const wxString& dir = wxDirDialogDefaultFolderStr,
 
-                      const wxPoint& pos = wxDefaultPosition,
 
-                      const wxSize& size = wxDefaultSize,
 
-                      long style = wxDIRCTRL_3D_INTERNAL,
 
-                      const wxString& filter = wxEmptyString,
 
-                      int defaultFilter = 0,
 
-                      const wxString& name = wxTreeCtrlNameStr);
 
-     /**
 
-         Destructor.
 
-     */
 
-     virtual ~wxGenericDirCtrl();
 
-     /**
 
-         Collapse the given @a path.
 
-     */
 
-     virtual bool CollapsePath(const wxString& path);
 
-     /**
 
-         Collapses the entire tree.
 
-     */
 
-     virtual void CollapseTree();
 
-     /**
 
-         Create function for two-step construction. See wxGenericDirCtrl() for
 
-         details.
 
-     */
 
-     bool Create(wxWindow* parent, const wxWindowID id = wxID_ANY,
 
-                 const wxString& dir = wxDirDialogDefaultFolderStr,
 
-                 const wxPoint& pos = wxDefaultPosition,
 
-                 const wxSize& size = wxDefaultSize,
 
-                 long style = wxDIRCTRL_3D_INTERNAL,
 
-                 const wxString& filter = wxEmptyString, int defaultFilter = 0,
 
-                 const wxString& name = wxTreeCtrlNameStr);
 
-     /**
 
-         Tries to expand as much of the given @a path as possible, so that the
 
-         filename or directory is visible in the tree control.
 
-     */
 
-     virtual bool ExpandPath(const wxString& path);
 
-     /**
 
-         Gets the default path.
 
-     */
 
-     virtual wxString GetDefaultPath() const;
 
-     /**
 
-         Gets selected filename path only (else empty string).
 
-         This function doesn't count a directory as a selection.
 
-     */
 
-     virtual wxString GetFilePath() const;
 
-     /**
 
-         Fills the array @a paths with the currently selected filepaths.
 
-         This function doesn't count a directory as a selection.
 
-     */
 
-     virtual void GetFilePaths(wxArrayString& paths) const;
 
-     /**
 
-         Returns the filter string.
 
-     */
 
-     virtual wxString GetFilter() const;
 
-     /**
 
-         Returns the current filter index (zero-based).
 
-     */
 
-     virtual int GetFilterIndex() const;
 
-     /**
 
-         Returns a pointer to the filter list control (if present).
 
-     */
 
-     virtual wxDirFilterListCtrl* GetFilterListCtrl() const;
 
-     /**
 
-         Gets the currently-selected directory or filename.
 
-     */
 
-     virtual wxString GetPath() const;
 
-     /**
 
-         Gets the path corresponding to the given tree control item.
 
-         @since 2.9.5
 
-     */
 
-     wxString GetPath(wxTreeItemId itemId) const;
 
-     /**
 
-         Fills the array @a paths with the selected directories and filenames.
 
-     */
 
-     virtual void GetPaths(wxArrayString& paths) const;
 
-     /**
 
-         Returns the root id for the tree control.
 
-     */
 
-     virtual wxTreeItemId GetRootId();
 
-     /**
 
-         Returns a pointer to the tree control.
 
-     */
 
-     virtual wxTreeCtrl* GetTreeCtrl() const;
 
-     /**
 
-         Initializes variables.
 
-     */
 
-     virtual void Init();
 
-     /**
 
-         Collapse and expand the tree, thus re-creating it from scratch. May be
 
-         used to update the displayed directory content.
 
-     */
 
-     virtual void ReCreateTree();
 
-     /**
 
-         Sets the default path.
 
-     */
 
-     virtual void SetDefaultPath(const wxString& path);
 
-     /**
 
-         Sets the filter string.
 
-     */
 
-     virtual void SetFilter(const wxString& filter);
 
-     /**
 
-         Sets the current filter index (zero-based).
 
-     */
 
-     virtual void SetFilterIndex(int n);
 
-     /**
 
-         Sets the current path.
 
-     */
 
-     virtual void SetPath(const wxString& path);
 
-     /**
 
-         @param show
 
-             If @true, hidden folders and files will be displayed by the
 
-             control. If @false, they will not be displayed.
 
-     */
 
-     virtual void ShowHidden(bool show);
 
-     /**
 
-         Selects the given item.
 
-         In multiple selection controls, can be also used to deselect a
 
-         currently selected item if the value of @a select is false.
 
-         Existing selections are not changed. Only visible items can be
 
-         (de)selected, otherwise use ExpandPath().
 
-     */
 
-     virtual void SelectPath(const wxString& path, bool select = true);
 
-     /**
 
-         Selects only the specified paths, clearing any previous selection.
 
-         Only supported when wxDIRCTRL_MULTIPLE is set.
 
-     */
 
-     virtual void SelectPaths(const wxArrayString& paths);
 
-     /**
 
-         Removes the selection from all currently selected items.
 
-     */
 
-     virtual void UnselectAll();
 
- };
 
- class wxDirFilterListCtrl: public wxChoice
 
- {
 
- public:
 
-     wxDirFilterListCtrl();
 
-     wxDirFilterListCtrl(wxGenericDirCtrl* parent, const wxWindowID id = wxID_ANY,
 
-                         const wxPoint& pos = wxDefaultPosition,
 
-                         const wxSize& size = wxDefaultSize,
 
-                         long style = 0);
 
-     bool Create(wxGenericDirCtrl* parent, const wxWindowID id = wxID_ANY,
 
-                 const wxPoint& pos = wxDefaultPosition,
 
-                 const wxSize& size = wxDefaultSize,
 
-                 long style = 0);
 
-     virtual ~wxDirFilterListCtrl() {}
 
-     void Init();
 
-     //// Operations
 
-     void FillFilterList(const wxString& filter, int defaultFilter);
 
- };
 
- wxEventType wxEVT_DIRCTRL_SELECTIONCHANGED;
 
- wxEventType wxEVT_DIRCTRL_FILEACTIVATED;
 
 
  |