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:
@@ -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();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user