Added wxDataViewCtrl::IsExpanded(item)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -713,6 +713,7 @@ public:
|
||||
|
||||
virtual void Expand( const wxDataViewItem & item ) = 0;
|
||||
virtual void Collapse( const wxDataViewItem & item ) = 0;
|
||||
virtual bool IsExpanded( const wxDataViewItem & item ) const = 0;
|
||||
|
||||
virtual void EnsureVisible( const wxDataViewItem & item,
|
||||
const wxDataViewColumn *column = NULL ) = 0;
|
||||
|
@@ -446,6 +446,7 @@ public:
|
||||
|
||||
virtual void Expand( const wxDataViewItem & item );
|
||||
virtual void Collapse( const wxDataViewItem & item );
|
||||
virtual bool IsExpanded( const wxDataViewItem & item ) const;
|
||||
|
||||
virtual void SetFocus();
|
||||
|
||||
|
@@ -429,6 +429,8 @@ public:
|
||||
virtual void Expand( const wxDataViewItem & item );
|
||||
virtual void Collapse( const wxDataViewItem & item );
|
||||
|
||||
virtual bool IsExpanded( const wxDataViewItem & item ) const;
|
||||
|
||||
static wxVisualAttributes
|
||||
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
|
||||
|
||||
|
@@ -450,8 +450,8 @@ public:
|
||||
{
|
||||
this->Init();
|
||||
}
|
||||
wxDataViewCtrl(wxWindow *parent, wxWindowID id, wxPoint const& pos = wxDefaultPosition, wxSize const& size = wxDefaultSize, long style = 0,
|
||||
wxValidator const& validator = wxDefaultValidator)
|
||||
wxDataViewCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator)
|
||||
{
|
||||
this->Init();
|
||||
this->Create(parent, id, pos, size, style, validator );
|
||||
@@ -460,8 +460,8 @@ public:
|
||||
~wxDataViewCtrl();
|
||||
|
||||
// explicit control creation
|
||||
bool Create(wxWindow *parent, wxWindowID id, wxPoint const& pos=wxDefaultPosition, wxSize const& size=wxDefaultSize, long style=0,
|
||||
wxValidator const& validator=wxDefaultValidator);
|
||||
bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize, long style=0,
|
||||
const wxValidator& validator=wxDefaultValidator);
|
||||
|
||||
virtual wxControl* GetMainWindow() // should disappear as it is not of any use for the native implementation
|
||||
{
|
||||
@@ -479,28 +479,29 @@ public:
|
||||
virtual bool DeleteColumn(wxDataViewColumn* columnPtr);
|
||||
virtual wxDataViewColumn* GetColumn(unsigned int pos) const;
|
||||
virtual unsigned int GetColumnCount() const;
|
||||
virtual int GetColumnPosition(wxDataViewColumn const* columnPtr) const;
|
||||
virtual int GetColumnPosition(const wxDataViewColumn* columnPtr) const;
|
||||
|
||||
virtual void Collapse(wxDataViewItem const& item);
|
||||
virtual void EnsureVisible(wxDataViewItem const& item, wxDataViewColumn const* columnPtr=NULL);
|
||||
virtual void Expand(wxDataViewItem const& item);
|
||||
virtual void Collapse( const wxDataViewItem& item);
|
||||
virtual void EnsureVisible(const wxDataViewItem& item, const wxDataViewColumn* columnPtr=NULL);
|
||||
virtual void Expand(const wxDataViewItem& item);
|
||||
virtual bool IsExpanded(const wxDataViewItem & item) const;
|
||||
|
||||
virtual wxDataViewColumn* GetSortingColumn() const;
|
||||
|
||||
virtual unsigned int GetCount() const;
|
||||
virtual wxRect GetItemRect(wxDataViewItem const& item, wxDataViewColumn const* columnPtr) const;
|
||||
virtual wxRect GetItemRect(const wxDataViewItem& item, const wxDataViewColumn* columnPtr) const;
|
||||
virtual wxDataViewItem GetSelection() const;
|
||||
virtual int GetSelections(wxDataViewItemArray& sel) const;
|
||||
|
||||
virtual void HitTest(wxPoint const& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const;
|
||||
virtual void HitTest(const wxPoint& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const;
|
||||
|
||||
virtual bool IsSelected(wxDataViewItem const& item) const;
|
||||
virtual bool IsSelected(const wxDataViewItem& item) const;
|
||||
|
||||
virtual void SelectAll();
|
||||
virtual void Select(wxDataViewItem const& item);
|
||||
virtual void SetSelections(wxDataViewItemArray const& sel);
|
||||
virtual void Select(const wxDataViewItem& item);
|
||||
virtual void SetSelections(const wxDataViewItemArray& sel);
|
||||
|
||||
virtual void Unselect(wxDataViewItem const& item);
|
||||
virtual void Unselect(const wxDataViewItem& item);
|
||||
virtual void UnselectAll();
|
||||
|
||||
//
|
||||
|
@@ -946,6 +946,13 @@ public:
|
||||
virtual void HitTest(const wxPoint& point, wxDataViewItem& item,
|
||||
wxDataViewColumn*& col) const;
|
||||
|
||||
/**
|
||||
Return @true if the item is expanded.
|
||||
|
||||
Currently not supported by OS X.
|
||||
*/
|
||||
virtual bool IsExpanded(const wxDataViewItem& item) const;
|
||||
|
||||
/**
|
||||
Return @true if the item is selected.
|
||||
*/
|
||||
@@ -1532,7 +1539,7 @@ enum wxDataViewColumnFlags
|
||||
@class wxDataViewColumn
|
||||
|
||||
This class represents a column in a wxDataViewCtrl.
|
||||
One wxDataViewColumn is bound to one column in the data model, to which the
|
||||
One wxDataViewColumn is bound to one column in the data model to which the
|
||||
wxDataViewCtrl has been associated.
|
||||
|
||||
An instance of wxDataViewRenderer is used by this class to render its data.
|
||||
|
@@ -483,6 +483,7 @@ public:
|
||||
|
||||
void Expand( unsigned int row ) { OnExpanding( row ); }
|
||||
void Collapse( unsigned int row ) { OnCollapsing( row ); }
|
||||
bool IsExpanded( unsigned int row ) const;
|
||||
private:
|
||||
wxDataViewTreeNode * GetTreeNodeByRow( unsigned int row ) const;
|
||||
//We did not need this temporarily
|
||||
@@ -2411,6 +2412,23 @@ wxDataViewEvent wxDataViewMainWindow::SendExpanderEvent( wxEventType type, const
|
||||
return le;
|
||||
}
|
||||
|
||||
|
||||
bool wxDataViewMainWindow::IsExpanded( unsigned int row ) const
|
||||
{
|
||||
if (IsVirtualList())
|
||||
return false;
|
||||
|
||||
wxDataViewTreeNode * node = GetTreeNodeByRow(row);
|
||||
if (!node)
|
||||
return false;
|
||||
|
||||
if (!node->HasChildren())
|
||||
return false;
|
||||
|
||||
return node->IsOpen();
|
||||
}
|
||||
|
||||
|
||||
void wxDataViewMainWindow::OnExpanding( unsigned int row )
|
||||
{
|
||||
if (IsVirtualList())
|
||||
@@ -3685,6 +3703,15 @@ void wxDataViewCtrl::Collapse( const wxDataViewItem & item )
|
||||
m_clientArea->Collapse(row);
|
||||
}
|
||||
|
||||
bool wxDataViewCtrl::IsExpanded( const wxDataViewItem & item ) const
|
||||
{
|
||||
int row = m_clientArea->GetRowByItem( item );
|
||||
if (row != -1)
|
||||
return m_clientArea->IsExpanded(row);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
// !wxUSE_GENERICDATAVIEWCTRL
|
||||
|
||||
|
@@ -4013,6 +4013,15 @@ void wxDataViewCtrl::Collapse( const wxDataViewItem & item )
|
||||
gtk_tree_path_free( path );
|
||||
}
|
||||
|
||||
bool wxDataViewCtrl::IsExpanded( const wxDataViewItem & item ) const
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
iter.user_data = item.GetID();
|
||||
GtkTreePath *path = m_internal->get_path( &iter );
|
||||
gtk_tree_view_row_expanded( GTK_TREE_VIEW(m_treeview), path );
|
||||
gtk_tree_path_free( path );
|
||||
}
|
||||
|
||||
wxDataViewItem wxDataViewCtrl::GetSelection() const
|
||||
{
|
||||
GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(m_treeview) );
|
||||
|
@@ -1204,6 +1204,18 @@ void wxDataViewCtrl::Expand(wxDataViewItem const& item)
|
||||
MacDataViewListCtrlPtr->OpenContainer(reinterpret_cast<DataBrowserItemID>(item.GetID()));
|
||||
}
|
||||
|
||||
bool wxDataViewCtrl::IsExpanded( const wxDataViewItem & item ) const
|
||||
{
|
||||
if (item.IsOk())
|
||||
{
|
||||
wxMacDataViewDataBrowserListViewControlPointer MacDataViewListCtrlPtr(dynamic_cast<wxMacDataViewDataBrowserListViewControlPointer>(m_peer));
|
||||
|
||||
// TODO ???
|
||||
// This doesn't seem to be supported
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
wxDataViewColumn* wxDataViewCtrl::GetSortingColumn() const
|
||||
{
|
||||
DataBrowserPropertyID propertyID;
|
||||
|
Reference in New Issue
Block a user