#include "wx/dynarray.h"
#include "wx/icon.h"
#include "wx/imaglist.h"
+#include "wx/weakref.h"
class WXDLLIMPEXP_FWD_CORE wxDataFormat;
// the default minimal width of the columns:
#define wxDVC_DEFAULT_MINWIDTH 30
-// the default alignment of wxDataViewRenderers:
-#define wxDVR_DEFAULT_ALIGNMENT (wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL)
+// The default alignment of wxDataViewRenderers is to take
+// the alignment from the column it owns.
+#define wxDVR_DEFAULT_ALIGNMENT -1
// ---------------------------------------------------------
virtual void Resort() = 0;
void SetOwner( wxDataViewModel *owner ) { m_owner = owner; }
- wxDataViewModel *GetOwner() { return m_owner; }
+ wxDataViewModel *GetOwner() const { return m_owner; }
private:
wxDataViewModel *m_owner;
wxDataViewItemArray m_hash;
unsigned int m_lastIndex;
bool m_ordered;
- bool m_useHash;
};
// ---------------------------------------------------------
#ifdef __WXMAC__
// better than nothing
-typedef wxDataViewVirtualListModel wxDataViewIndexListModel
+typedef wxDataViewIndexListModel wxDataViewVirtualListModel;
#else
class WXDLLIMPEXP_ADV wxDataViewVirtualListModel: public wxDataViewModel
wxDataViewRendererBase( const wxString &varianttype,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
int alignment = wxDVR_DEFAULT_ALIGNMENT );
+ ~wxDataViewRendererBase();
virtual bool Validate( wxVariant& WXUNUSED(value) )
{ return true; }
void SetOwner( wxDataViewColumn *owner ) { m_owner = owner; }
- wxDataViewColumn* GetOwner() { return m_owner; }
+ wxDataViewColumn* GetOwner() const { return m_owner; }
// renderer properties:
protected:
wxString m_variantType;
wxDataViewColumn *m_owner;
- wxControl *m_editorCtrl;
+ wxWeakRef<wxControl> m_editorCtrl;
wxDataViewItem m_item; // for m_editorCtrl
// internal utility:
#define wxDV_VERT_RULES 0x0008 // light vertical rules between columns
#define wxDV_ROW_LINES 0x0010 // alternating colour in rows
+#define wxDV_VARIABLE_LINE_HEIGHT 0x0020 // variable line height
class WXDLLIMPEXP_ADV wxDataViewCtrlBase: public wxControl
{
{ return m_expander_column; }
virtual wxDataViewColumn *GetSortingColumn() const = 0;
-
+
void SetIndent( int indent )
{ m_indent = indent ; DoSetIndent(); }
int GetIndent() const