2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: dirctrl.h
|
|
|
|
// Purpose: documentation for wxGenericDirCtrl class
|
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxGenericDirCtrl
|
|
|
|
@wxheader{dirctrl.h}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
This control can be used to place a directory listing (with optional files) on
|
|
|
|
an arbitrary window.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
The control contains a wxTreeCtrl window representing the directory
|
|
|
|
hierarchy, and optionally, a wxChoice window containing a list of filters.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxbase}
|
|
|
|
@category{ctrl}
|
|
|
|
@appearance{genericdirctrl.png}
|
|
|
|
*/
|
|
|
|
class wxGenericDirCtrl : public wxControl
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
//@{
|
|
|
|
/**
|
|
|
|
Main constructor.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param parent
|
2008-03-08 08:52:38 -05:00
|
|
|
Parent window.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param id
|
2008-03-08 08:52:38 -05:00
|
|
|
Window identifier.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param dir
|
2008-03-08 08:52:38 -05:00
|
|
|
Initial folder.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param pos
|
2008-03-08 08:52:38 -05:00
|
|
|
Position.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param size
|
2008-03-08 08:52:38 -05:00
|
|
|
Size.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param style
|
2008-03-08 08:52:38 -05:00
|
|
|
Window style. Please see wxGenericDirCtrl for a list of possible styles.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param filter
|
2008-03-08 08:52:38 -05:00
|
|
|
A filter string, using the same syntax as that for wxFileDialog. This may be
|
|
|
|
empty if filters
|
|
|
|
are not being used.
|
|
|
|
|
|
|
|
Example: "All files (*.*)|*.*|JPEG files (*.jpg)|*.jpg"
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param defaultFilter
|
2008-03-08 08:52:38 -05:00
|
|
|
The zero-indexed default filter setting.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param name
|
2008-03-08 08:52:38 -05:00
|
|
|
The window name.
|
|
|
|
*/
|
|
|
|
wxGenericDirCtrl();
|
2008-03-08 09:43:31 -05:00
|
|
|
wxGenericDirCtrl(wxWindow* parent, const wxWindowID id = -1,
|
|
|
|
const wxString& dir = wxDirDialogDefaultFolderStr,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = wxDIRCTRL_3D_INTERNAL|wxBORDER_SUNKEN,
|
|
|
|
const wxString& filter = wxEmptyString,
|
|
|
|
int defaultFilter = 0,
|
|
|
|
const wxString& name = wxTreeCtrlNameStr);
|
2008-03-08 08:52:38 -05:00
|
|
|
//@}
|
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor.
|
|
|
|
*/
|
|
|
|
~wxGenericDirCtrl();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Collapse the given path.
|
|
|
|
*/
|
|
|
|
bool CollapsePath(const wxString& path);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Collapses the entire tree.
|
|
|
|
*/
|
|
|
|
void CollapseTree();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Create function for two-step construction. See wxGenericDirCtrl() for details.
|
|
|
|
*/
|
|
|
|
bool Create(wxWindow* parent, const wxWindowID id = -1,
|
|
|
|
const wxString& dir = wxDirDialogDefaultFolderStr,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = wxDIRCTRL_3D_INTERNAL|wxBORDER_SUNKEN,
|
|
|
|
const wxString& filter = wxEmptyString,
|
|
|
|
int defaultFilter = 0,
|
|
|
|
const wxString& name = wxTreeCtrlNameStr);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Tries to expand as much of the given path as possible, so that the filename or
|
|
|
|
directory is visible in the tree control.
|
|
|
|
*/
|
|
|
|
bool ExpandPath(const wxString& path);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Gets the default path.
|
|
|
|
*/
|
|
|
|
wxString GetDefaultPath();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Gets selected filename path only (else empty string).
|
|
|
|
|
|
|
|
This function doesn't count a directory as a selection.
|
|
|
|
*/
|
|
|
|
wxString GetFilePath();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the filter string.
|
|
|
|
*/
|
|
|
|
wxString GetFilter();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the current filter index (zero-based).
|
|
|
|
*/
|
|
|
|
int GetFilterIndex();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns a pointer to the filter list control (if present).
|
|
|
|
*/
|
|
|
|
wxDirFilterListCtrl* GetFilterListCtrl();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Gets the currently-selected directory or filename.
|
|
|
|
*/
|
|
|
|
wxString GetPath();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the root id for the tree control.
|
|
|
|
*/
|
|
|
|
wxTreeItemId GetRootId();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns a pointer to the tree control.
|
|
|
|
*/
|
|
|
|
wxTreeCtrl* GetTreeCtrl();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Initializes variables.
|
|
|
|
*/
|
|
|
|
void Init();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Collapse and expand the tree, thus re-creating it from scratch.
|
|
|
|
May be used to update the displayed directory content.
|
|
|
|
*/
|
|
|
|
void ReCreateTree();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the default path.
|
|
|
|
*/
|
|
|
|
void SetDefaultPath(const wxString& path);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the filter string.
|
|
|
|
*/
|
|
|
|
void SetFilter(const wxString& filter);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the current filter index (zero-based).
|
|
|
|
*/
|
|
|
|
void SetFilterIndex(int n);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the current path.
|
|
|
|
*/
|
|
|
|
void SetPath(const wxString& path);
|
|
|
|
|
|
|
|
/**
|
2008-03-08 09:43:31 -05:00
|
|
|
@param show
|
2008-03-08 08:52:38 -05:00
|
|
|
If @true, hidden folders and files will be displayed by the
|
|
|
|
control. If @false, they will not be displayed.
|
|
|
|
*/
|
|
|
|
void ShowHidden(bool show);
|
|
|
|
};
|