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

View File

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

View File

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