real compilation fix for ItemDeleted()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-07-27 12:17:14 +00:00
parent b4e05bddd7
commit 442c56e6ee

View File

@@ -181,7 +181,7 @@ public:
} }
virtual void UpdateDisplay() { Refresh(); } virtual void UpdateDisplay() { Refresh(); }
// event handlers: // event handlers:
void OnPaint( wxPaintEvent &event ); void OnPaint( wxPaintEvent &event );
@@ -253,7 +253,7 @@ public:
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxDataViewTreeNode // wxDataViewTreeNode
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
class wxDataViewTreeNode; class wxDataViewTreeNode;
WX_DEFINE_SORTED_ARRAY( wxDataViewTreeNode *, wxDataViewTreeNodes ); WX_DEFINE_SORTED_ARRAY( wxDataViewTreeNode *, wxDataViewTreeNodes );
WX_DEFINE_SORTED_ARRAY( void* , wxDataViewTreeLeaves); WX_DEFINE_SORTED_ARRAY( void* , wxDataViewTreeLeaves);
@@ -266,7 +266,7 @@ public:
wxDataViewTreeNode( wxDataViewTreeNode * parent ) wxDataViewTreeNode( wxDataViewTreeNode * parent )
:leaves( wxGenericTreeModelItemCmp ), :leaves( wxGenericTreeModelItemCmp ),
nodes(wxGenericTreeModelNodeCmp) nodes(wxGenericTreeModelNodeCmp)
{ this->parent = parent; { this->parent = parent;
if( parent == NULL ) if( parent == NULL )
open = true; open = true;
else else
@@ -277,15 +277,15 @@ public:
//I don't know what I need to do in the destructure //I don't know what I need to do in the destructure
~wxDataViewTreeNode() ~wxDataViewTreeNode()
{ {
} }
wxDataViewTreeNode * GetParent() { return parent; } wxDataViewTreeNode * GetParent() { return parent; }
void SetParent( wxDataViewTreeNode * parent ) { this->parent = parent; } void SetParent( wxDataViewTreeNode * parent ) { this->parent = parent; }
wxDataViewTreeNodes & GetNodes() { return nodes; } wxDataViewTreeNodes & GetNodes() { return nodes; }
wxDataViewTreeLeaves & GetChildren() { return leaves; } wxDataViewTreeLeaves & GetChildren() { return leaves; }
void AddNode( wxDataViewTreeNode * node ) void AddNode( wxDataViewTreeNode * node )
{ {
nodes.Add( node ); nodes.Add( node );
leaves.Add( node->GetItem().GetID() ); leaves.Add( node->GetItem().GetID() );
@@ -309,13 +309,13 @@ public:
return ret; return ret;
} }
bool IsOpen() bool IsOpen()
{ {
return open ; return open ;
} }
void ToggleOpen() void ToggleOpen()
{ {
int len = nodes.GetCount(); int len = nodes.GetCount();
int sum = 0; int sum = 0;
for ( int i = 0 ;i < len ; i ++) for ( int i = 0 ;i < len ; i ++)
@@ -338,7 +338,7 @@ public:
void SetSubTreeCount( int num ) { subTreeCount = num; } void SetSubTreeCount( int num ) { subTreeCount = num; }
int GetSubTreeCount() { return subTreeCount; } int GetSubTreeCount() { return subTreeCount; }
void ChangeSubTreeCount( int num ) void ChangeSubTreeCount( int num )
{ {
if( !open ) if( !open )
return ; return ;
@@ -351,7 +351,7 @@ private:
wxDataViewTreeNode * parent; wxDataViewTreeNode * parent;
wxDataViewTreeNodes nodes; wxDataViewTreeNodes nodes;
wxDataViewTreeLeaves leaves; wxDataViewTreeLeaves leaves;
wxDataViewItem item; wxDataViewItem item;
bool open; bool open;
bool hasChildren; bool hasChildren;
int subTreeCount; int subTreeCount;
@@ -470,7 +470,7 @@ private:
void OnExpanding( unsigned int row ); void OnExpanding( unsigned int row );
void OnCollapsing( unsigned int row ); void OnCollapsing( unsigned int row );
wxDataViewTreeNode * FindNode( const wxDataViewItem & item ); wxDataViewTreeNode * FindNode( const wxDataViewItem & item );
private: private:
wxDataViewCtrl *m_owner; wxDataViewCtrl *m_owner;
@@ -501,7 +501,7 @@ private:
wxPen m_penExpander; wxPen m_penExpander;
//This is the tree structure of the model //This is the tree structure of the model
wxDataViewTreeNode * m_root; wxDataViewTreeNode * m_root;
int m_count; int m_count;
private: private:
DECLARE_DYNAMIC_CLASS(wxDataViewMainWindow) DECLARE_DYNAMIC_CLASS(wxDataViewMainWindow)
@@ -520,7 +520,7 @@ public:
virtual bool ItemAdded( const wxDataViewItem & parent, const wxDataViewItem & item ) virtual bool ItemAdded( const wxDataViewItem & parent, const wxDataViewItem & item )
{ return m_mainWindow->ItemAdded( parent , item ); } { return m_mainWindow->ItemAdded( parent , item ); }
virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item ) = 0; virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item )
{ return m_mainWindow->ItemDeleted( item ); } { return m_mainWindow->ItemDeleted( item ); }
virtual bool ItemChanged( const wxDataViewItem & item ) virtual bool ItemChanged( const wxDataViewItem & item )
{ return m_mainWindow->ItemChanged(item); } { return m_mainWindow->ItemChanged(item); }
@@ -605,14 +605,14 @@ bool wxDataViewTextRenderer::GetValue( wxVariant& WXUNUSED(value) ) const
} }
bool wxDataViewTextRenderer::HasEditorCtrl() bool wxDataViewTextRenderer::HasEditorCtrl()
{ {
return true; return true;
} }
wxControl* wxDataViewTextRenderer::CreateEditorCtrl( wxWindow *parent, wxControl* wxDataViewTextRenderer::CreateEditorCtrl( wxWindow *parent,
wxRect labelRect, const wxVariant &value ) wxRect labelRect, const wxVariant &value )
{ {
return new wxTextCtrl( parent, wxID_ANY, value, return new wxTextCtrl( parent, wxID_ANY, value,
wxPoint(labelRect.x,labelRect.y), wxPoint(labelRect.x,labelRect.y),
wxSize(labelRect.width,labelRect.height) ); wxSize(labelRect.width,labelRect.height) );
} }
@@ -998,7 +998,7 @@ void wxDataViewColumn::SetSortable( bool sortable )
m_flags |= wxDATAVIEW_COL_SORTABLE; m_flags |= wxDATAVIEW_COL_SORTABLE;
else else
m_flags &= ~wxDATAVIEW_COL_SORTABLE; m_flags &= ~wxDATAVIEW_COL_SORTABLE;
// Update header button // Update header button
if (GetOwner()) if (GetOwner())
GetOwner()->OnColumnChange(); GetOwner()->OnColumnChange();
@@ -1007,7 +1007,7 @@ void wxDataViewColumn::SetSortable( bool sortable )
void wxDataViewColumn::SetSortOrder( bool ascending ) void wxDataViewColumn::SetSortOrder( bool ascending )
{ {
m_ascending = ascending; m_ascending = ascending;
// Update header button // Update header button
if (GetOwner()) if (GetOwner())
GetOwner()->OnColumnChange(); GetOwner()->OnColumnChange();
@@ -1843,7 +1843,7 @@ bool Walker( wxDataViewTreeNode * node, DoJob & func )
default: default:
; ;
} }
if( Walker( nd , func ) ) if( Walker( nd , func ) )
return true; return true;
@@ -1858,7 +1858,7 @@ bool Walker( wxDataViewTreeNode * node, DoJob & func )
case DoJob::CONT: case DoJob::CONT:
default: default:
; ;
} }
} }
return false; return false;
} }
@@ -1954,7 +1954,7 @@ bool wxDataViewMainWindow::ItemDeleted(const wxDataViewItem & item)
node->SetHasChildren( false ); node->SetHasChildren( false );
//Make the row number invalid and get a new valid one when user call GetRowCount //Make the row number invalid and get a new valid one when user call GetRowCount
m_count = -1; m_count = -1;
node->ChangeSubTreeCount(sub); node->ChangeSubTreeCount(sub);
//Change the current row to the last row if the current exceed the max row number //Change the current row to the last row if the current exceed the max row number
if( m_currentRow > GetRowCount() ) if( m_currentRow > GetRowCount() )
@@ -2176,7 +2176,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
{ {
continue; continue;
} }
wxDataViewItem dataitem = node->GetItem(); wxDataViewItem dataitem = node->GetItem();
model->GetValue( value, dataitem, col->GetModelColumn()); model->GetValue( value, dataitem, col->GetModelColumn());
cell->SetValue( value ); cell->SetValue( value );
@@ -2184,7 +2184,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
// update the y offset // update the y offset
cell_rect.y = item * m_lineHeight; cell_rect.y = item * m_lineHeight;
//Draw the expander here. //Draw the expander here.
int indent = node->GetIndentLevel(); int indent = node->GetIndentLevel();
if( col->GetModelColumn() == GetOwner()->GetExpanderColumn() ) if( col->GetModelColumn() == GetOwner()->GetExpanderColumn() )
{ {
@@ -2217,9 +2217,9 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
//force the expander column to left-center align //force the expander column to left-center align
cell->SetAlignment( wxALIGN_CENTER_VERTICAL ); cell->SetAlignment( wxALIGN_CENTER_VERTICAL );
} }
// cannot be bigger than allocated space
// cannot be bigger than allocated space
wxSize size = cell->GetSize(); wxSize size = cell->GetSize();
// Because of the tree structure indent, here we should minus the width of the cell for drawing // Because of the tree structure indent, here we should minus the width of the cell for drawing
size.x = wxMin( size.x + 2*PADDING_RIGHTLEFT, cell_rect.width - indent ); size.x = wxMin( size.x + 2*PADDING_RIGHTLEFT, cell_rect.width - indent );
@@ -2252,7 +2252,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
//Here we add the tree indent //Here we add the tree indent
item_rect.x += indent; item_rect.x += indent;
int state = 0; int state = 0;
if (m_selection.Index(item) != wxNOT_FOUND) if (m_selection.Index(item) != wxNOT_FOUND)
state |= wxDATAVIEW_CELL_SELECTED; state |= wxDATAVIEW_CELL_SELECTED;
@@ -2303,7 +2303,7 @@ unsigned int wxDataViewMainWindow::GetFirstVisibleRow() const
return y / m_lineHeight; return y / m_lineHeight;
} }
unsigned int wxDataViewMainWindow::GetLastVisibleRow() unsigned int wxDataViewMainWindow::GetLastVisibleRow()
{ {
wxSize client_size = GetClientSize(); wxSize client_size = GetClientSize();
m_owner->CalcUnscrolledPosition( client_size.x, client_size.y, m_owner->CalcUnscrolledPosition( client_size.x, client_size.y,
@@ -2312,7 +2312,7 @@ unsigned int wxDataViewMainWindow::GetLastVisibleRow()
return wxMin( GetRowCount()-1, ((unsigned)client_size.y/m_lineHeight)+1 ); return wxMin( GetRowCount()-1, ((unsigned)client_size.y/m_lineHeight)+1 );
} }
unsigned int wxDataViewMainWindow::GetRowCount() unsigned int wxDataViewMainWindow::GetRowCount()
{ {
if ( m_count == -1 ) if ( m_count == -1 )
{ {
@@ -2587,10 +2587,10 @@ wxDataViewItem wxDataViewMainWindow::GetItemByRow(unsigned int row)
class RowToTreeNodeJob: public DoJob class RowToTreeNodeJob: public DoJob
{ {
public: public:
RowToTreeNodeJob( unsigned int row , int current, wxDataViewTreeNode * node ) RowToTreeNodeJob( unsigned int row , int current, wxDataViewTreeNode * node )
{ {
this->row = row; this->row = row;
this->current = current ; this->current = current ;
ret = NULL ; ret = NULL ;
parent = node; parent = node;
} }
@@ -2628,7 +2628,7 @@ public:
ret->SetHasChildren(false); ret->SetHasChildren(false);
return DoJob::OK; return DoJob::OK;
} }
return DoJob::CONT; return DoJob::CONT;
} }
wxDataViewTreeNode * GetResult(){ return ret; } wxDataViewTreeNode * GetResult(){ return ret; }
@@ -2653,7 +2653,7 @@ class CountJob : public DoJob
public: public:
CountJob(){ count = 0 ; } CountJob(){ count = 0 ; }
virtual ~CountJob(){}; virtual ~CountJob(){};
virtual int operator () ( wxDataViewTreeNode * node ) virtual int operator () ( wxDataViewTreeNode * node )
{ {
count ++; count ++;
@@ -2745,7 +2745,7 @@ wxDataViewTreeNode * wxDataViewMainWindow::FindNode( const wxDataViewItem & item
it = model->GetParent( it ); it = model->GetParent( it );
} }
//Find the item along the parent-chain. //Find the item along the parent-chain.
//This algorithm is designed to speed up the node-finding method //This algorithm is designed to speed up the node-finding method
bool found = true; bool found = true;
wxDataViewTreeNode * node = m_root; wxDataViewTreeNode * node = m_root;
@@ -2765,7 +2765,7 @@ wxDataViewTreeNode * wxDataViewMainWindow::FindNode( const wxDataViewItem & item
{ {
node = nodes[j]; node = nodes[j];
break; break;
} }
} }
// Whenever we can't find the node in any level, return NULL to indicate the item can't be found // Whenever we can't find the node in any level, return NULL to indicate the item can't be found
if( j == len ) if( j == len )
@@ -2780,7 +2780,7 @@ wxDataViewTreeNode * wxDataViewMainWindow::FindNode( const wxDataViewItem & item
return node; return node;
} }
int wxDataViewMainWindow::RecalculateCount() int wxDataViewMainWindow::RecalculateCount()
{ {
return m_root->GetSubTreeCount(); return m_root->GetSubTreeCount();
} }
@@ -2810,7 +2810,7 @@ public:
ret += node->GetSubTreeCount(); ret += node->GetSubTreeCount();
return DoJob::IGR; return DoJob::IGR;
} }
} }
virtual int operator() ( void * n ) virtual int operator() ( void * n )
@@ -2826,7 +2826,7 @@ private:
ItemList::Node * nd; ItemList::Node * nd;
wxDataViewItem item; wxDataViewItem item;
int ret; int ret;
}; };
unsigned int wxDataViewMainWindow::GetRowByItem(const wxDataViewItem & item) unsigned int wxDataViewMainWindow::GetRowByItem(const wxDataViewItem & item)
@@ -2855,7 +2855,7 @@ void BuildTreeHelper( wxDataViewModel * model, wxDataViewItem & item, wxDataVie
{ {
if( !model->IsContainer( item ) ) if( !model->IsContainer( item ) )
return ; return ;
wxDataViewItem i = model->GetFirstChild( item ); wxDataViewItem i = model->GetFirstChild( item );
int num = 0; int num = 0;
while( i.IsOk() ) while( i.IsOk() )
@@ -3398,7 +3398,7 @@ void wxDataViewCtrl::DoSetIndent()
m_clientArea->UpdateDisplay(); m_clientArea->UpdateDisplay();
} }
wxDataViewItem wxDataViewCtrl::GetSelection() wxDataViewItem wxDataViewCtrl::GetSelection()
{ {
return m_clientArea->GetSelection(); return m_clientArea->GetSelection();
} }