git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57374
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual void Expand( const wxDataViewItem & item ) = 0;
virtual void Collapse( const wxDataViewItem & item ) = 0;
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;
virtual void EnsureVisible( const wxDataViewItem & item,
const wxDataViewColumn *column = NULL ) = 0;
virtual void Expand( const wxDataViewItem & item );
virtual void Collapse( const wxDataViewItem & item );
virtual void Expand( const wxDataViewItem & item );
virtual void Collapse( const wxDataViewItem & item );
+ virtual bool IsExpanded( const wxDataViewItem & item ) const;
virtual void Expand( const wxDataViewItem & item );
virtual void Collapse( const wxDataViewItem & item );
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);
static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
- 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 );
{
this->Init();
this->Create(parent, id, pos, size, style, validator );
~wxDataViewCtrl();
// explicit control creation
~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
{
virtual wxControl* GetMainWindow() // should disappear as it is not of any use for the native implementation
{
virtual bool AppendColumn(wxDataViewColumn* columnPtr);
virtual bool PrependColumn(wxDataViewColumn* columnPtr);
virtual bool AppendColumn(wxDataViewColumn* columnPtr);
virtual bool PrependColumn(wxDataViewColumn* columnPtr);
- virtual bool InsertColumn( unsigned int pos, wxDataViewColumn *col );
+ virtual bool InsertColumn(unsigned int pos, wxDataViewColumn *col);
virtual bool ClearColumns();
virtual bool DeleteColumn(wxDataViewColumn* columnPtr);
virtual wxDataViewColumn* GetColumn(unsigned int pos) const;
virtual unsigned int GetColumnCount() const;
virtual bool ClearColumns();
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 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 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 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();
//
virtual void UnselectAll();
//
virtual void HitTest(const wxPoint& point, wxDataViewItem& item,
wxDataViewColumn*& col) const;
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.
*/
/**
Return @true if the item is selected.
*/
@class wxDataViewColumn
This class represents a column in a wxDataViewCtrl.
@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.
wxDataViewCtrl has been associated.
An instance of wxDataViewRenderer is used by this class to render its data.
void Expand( unsigned int row ) { OnExpanding( row ); }
void Collapse( unsigned int row ) { OnCollapsing( row ); }
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
private:
wxDataViewTreeNode * GetTreeNodeByRow( unsigned int row ) const;
//We did not need this temporarily
+
+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())
void wxDataViewMainWindow::OnExpanding( unsigned int row )
{
if (IsVirtualList())
m_clientArea->Collapse(row);
}
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
#endif
// !wxUSE_GENERICDATAVIEWCTRL
gtk_tree_path_free( path );
}
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) );
wxDataViewItem wxDataViewCtrl::GetSelection() const
{
GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(m_treeview) );
MacDataViewListCtrlPtr->OpenContainer(reinterpret_cast<DataBrowserItemID>(item.GetID()));
}
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;
wxDataViewColumn* wxDataViewCtrl::GetSortingColumn() const
{
DataBrowserPropertyID propertyID;