Adapt MSW's renderer's alignment to use column header's alignment by default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -114,7 +114,7 @@ public:
|
|||||||
virtual void Resort() = 0;
|
virtual void Resort() = 0;
|
||||||
|
|
||||||
void SetOwner( wxDataViewModel *owner ) { m_owner = owner; }
|
void SetOwner( wxDataViewModel *owner ) { m_owner = owner; }
|
||||||
wxDataViewModel *GetOwner() { return m_owner; }
|
wxDataViewModel *GetOwner() const { return m_owner; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDataViewModel *m_owner;
|
wxDataViewModel *m_owner;
|
||||||
@@ -418,7 +418,7 @@ public:
|
|||||||
{ return true; }
|
{ return true; }
|
||||||
|
|
||||||
void SetOwner( wxDataViewColumn *owner ) { m_owner = owner; }
|
void SetOwner( wxDataViewColumn *owner ) { m_owner = owner; }
|
||||||
wxDataViewColumn* GetOwner() { return m_owner; }
|
wxDataViewColumn* GetOwner() const { return m_owner; }
|
||||||
|
|
||||||
// renderer properties:
|
// renderer properties:
|
||||||
|
|
||||||
|
@@ -41,10 +41,8 @@ public:
|
|||||||
virtual bool Render( wxRect cell, wxDC *dc, int state ) = 0;
|
virtual bool Render( wxRect cell, wxDC *dc, int state ) = 0;
|
||||||
virtual wxSize GetSize() const = 0;
|
virtual wxSize GetSize() const = 0;
|
||||||
|
|
||||||
virtual void SetAlignment( int align )
|
virtual void SetAlignment( int align );
|
||||||
{ m_align=align; }
|
virtual int GetAlignment() const;
|
||||||
virtual int GetAlignment() const
|
|
||||||
{ return m_align; }
|
|
||||||
|
|
||||||
virtual void SetMode( wxDataViewCellMode mode )
|
virtual void SetMode( wxDataViewCellMode mode )
|
||||||
{ m_mode=mode; }
|
{ m_mode=mode; }
|
||||||
@@ -83,6 +81,9 @@ public:
|
|||||||
void SetAttr( const wxDataViewItemAttr &attr ) { m_attr = attr; }
|
void SetAttr( const wxDataViewItemAttr &attr ) { m_attr = attr; }
|
||||||
bool GetWantsAttr() { return m_wantsAttr; }
|
bool GetWantsAttr() { return m_wantsAttr; }
|
||||||
|
|
||||||
|
// implementation
|
||||||
|
int CalculateAlignment() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDC *m_dc;
|
wxDC *m_dc;
|
||||||
int m_align;
|
int m_align;
|
||||||
|
@@ -1026,7 +1026,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
Get owning wxDataViewModel.
|
Get owning wxDataViewModel.
|
||||||
*/
|
*/
|
||||||
wxDataViewModel* GetOwner();
|
wxDataViewModel* GetOwner() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Called by owning model.
|
Called by owning model.
|
||||||
@@ -1159,7 +1159,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
Returns pointer to the owning wxDataViewColumn.
|
Returns pointer to the owning wxDataViewColumn.
|
||||||
*/
|
*/
|
||||||
virtual wxDataViewColumn* GetOwner();
|
virtual wxDataViewColumn* GetOwner() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This methods retrieves the value from the renderer in order to
|
This methods retrieves the value from the renderer in order to
|
||||||
@@ -1574,7 +1574,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
Returns the owning wxDataViewCtrl.
|
Returns the owning wxDataViewCtrl.
|
||||||
*/
|
*/
|
||||||
wxDataViewCtrl* GetOwner();
|
wxDataViewCtrl* GetOwner() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the renderer of this wxDataViewColumn.
|
Returns the renderer of this wxDataViewColumn.
|
||||||
|
@@ -641,6 +641,29 @@ wxDC *wxDataViewRenderer::GetDC()
|
|||||||
return m_dc;
|
return m_dc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxDataViewRenderer::SetAlignment( int align )
|
||||||
|
{
|
||||||
|
m_align=align;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxDataViewRenderer::GetAlignment() const
|
||||||
|
{
|
||||||
|
return m_align;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxDataViewRenderer::CalculateAlignment() const
|
||||||
|
{
|
||||||
|
if (m_align == wxDVR_DEFAULT_ALIGNMENT)
|
||||||
|
{
|
||||||
|
if (GetOwner() == NULL)
|
||||||
|
return wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL;
|
||||||
|
|
||||||
|
return GetOwner()->GetAlignment() | wxALIGN_CENTRE_VERTICAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_align;
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------
|
// ---------------------------------------------------------
|
||||||
// wxDataViewCustomRenderer
|
// wxDataViewCustomRenderer
|
||||||
// ---------------------------------------------------------
|
// ---------------------------------------------------------
|
||||||
@@ -2214,7 +2237,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
|||||||
size.y = cell_rect.height;
|
size.y = cell_rect.height;
|
||||||
|
|
||||||
wxRect item_rect(cell_rect.GetTopLeft(), size);
|
wxRect item_rect(cell_rect.GetTopLeft(), size);
|
||||||
int align = cell->GetAlignment();
|
int align = cell->CalculateAlignment();
|
||||||
|
|
||||||
// horizontal alignment:
|
// horizontal alignment:
|
||||||
item_rect.x = cell_rect.x;
|
item_rect.x = cell_rect.x;
|
||||||
|
Reference in New Issue
Block a user