extract (and expand and clean up and document) the header window implementation used inside the generic wxDataViewCtrl in a separate wxHeaderCtrl class which could be reused in (generic) wxListCtrl and, most importantly, wxGrid later

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-12-03 21:53:10 +00:00
parent 878770b854
commit 56873923f3
51 changed files with 3043 additions and 477 deletions

View File

@@ -834,12 +834,15 @@ void wxDataViewEditorCtrlEvtHandler::OnKillFocus( wxFocusEvent &event )
IMPLEMENT_ABSTRACT_CLASS(wxDataViewColumnBase, wxObject)
wxDataViewColumnBase::wxDataViewColumnBase(const wxString& WXUNUSED(title),
wxDataViewColumnBase::wxDataViewColumnBase(const wxString& title,
wxDataViewRenderer *renderer,
unsigned int model_column,
int WXUNUSED(width),
wxAlignment WXUNUSED(align),
int WXUNUSED(flags))
int width,
wxAlignment align,
int flags)
#ifdef wxHAS_GENERIC_DATAVIEWCTRL
: wxHeaderColumn(title, width, align, flags)
#endif
{
m_renderer = renderer;
m_model_column = model_column;
@@ -853,43 +856,24 @@ wxDataViewColumnBase::wxDataViewColumnBase(const wxString& WXUNUSED(title),
wxDataViewColumnBase::wxDataViewColumnBase(const wxBitmap& bitmap,
wxDataViewRenderer *renderer,
unsigned int model_column,
int WXUNUSED(width),
wxAlignment WXUNUSED(align),
int WXUNUSED(flags) )
int width,
wxAlignment align,
int flags)
#ifdef wxHAS_GENERIC_DATAVIEWCTRL
: wxHeaderColumn(bitmap, width, align, flags)
#else
: m_bitmap(bitmap)
#endif
{
m_renderer = renderer;
m_model_column = model_column;
m_bitmap = bitmap;
m_owner = NULL;
m_renderer->SetOwner( (wxDataViewColumn*) this );
}
wxDataViewColumnBase::~wxDataViewColumnBase()
{
if (m_renderer)
delete m_renderer;
}
int wxDataViewColumnBase::GetFlags() const
{
int ret = 0;
if (IsSortable())
ret |= wxDATAVIEW_COL_SORTABLE;
if (IsResizeable())
ret |= wxDATAVIEW_COL_RESIZABLE;
if (IsHidden())
ret |= wxDATAVIEW_COL_HIDDEN;
return ret;
}
void wxDataViewColumnBase::SetFlags(int flags)
{
SetSortable((flags & wxDATAVIEW_COL_SORTABLE) != 0);
SetResizeable((flags & wxDATAVIEW_COL_RESIZABLE) != 0);
SetHidden((flags & wxDATAVIEW_COL_HIDDEN) != 0);
SetReorderable((flags & wxDATAVIEW_COL_REORDERABLE) != 0);
delete m_renderer;
}
// ---------------------------------------------------------