Added wxGenericDirCtrl and other varioius updates

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2002-01-15 04:54:19 +00:00
parent c7206e6424
commit 68320e40cd
28 changed files with 2280 additions and 148 deletions

View File

@@ -20,6 +20,7 @@
#include <wx/listctrl.h>
#include <wx/treectrl.h>
#include <wx/imaglist.h>
#include <wx/dirctrl.h>
%}
//----------------------------------------------------------------------
@@ -1281,6 +1282,121 @@ public:
//----------------------------------------------------------------------
enum {
wxDIRCTRL_DIR_ONLY,
wxDIRCTRL_SELECT_FIRST,
wxDIRCTRL_SHOW_FILTERS,
wxDIRCTRL_3D_INTERNAL,
};
class wxDirItemData : public wxObject // wxTreeItemData
{
public:
wxDirItemData(const wxString& path, const wxString& name, bool isDir);
// ~wxDirItemDataEx();
void SetNewDirName( wxString path );
wxString m_path, m_name;
bool m_isHidden;
bool m_isExpanded;
bool m_isDir;
};
class wxGenericDirCtrl: public wxControl
{
public:
wxGenericDirCtrl(wxWindow *parent, const wxWindowID id = -1,
const wxString &dir = wxDirDialogDefaultFolderStr,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER,
const wxString& filter = wxEmptyString,
int defaultFilter = 0,
const wxString& name = "dirCtrl" );
%name(wxPreGenericDirCtrl)wxGenericDirCtrl();
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
%pragma(python) addtomethod = "wxPreGenericDirCtrl:val._setOORInfo(val)"
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|wxSUNKEN_BORDER,
const wxString& filter = wxEmptyString,
int defaultFilter = 0,
const wxString& name = "treeCtrl" );
// Try to expand as much of the given path as possible.
bool ExpandPath(const wxString& path);
// Accessors
inline wxString GetDefaultPath() const;
void SetDefaultPath(const wxString& path);
// Get dir or filename
wxString GetPath() const ;
// Get selected filename path only (else empty string).
// I.e. don't count a directory as a selection
wxString GetFilePath() const ;
void SetPath(const wxString& path) ;
void ShowHidden( bool show );
bool GetShowHidden();
wxString GetFilter() const;
void SetFilter(const wxString& filter);
int GetFilterIndex() const;
void SetFilterIndex(int n) ;
wxTreeItemId GetRootId();
wxTreeCtrl* GetTreeCtrl() const;
wxDirFilterListCtrl* GetFilterListCtrl() const;
// //// Helpers
// void SetupSections();
// // Parse the filter into an array of filters and an array of descriptions
// int ParseFilter(const wxString& filterStr, wxArrayString& filters, wxArrayString& descriptions);
// // Find the child that matches the first part of 'path'.
// // E.g. if a child path is "/usr" and 'path' is "/usr/include"
// // then the child for /usr is returned.
// // If the path string has been used (we're at the leaf), done is set to TRUE
// wxTreeItemId FindChild(wxTreeItemId parentId, const wxString& path, bool& done);
};
class wxDirFilterListCtrl: public wxChoice
{
public:
wxDirFilterListCtrl(wxGenericDirCtrl* parent, const wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0);
%name(wxPreDirFilterListCtrl)wxDirFilterListCtrl();
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
%pragma(python) addtomethod = "wxPreDirFilterListCtrl:val._setOORInfo(val)"
bool Create(wxGenericDirCtrl* parent, const wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0);
//// Operations
void FillFilterList(const wxString& filter, int defaultFilter);
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
%init %{
// Map renamed classes back to their common name for OOR
wxPyPtrTypeMap_Add("wxTreeItemData", "wxPyTreeItemData");