fix unused parameter warnings

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2007-10-20 23:23:44 +00:00
parent 50c549b98d
commit b5ec7dd6ee
3 changed files with 218 additions and 197 deletions

View File

@ -69,18 +69,18 @@ extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxDataViewCtrlNameStr[];
class WXDLLIMPEXP_ADV wxDataViewItem
{
public:
wxDataViewItem( void* id = NULL )
wxDataViewItem( void* id = NULL )
{ m_id = id; }
wxDataViewItem( const wxDataViewItem &item )
{ m_id = item.m_id; }
bool IsOk() const { return m_id != NULL; }
void* GetID() const { return m_id; }
operator const void* () const { return m_id; }
#ifdef __WXDEBUG__
void Print( const wxString &text ) const { wxPrintf( "item %s: %d\n", text, (int) m_id ); }
#endif
private:
void* m_id;
};
@ -107,7 +107,7 @@ public:
virtual bool ItemsChanged( const wxDataViewItemArray &items );
virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col ) = 0;
virtual bool Cleared() = 0;
virtual void Resort() = 0;
void SetOwner( wxDataViewModel *owner ) { m_owner = owner; }
@ -136,18 +136,19 @@ public:
virtual wxString GetColumnType( unsigned int col ) const = 0;
// get value into a wxVariant
virtual void GetValue( wxVariant &variant,
virtual void GetValue( wxVariant &variant,
const wxDataViewItem &item, unsigned int col ) const = 0;
// set value, call ValueChanged() afterwards!
virtual bool SetValue( const wxVariant &variant,
virtual bool SetValue( const wxVariant &variant,
const wxDataViewItem &item, unsigned int col ) = 0;
// define hierachy
virtual wxDataViewItem GetParent( const wxDataViewItem &item ) const = 0;
virtual bool IsContainer( const wxDataViewItem &item ) const = 0;
// Is the container just a header or an item with all columns
virtual bool HasContainerColumns( const wxDataViewItem &item ) const { return false; }
virtual bool HasContainerColumns(const wxDataViewItem& WXUNUSED(item)) const
{ return false; }
virtual unsigned int GetChildren( const wxDataViewItem &item, wxDataViewItemArray &children ) const = 0;
// delegated notifiers
@ -165,9 +166,9 @@ public:
void AddNotifier( wxDataViewModelNotifier *notifier );
void RemoveNotifier( wxDataViewModelNotifier *notifier );
// default compare function
virtual int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
virtual int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
unsigned int column, bool ascending );
virtual bool HasDefaultCompare() const { return false; }
@ -187,43 +188,43 @@ class WXDLLIMPEXP_ADV wxDataViewIndexListModel: public wxDataViewModel
public:
wxDataViewIndexListModel( unsigned int initial_size = 0 );
~wxDataViewIndexListModel();
virtual unsigned int GetRowCount() = 0;
virtual void GetValue( wxVariant &variant,
virtual void GetValue( wxVariant &variant,
unsigned int row, unsigned int col ) const = 0;
virtual bool SetValue( const wxVariant &variant,
virtual bool SetValue( const wxVariant &variant,
unsigned int row, unsigned int col ) = 0;
void RowPrepended();
void RowInserted( unsigned int before );
void RowAppended();
void RowDeleted( unsigned int row );
void RowChanged( unsigned int row );
void RowValueChanged( unsigned int row, unsigned int col );
// convert to/from row/wxDataViewItem
unsigned int GetRow( const wxDataViewItem &item ) const;
wxDataViewItem GetItem( unsigned int row ) const;
// compare based on index
virtual int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
virtual int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
unsigned int column, bool ascending );
virtual bool HasDefaultCompare() const { return true; }
// implement base methods
virtual void GetValue( wxVariant &variant,
virtual void GetValue( wxVariant &variant,
const wxDataViewItem &item, unsigned int col ) const;
virtual bool SetValue( const wxVariant &variant,
virtual bool SetValue( const wxVariant &variant,
const wxDataViewItem &item, unsigned int col );
virtual wxDataViewItem GetParent( const wxDataViewItem &item ) const;
virtual bool IsContainer( const wxDataViewItem &item ) const;
virtual unsigned int GetChildren( const wxDataViewItem &item, wxDataViewItemArray &children ) const;
private:
wxDataViewItemArray m_hash;
unsigned int m_lastIndex;
@ -238,7 +239,7 @@ class wxDataViewEditorCtrlEvtHandler: public wxEvtHandler
{
public:
wxDataViewEditorCtrlEvtHandler( wxControl *editor, wxDataViewRenderer *owner );
void AcceptChangesAndFinish();
void SetFocusOnIdle( bool focus = true ) { m_focusOnIdle = focus; }
@ -279,7 +280,7 @@ enum wxDataViewCellRenderState
class WXDLLIMPEXP_ADV wxDataViewRendererBase: public wxObject
{
public:
wxDataViewRendererBase( const wxString &varianttype,
wxDataViewRendererBase( const wxString &varianttype,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
int alignment = wxDVR_DEFAULT_ALIGNMENT );
@ -304,7 +305,7 @@ public:
// to combine alignment flags (e.g. wxALIGN_LEFT|wxALIGN_BOTTOM)
virtual void SetAlignment( int align ) = 0;
virtual int GetAlignment() const = 0;
// in-place editing
virtual bool HasEditorCtrl()
{ return false; }
@ -319,9 +320,9 @@ public:
virtual bool StartEditing( const wxDataViewItem &item, wxRect labelRect );
virtual void CancelEditing();
virtual bool FinishEditing();
wxControl *GetEditorCtrl() { return m_editorCtrl; }
protected:
wxString m_variantType;
wxDataViewColumn *m_owner;
@ -378,12 +379,12 @@ enum wxDataViewColumnFlags
class WXDLLIMPEXP_ADV wxDataViewColumnBase: public wxObject
{
public:
wxDataViewColumnBase( const wxString &title, wxDataViewRenderer *renderer,
unsigned int model_column, int width = wxDVC_DEFAULT_WIDTH,
wxDataViewColumnBase( const wxString &title, wxDataViewRenderer *renderer,
unsigned int model_column, int width = wxDVC_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE );
wxDataViewColumnBase( const wxBitmap &bitmap, wxDataViewRenderer *renderer,
unsigned int model_column, int width = wxDVC_DEFAULT_WIDTH,
wxDataViewColumnBase( const wxBitmap &bitmap, wxDataViewRenderer *renderer,
unsigned int model_column, int width = wxDVC_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE );
virtual ~wxDataViewColumnBase();
@ -397,7 +398,7 @@ public:
virtual void SetHidden( bool hidden ) = 0;
virtual void SetSortOrder( bool ascending ) = 0;
virtual void SetFlags( int flags );
virtual void SetOwner( wxDataViewCtrl *owner )
virtual void SetOwner( wxDataViewCtrl *owner )
{ m_owner = owner; }
virtual void SetBitmap( const wxBitmap &bitmap )
{ m_bitmap=bitmap; }
@ -457,11 +458,11 @@ public:
wxDataViewModel* GetModel();
// short cuts
wxDataViewColumn *PrependTextColumn( const wxString &label, unsigned int model_column,
wxDataViewColumn *PrependTextColumn( const wxString &label, unsigned int model_column,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = -1,
wxAlignment align = (wxAlignment)(wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL),
int flags = wxDATAVIEW_COL_RESIZABLE );
wxDataViewColumn *PrependIconTextColumn( const wxString &label, unsigned int model_column,
wxDataViewColumn *PrependIconTextColumn( const wxString &label, unsigned int model_column,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = -1,
wxAlignment align = (wxAlignment)(wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL),
int flags = wxDATAVIEW_COL_RESIZABLE );
@ -469,7 +470,7 @@ public:
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxDVC_TOGGLE_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE );
wxDataViewColumn *PrependProgressColumn( const wxString &label, unsigned int model_column,
wxDataViewColumn *PrependProgressColumn( const wxString &label, unsigned int model_column,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxDVC_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE );
@ -505,12 +506,12 @@ public:
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = -1,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE );
wxDataViewColumn *AppendTextColumn( const wxString &label, unsigned int model_column,
wxDataViewColumn *AppendTextColumn( const wxString &label, unsigned int model_column,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = -1,
wxAlignment align = (wxAlignment)(wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL),
int flags = wxDATAVIEW_COL_RESIZABLE );
wxDataViewColumn *AppendIconTextColumn( const wxString &label, unsigned int model_column,
wxDataViewColumn *AppendIconTextColumn( const wxString &label, unsigned int model_column,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = -1,
wxAlignment align = (wxAlignment)(wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL),
int flags = wxDATAVIEW_COL_RESIZABLE );
@ -518,7 +519,7 @@ public:
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxDVC_TOGGLE_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE );
wxDataViewColumn *AppendProgressColumn( const wxString &label, unsigned int model_column,
wxDataViewColumn *AppendProgressColumn( const wxString &label, unsigned int model_column,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxDVC_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE );
@ -562,21 +563,21 @@ public:
virtual unsigned int GetColumnCount() const = 0;
virtual wxDataViewColumn* GetColumn( unsigned int pos ) const = 0;
virtual int GetColumnPosition( const wxDataViewColumn *column ) const = 0;
virtual bool DeleteColumn( wxDataViewColumn *column ) = 0;
virtual bool ClearColumns() = 0;
void SetExpanderColumn( wxDataViewColumn *col )
{ m_expander_column = col ; DoSetExpanderColumn(); }
wxDataViewColumn *GetExpanderColumn() const
wxDataViewColumn *GetExpanderColumn() const
{ return m_expander_column; }
virtual wxDataViewColumn *GetSortingColumn() const = 0;
void SetIndent( int indent )
{ m_indent = indent ; DoSetIndent(); }
int GetIndent() const
{ return m_indent; }
int GetIndent() const
{ return m_indent; }
virtual wxDataViewItem GetSelection() const = 0;
virtual int GetSelections( wxDataViewItemArray & sel ) const = 0;
@ -604,7 +605,7 @@ private:
wxDataViewModel *m_model;
wxDataViewColumn *m_expander_column;
int m_indent ;
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCtrlBase)
};
@ -665,7 +666,7 @@ private:
BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSED, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDED, -1)
@ -674,7 +675,7 @@ BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, -1)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, -1)
@ -730,7 +731,7 @@ public:
virtual wxSize GetSize() const;
virtual bool SetValue( const wxVariant &value );
virtual bool GetValue( wxVariant &value ) const;
private:
long m_data;
long m_min,m_max;
@ -746,8 +747,8 @@ public:
wxDataViewTreeStoreNode( wxDataViewTreeStoreNode *parent,
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
virtual ~wxDataViewTreeStoreNode();
void SetText( const wxString &text )
void SetText( const wxString &text )
{ m_text = text; }
wxString GetText() const
{ return m_text; }
@ -759,16 +760,16 @@ public:
{ if (m_data) delete m_data; m_data = data; }
wxClientData *GetData() const
{ return m_data; }
wxDataViewItem GetItem() const
{ return wxDataViewItem( (void*) this ); }
virtual bool IsContainer()
{ return false; }
wxDataViewTreeStoreNode *GetParent()
{ return m_parent; }
private:
wxDataViewTreeStoreNode *m_parent;
wxString m_text;
@ -782,24 +783,24 @@ WX_DECLARE_LIST_WITH_DECL(wxDataViewTreeStoreNode, wxDataViewTreeStoreNodeList,
class WXDLLIMPEXP_ADV wxDataViewTreeStoreContainerNode: public wxDataViewTreeStoreNode
{
public:
wxDataViewTreeStoreContainerNode( wxDataViewTreeStoreNode *parent,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
wxDataViewTreeStoreContainerNode( wxDataViewTreeStoreNode *parent,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
wxClientData *data = NULL );
virtual ~wxDataViewTreeStoreContainerNode();
const wxDataViewTreeStoreNodeList &GetChildren() const
const wxDataViewTreeStoreNodeList &GetChildren() const
{ return m_children; }
wxDataViewTreeStoreNodeList &GetChildren()
wxDataViewTreeStoreNodeList &GetChildren()
{ return m_children; }
void SetExpandedIcon( const wxIcon &icon )
{ m_iconExpanded = icon; }
const wxIcon &GetExpandedIcon() const
{ return m_iconExpanded; }
virtual bool IsContainer()
{ return true; }
private:
wxDataViewTreeStoreNodeList m_children;
wxIcon m_iconExpanded;
@ -813,29 +814,29 @@ public:
wxDataViewTreeStore();
~wxDataViewTreeStore();
wxDataViewItem AppendItem( const wxDataViewItem& parent,
wxDataViewItem AppendItem( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
wxDataViewItem PrependItem( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
wxDataViewItem InsertItem( const wxDataViewItem& parent, const wxDataViewItem& previous,
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
wxDataViewItem PrependContainer( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
wxDataViewItem PrependContainer( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
wxClientData *data = NULL );
wxDataViewItem AppendContainer( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
wxClientData *data = NULL );
wxDataViewItem InsertContainer( const wxDataViewItem& parent, const wxDataViewItem& previous,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
wxClientData *data = NULL );
wxDataViewItem GetNthChild( const wxDataViewItem& parent, unsigned int pos ) const;
int GetChildCount( const wxDataViewItem& parent ) const;
void SetItemText( const wxDataViewItem& item, const wxString &text );
wxString GetItemText( const wxDataViewItem& item ) const;
void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );
void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );
const wxIcon &GetItemIcon( const wxDataViewItem& item ) const;
void SetItemExpandedIcon( const wxDataViewItem& item, const wxIcon &icon );
const wxIcon &GetItemExpandedIcon( const wxDataViewItem& item ) const;
@ -845,31 +846,31 @@ public:
void DeleteItem( const wxDataViewItem& item );
void DeleteChildren( const wxDataViewItem& item );
void DeleteAllItems();
// implement base methods
virtual void GetValue( wxVariant &variant,
virtual void GetValue( wxVariant &variant,
const wxDataViewItem &item, unsigned int col ) const;
virtual bool SetValue( const wxVariant &variant,
virtual bool SetValue( const wxVariant &variant,
const wxDataViewItem &item, unsigned int col );
virtual wxDataViewItem GetParent( const wxDataViewItem &item ) const;
virtual bool IsContainer( const wxDataViewItem &item ) const;
virtual unsigned int GetChildren( const wxDataViewItem &item, wxDataViewItemArray &children ) const;
virtual int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
virtual int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
unsigned int column, bool ascending );
virtual bool HasDefaultCompare() const
virtual bool HasDefaultCompare() const
{ return true; }
virtual unsigned int GetColumnCount() const
virtual unsigned int GetColumnCount() const
{ return 1; };
virtual wxString GetColumnType( unsigned int WXUNUSED(col) ) const
virtual wxString GetColumnType( unsigned int WXUNUSED(col) ) const
{ return "wxDataViewIconText"; }
wxDataViewTreeStoreNode *FindNode( const wxDataViewItem &item ) const;
wxDataViewTreeStoreContainerNode *FindContainerNode( const wxDataViewItem &item ) const;
wxDataViewTreeStoreNode *GetRoot() const { return m_root; }
public:
wxDataViewTreeStoreNode *m_root;
};
@ -890,10 +891,10 @@ public:
wxDataViewTreeStore *GetStore()
{ return (wxDataViewTreeStore*) GetModel(); }
void OnExpand( wxDataViewCtrl &event );
void OnCollapse( wxDataViewCtrl &event );
void OnCollapse( wxDataViewCtrl &event );
private:
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxDataViewTreeCtrl)
};

View File

@ -50,7 +50,7 @@ bool wxDataViewModelNotifier::ItemsAdded( const wxDataViewItem &parent, const wx
size_t i;
for (i = 0; i < count; i++)
if (!ItemAdded( parent, items[i] )) return false;
return true;
}
@ -60,7 +60,7 @@ bool wxDataViewModelNotifier::ItemsDeleted( const wxDataViewItem &parent, const
size_t i;
for (i = 0; i < count; i++)
if (!ItemDeleted( parent, items[i] )) return false;
return true;
}
@ -70,7 +70,7 @@ bool wxDataViewModelNotifier::ItemsChanged( const wxDataViewItemArray &items )
size_t i;
for (i = 0; i < count; i++)
if (!ItemChanged( items[i] )) return false;
return true;
}
@ -981,27 +981,27 @@ DEFINE_EVENT_TYPE(wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED)
// -------------------------------------
wxDataViewSpinRenderer::wxDataViewSpinRenderer( int min, int max, wxDataViewCellMode mode, int alignment ) :
wxDataViewCustomRenderer( "long", mode, alignment )
{
wxDataViewCustomRenderer( "long", mode, alignment )
{
m_min = min;
m_max = max;
}
wxControl* wxDataViewSpinRenderer::CreateEditorCtrl( wxWindow *parent, wxRect labelRect, const wxVariant &value )
{
{
long l = value;
return new wxSpinCtrl( parent, wxID_ANY, wxEmptyString,
return new wxSpinCtrl( parent, wxID_ANY, wxEmptyString,
labelRect.GetTopLeft(), labelRect.GetSize(), wxSP_ARROW_KEYS, m_min, m_max, l );
}
bool wxDataViewSpinRenderer::GetValueFromEditorCtrl( wxControl* editor, wxVariant &value )
{
{
wxSpinCtrl *sc = (wxSpinCtrl*) editor;
long l = sc->GetValue();
value = l;
return true;
}
bool wxDataViewSpinRenderer::Render( wxRect rect, wxDC *dc, int state )
{
wxString str;
@ -1009,18 +1009,18 @@ bool wxDataViewSpinRenderer::Render( wxRect rect, wxDC *dc, int state )
RenderText( str, 0, rect, dc, state );
return true;
}
wxSize wxDataViewSpinRenderer::GetSize() const
{
return wxSize(80,16);
}
bool wxDataViewSpinRenderer::SetValue( const wxVariant &value )
{
m_data = value.GetLong();
return true;
}
bool wxDataViewSpinRenderer::GetValue( wxVariant &value ) const
{
value = m_data;
@ -1031,8 +1031,8 @@ bool wxDataViewSpinRenderer::GetValue( wxVariant &value ) const
// wxDataViewTreeStore
//-----------------------------------------------------------------------------
wxDataViewTreeStoreNode::wxDataViewTreeStoreNode(
wxDataViewTreeStoreNode *parent,
wxDataViewTreeStoreNode::wxDataViewTreeStoreNode(
wxDataViewTreeStoreNode *parent,
const wxString &text, const wxIcon &icon, wxClientData *data )
{
m_parent = parent;
@ -1046,12 +1046,12 @@ wxDataViewTreeStoreNode::~wxDataViewTreeStoreNode()
if (m_data)
delete m_data;
}
#include "wx/listimpl.cpp"
WX_DEFINE_LIST(wxDataViewTreeStoreNodeList);
wxDataViewTreeStoreContainerNode::wxDataViewTreeStoreContainerNode(
wxDataViewTreeStoreNode *parent, const wxString &text,
wxDataViewTreeStoreContainerNode::wxDataViewTreeStoreContainerNode(
wxDataViewTreeStoreNode *parent, const wxString &text,
const wxIcon &icon, const wxIcon &expanded, wxClientData *data ) :
wxDataViewTreeStoreNode( parent, text, icon, data )
{
@ -1075,19 +1075,19 @@ wxDataViewTreeStore::~wxDataViewTreeStore()
delete m_root;
}
wxDataViewItem wxDataViewTreeStore::AppendItem( const wxDataViewItem& parent,
wxDataViewItem wxDataViewTreeStore::AppendItem( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon, wxClientData *data )
{
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
if (!parent_node) return wxDataViewItem(0);
wxDataViewTreeStoreNode *node =
wxDataViewTreeStoreNode *node =
new wxDataViewTreeStoreNode( parent_node, text, icon, data );
parent_node->GetChildren().Append( node );
// notify control
ItemAdded( parent, node->GetItem() );
return node->GetItem();
}
@ -1096,60 +1096,71 @@ wxDataViewItem wxDataViewTreeStore::PrependItem( const wxDataViewItem& parent,
{
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
if (!parent_node) return wxDataViewItem(0);
wxDataViewTreeStoreNode *node =
wxDataViewTreeStoreNode *node =
new wxDataViewTreeStoreNode( parent_node, text, icon, data );
parent_node->GetChildren().Insert( node );
// notify control
ItemAdded( parent, node->GetItem() );
return node->GetItem();
}
wxDataViewItem wxDataViewTreeStore::InsertItem( const wxDataViewItem& parent, const wxDataViewItem& previous,
const wxString &text, const wxIcon &icon, wxClientData *data )
wxDataViewItem
wxDataViewTreeStore::InsertItem(const wxDataViewItem& WXUNUSED(parent),
const wxDataViewItem& WXUNUSED(previous),
const wxString& WXUNUSED(text),
const wxIcon& WXUNUSED(icon),
wxClientData * WXUNUSED(data))
{
return wxDataViewItem(0);
}
wxDataViewItem wxDataViewTreeStore::PrependContainer( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon, const wxIcon &expanded,
wxDataViewItem wxDataViewTreeStore::PrependContainer( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon, const wxIcon &expanded,
wxClientData *data )
{
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
if (!parent_node) return wxDataViewItem(0);
wxDataViewTreeStoreContainerNode *node =
wxDataViewTreeStoreContainerNode *node =
new wxDataViewTreeStoreContainerNode( parent_node, text, icon, expanded, data );
parent_node->GetChildren().Insert( node );
// notify control
ItemAdded( parent, node->GetItem() );
return node->GetItem();
}
wxDataViewItem wxDataViewTreeStore::AppendContainer( const wxDataViewItem& parent,
const wxString &text, const wxIcon &icon, const wxIcon &expanded,
wxClientData *data )
wxDataViewItem
wxDataViewTreeStore::AppendContainer(const wxDataViewItem& parent,
const wxString &text,
const wxIcon& icon,
const wxIcon& expanded,
wxClientData * data)
{
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
if (!parent_node) return wxDataViewItem(0);
wxDataViewTreeStoreContainerNode *node =
wxDataViewTreeStoreContainerNode *node =
new wxDataViewTreeStoreContainerNode( parent_node, text, icon, expanded, data );
parent_node->GetChildren().Append( node );
// notify control
ItemAdded( parent, node->GetItem() );
return node->GetItem();
}
wxDataViewItem wxDataViewTreeStore::InsertContainer( const wxDataViewItem& parent, const wxDataViewItem& previous,
const wxString &text, const wxIcon &icon, const wxIcon &expanded,
wxClientData *data )
wxDataViewItem
wxDataViewTreeStore::InsertContainer(const wxDataViewItem& WXUNUSED(parent),
const wxDataViewItem& WXUNUSED(previous),
const wxString& WXUNUSED(text),
const wxIcon& WXUNUSED(icon),
const wxIcon& WXUNUSED(expanded),
wxClientData * WXUNUSED(data))
{
return wxDataViewItem(0);
}
@ -1158,11 +1169,11 @@ wxDataViewItem wxDataViewTreeStore::GetNthChild( const wxDataViewItem& parent, u
{
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
if (!parent_node) return wxDataViewItem(0);
wxDataViewTreeStoreNodeList::compatibility_iterator node = parent_node->GetChildren().Item( pos );
if (node)
return node->GetData();
return wxDataViewItem(0);
}
@ -1170,21 +1181,21 @@ int wxDataViewTreeStore::GetChildCount( const wxDataViewItem& parent ) const
{
wxDataViewTreeStoreNode *node = FindNode( parent );
if (!node) return -1;
if (!node->IsContainer())
return 0;
wxDataViewTreeStoreContainerNode *container_node = (wxDataViewTreeStoreContainerNode*) node;
return (int) container_node->GetChildren().GetCount();
return (int) container_node->GetChildren().GetCount();
}
void wxDataViewTreeStore::SetItemText( const wxDataViewItem& item, const wxString &text )
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return;
node->SetText( text );
// notify control
ValueChanged( item, 0 );
}
@ -1193,7 +1204,7 @@ wxString wxDataViewTreeStore::GetItemText( const wxDataViewItem& item ) const
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return wxEmptyString;
return node->GetText();
}
@ -1201,9 +1212,9 @@ void wxDataViewTreeStore::SetItemIcon( const wxDataViewItem& item, const wxIcon
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return;
node->SetIcon( icon );
// notify control
ValueChanged( item, 0 );
}
@ -1212,7 +1223,7 @@ const wxIcon &wxDataViewTreeStore::GetItemIcon( const wxDataViewItem& item ) con
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return wxNullIcon;
return node->GetIcon();
}
@ -1220,9 +1231,9 @@ void wxDataViewTreeStore::SetItemExpandedIcon( const wxDataViewItem& item, const
{
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
if (!node) return;
node->SetExpandedIcon( icon );
// notify control
ValueChanged( item, 0 );
}
@ -1231,7 +1242,7 @@ const wxIcon &wxDataViewTreeStore::GetItemExpandedIcon( const wxDataViewItem& it
{
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
if (!node) return wxNullIcon;
return node->GetExpandedIcon();
}
@ -1239,9 +1250,9 @@ void wxDataViewTreeStore::SetItemData( const wxDataViewItem& item, wxClientData
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return;
node->SetData( data );
// notify control? only sensible when sorting on client data
// ValueChanged( item, 0 );
}
@ -1250,7 +1261,7 @@ wxClientData *wxDataViewTreeStore::GetItemData( const wxDataViewItem& item ) con
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return NULL;
return node->GetData();
}
@ -1262,12 +1273,12 @@ void wxDataViewTreeStore::DeleteItem( const wxDataViewItem& item )
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent_item );
if (!parent_node) return;
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
if (!node) return;
parent_node->GetChildren().DeleteObject( node );
// notify control
ItemDeleted( parent_item, item );
}
@ -1276,7 +1287,7 @@ void wxDataViewTreeStore::DeleteChildren( const wxDataViewItem& item )
{
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
if (!node) return;
wxDataViewItemArray array;
wxDataViewTreeStoreNodeList::iterator iter;
for (iter = node->GetChildren().begin(); iter != node->GetChildren().end(); iter++)
@ -1284,9 +1295,9 @@ void wxDataViewTreeStore::DeleteChildren( const wxDataViewItem& item )
wxDataViewTreeStoreNode* child = *iter;
array.Add( child->GetItem() );
}
node->GetChildren().clear();
// notify control
ItemsDeleted( item, array );
}
@ -1296,34 +1307,38 @@ void wxDataViewTreeStore::DeleteAllItems()
// TODO
}
void wxDataViewTreeStore::GetValue( wxVariant &variant,
const wxDataViewItem &item, unsigned int col ) const
void
wxDataViewTreeStore::GetValue(wxVariant &variant,
const wxDataViewItem &item,
unsigned int WXUNUSED(col)) const
{
// if (col != 0) return;
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return;
wxDataViewIconText data( node->GetText(), node->GetIcon() );
variant << data;
}
bool wxDataViewTreeStore::SetValue( const wxVariant &variant,
const wxDataViewItem &item, unsigned int col )
bool
wxDataViewTreeStore::SetValue(const wxVariant& variant,
const wxDataViewItem& item,
unsigned int WXUNUSED(col))
{
// if (col != 0) return false;
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return false;
wxDataViewIconText data;
data << variant;
node->SetText( data.GetText() );
node->SetIcon( data.GetIcon() );
return true;
}
@ -1331,13 +1346,13 @@ wxDataViewItem wxDataViewTreeStore::GetParent( const wxDataViewItem &item ) cons
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return wxDataViewItem(0);
wxDataViewTreeStoreNode *parent = node->GetParent();
if (!parent) return wxDataViewItem(0);
if (parent == m_root)
return wxDataViewItem(0);
return parent->GetItem();
}
@ -1345,7 +1360,7 @@ bool wxDataViewTreeStore::IsContainer( const wxDataViewItem &item ) const
{
wxDataViewTreeStoreNode *node = FindNode( item );
if (!node) return false;
return node->IsContainer();
}
@ -1360,36 +1375,36 @@ unsigned int wxDataViewTreeStore::GetChildren( const wxDataViewItem &item, wxDat
wxDataViewTreeStoreNode* child = *iter;
children.Add( child->GetItem() );
}
return node->GetChildren().GetCount();
}
int wxDataViewTreeStore::Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
int wxDataViewTreeStore::Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
unsigned int WXUNUSED(column), bool WXUNUSED(ascending) )
{
wxDataViewTreeStoreNode *node1 = FindNode( item1 );
wxDataViewTreeStoreNode *node2 = FindNode( item2 );
if (!node1 || !node2)
return 0;
wxDataViewTreeStoreContainerNode* parent1 =
wxDataViewTreeStoreContainerNode* parent1 =
(wxDataViewTreeStoreContainerNode*) node1->GetParent();
wxDataViewTreeStoreContainerNode* parent2 =
wxDataViewTreeStoreContainerNode* parent2 =
(wxDataViewTreeStoreContainerNode*) node2->GetParent();
if (parent1 != parent2)
{
wxLogError( wxT("Comparing items with different parent.") );
return 0;
}
if (node1->IsContainer() && !!node2->IsContainer())
return 1;
if (node2->IsContainer() && !!node1->IsContainer())
return -1;
return parent1->GetChildren().IndexOf( node1 ) - parent1->GetChildren().IndexOf( node2 );
}
@ -1397,7 +1412,7 @@ wxDataViewTreeStoreNode *wxDataViewTreeStore::FindNode( const wxDataViewItem &it
{
if (!item.IsOk())
return m_root;
return (wxDataViewTreeStoreNode*) item.GetID();
}
@ -1407,12 +1422,12 @@ wxDataViewTreeStoreContainerNode *wxDataViewTreeStore::FindContainerNode( const
return (wxDataViewTreeStoreContainerNode*) m_root;
wxDataViewTreeStoreNode* node = (wxDataViewTreeStoreNode*) item.GetID();
if (!node->IsContainer())
return NULL;
return (wxDataViewTreeStoreContainerNode*) node;
}
#endif
#endif // wxUSE_DATAVIEWCTRL

View File

@ -268,7 +268,7 @@ class wxDataViewTreeNode
{
public:
wxDataViewTreeNode( wxDataViewTreeNode * parent = NULL )
{
{
m_parent = parent;
if (!parent)
m_open = true;
@ -277,7 +277,7 @@ public:
m_hasChildren = false;
m_subTreeCount = 0;
}
~wxDataViewTreeNode()
{
}
@ -1012,7 +1012,7 @@ bool wxDataViewIconTextRenderer::SetValue( const wxVariant &value )
return true;
}
bool wxDataViewIconTextRenderer::GetValue( wxVariant &value ) const
bool wxDataViewIconTextRenderer::GetValue( wxVariant& WXUNUSED(value) ) const
{
return false;
}
@ -1023,10 +1023,10 @@ bool wxDataViewIconTextRenderer::Render( wxRect cell, wxDC *dc, int state )
const wxIcon &icon = m_value.GetIcon();
if (icon.IsOk())
{
dc->DrawIcon( icon, cell.x, cell.y + ((cell.height - icon.GetHeight()) / 2));
dc->DrawIcon( icon, cell.x, cell.y + ((cell.height - icon.GetHeight()) / 2));
xoffset = icon.GetWidth()+4;
}
RenderText( m_value.GetText(), xoffset, cell, dc, state );
return true;
@ -1039,7 +1039,7 @@ wxSize wxDataViewIconTextRenderer::GetSize() const
{
int x,y;
view->GetTextExtent( m_value.GetText(), &x, &y );
if (m_value.GetIcon().IsOk())
x += m_value.GetIcon().GetWidth() + 4;
return wxSize( x, y );
@ -1047,12 +1047,17 @@ wxSize wxDataViewIconTextRenderer::GetSize() const
return wxSize(80,20);
}
wxControl* wxDataViewIconTextRenderer::CreateEditorCtrl( wxWindow *parent, wxRect labelRect, const wxVariant &value )
wxControl *
wxDataViewIconTextRenderer::CreateEditorCtrl(wxWindow * WXUNUSED(parent),
wxRect WXUNUSED(labelRect),
const wxVariant& WXUNUSED(value))
{
return NULL;
}
bool wxDataViewIconTextRenderer::GetValueFromEditorCtrl( wxControl* editor, wxVariant &value )
bool
wxDataViewIconTextRenderer::GetValueFromEditorCtrl(wxControl* WXUNUSED(editor),
wxVariant& WXUNUSED(value))
{
return false;
}
@ -1603,7 +1608,7 @@ void wxGenericDataViewHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
else
sortArrow = wxHDR_SORT_ICON_DOWN;
}
int state = 0;
if (m_parent->IsEnabled())
{
@ -1731,7 +1736,7 @@ void wxGenericDataViewHeaderWindow::OnMouse( wxMouseEvent &event )
m_minX = xpos;
}
int old_hover = m_hover;
m_hover = m_column;
if (event.Leaving())
@ -2108,7 +2113,7 @@ bool wxDataViewMainWindow::ItemChanged(const wxDataViewItem & item)
le.SetModel(GetOwner()->GetModel());
le.SetItem(item);
parent->GetEventHandler()->ProcessEvent(le);
return true;
}
@ -2371,10 +2376,10 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
continue;
wxDataViewItem dataitem = node->GetItem();
if ((i > 0) && model->IsContainer(dataitem) && !model->HasContainerColumns(dataitem))
continue;
model->GetValue( value, dataitem, col->GetModelColumn());
cell->SetValue( value );
@ -3425,7 +3430,7 @@ void wxDataViewMainWindow::OnMouse( wxMouseEvent &event )
((GetOwner()->GetExpanderColumn() != col) &&
(model->IsContainer(item)) &&
(!model->HasContainerColumns(item)));
if (event.LeftDClick())
{
if ( current == m_lineLastClicked )
@ -3666,7 +3671,7 @@ bool wxDataViewCtrl::Create(wxWindow *parent, wxWindowID id,
return false;
SetInitialSize(size);
Init();
#ifdef __WXMAC__
@ -3687,7 +3692,7 @@ bool wxDataViewCtrl::Create(wxWindow *parent, wxWindowID id,
sizer->Add( m_headerArea, 0, wxGROW );
sizer->Add( m_clientArea, 1, wxGROW );
SetSizer( sizer );
return true;
}