Using @since inside a style or event list causes doxygen warnings, replace with plain text. See #15346. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			288 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			288 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // 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;
 |