Bo's patch adding Selection API and some more changes, doesn't compile yet

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2007-08-19 19:03:01 +00:00
parent 0c6fcb099e
commit b7e9f8b136
5 changed files with 458 additions and 211 deletions

View File

@@ -2,7 +2,7 @@
// Name: wx/dataview.h
// Purpose: wxDataViewCtrl base classes
// Author: Robert Roebling
// Modified by:
// Modified by: Bo Yang
// Created: 08.01.06
// RCS-ID: $Id$
// Copyright: (c) Robert Roebling
@@ -21,10 +21,11 @@
#include "wx/bitmap.h"
#include "wx/variant.h"
#include "wx/listctrl.h"
#include "wx/dynarray.h"
#if defined(__WXGTK20__)
// for testing
// #define wxUSE_GENERICDATAVIEWCTRL 1
#define wxUSE_GENERICDATAVIEWCTRL 1
#elif defined(__WXMAC__)
#else
#define wxUSE_GENERICDATAVIEWCTRL 1
@@ -44,7 +45,6 @@ class WXDLLIMPEXP_FWD_ADV wxDataViewCtrl;
class WXDLLIMPEXP_FWD_ADV wxDataViewColumn;
class WXDLLIMPEXP_FWD_ADV wxDataViewRenderer;
class WXDLLIMPEXP_FWD_ADV wxDataViewModelNotifier;
class wxDataViewEventModelNotifier;
extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxDataViewCtrlNameStr[];
@@ -396,6 +396,8 @@ protected:
// wxDataViewCtrlBase
// ---------------------------------------------------------
WX_DECLARE_OBJARRAY(wxDataViewItem, wxDataViewItemArray);
#define wxDV_SINGLE 0x0000 // for convenience
#define wxDV_MULTIPLE 0x0001 // can select multiple items
@@ -472,8 +474,29 @@ public:
int GetIndent() const
{ return m_indent; }
// TODO selection code
virtual wxDataViewItem GetSelection() = 0;
//Selection Code
virtual int GetSelections( wxDataViewItemArray & sel ) const = 0;
virtual void SetSelections( const wxDataViewItemArray & sel ) = 0;
virtual void Select( const wxDataViewItem & item ) = 0;
virtual void Unselect( const wxDataViewItem & item ) = 0;
virtual bool IsSelected( const wxDataViewItem & item ) const = 0;
virtual int GetSelections( wxArrayInt & sel ) const = 0;
virtual void SetSelections( const wxArrayInt & sel ) = 0;
virtual void Select( int row ) = 0;
virtual void Unselect( int row ) = 0;
virtual bool IsSelected( int row ) const = 0;
virtual void SelectRange( int from, int to ) = 0;
virtual void UnselectRange( int from, int to ) = 0;
virtual void SelectAll() = 0;
virtual void UnselectAll() = 0;
virtual void EnsureVisible( int row ) = 0;
virtual void EnsureVisible( const wxDataViewItem & item ) = 0;
virtual wxDataViewItem GetItemByRow( unsigned int row ) const = 0;
virtual int GetRowByItem( const wxDataViewItem & item ) const = 0;
protected:
virtual void DoSetExpanderColumn() = 0 ;
@@ -482,7 +505,6 @@ protected:
private:
wxDataViewModel *m_model;
wxList m_cols;
wxDataViewEventModelNotifier *m_eventNotifier;
unsigned int m_expander_column;
int m_indent ;