Add wxDataViewCtrl::SetRowHeight() and provide its generic implementation.
Allow changing the (fixed) row height without using wxDV_VARIABLE_LINE_HEIGHT which may slow down the control display too much. The new method is not implemented for the native GTK and OS X implementations yet but should be simple to implement there. See #12749. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -701,6 +701,8 @@ public:
|
||||
virtual void HitTest( const wxPoint & point, wxDataViewItem &item, wxDataViewColumn* &column ) const = 0;
|
||||
virtual wxRect GetItemRect( const wxDataViewItem & item, const wxDataViewColumn *column = NULL ) const = 0;
|
||||
|
||||
virtual bool SetRowHeight( int WXUNUSED(rowHeight) ) { return false; }
|
||||
|
||||
virtual void StartEditor( const wxDataViewItem & WXUNUSED(item),
|
||||
unsigned int WXUNUSED(column) )
|
||||
{ }
|
||||
|
@@ -172,6 +172,8 @@ public:
|
||||
virtual wxRect GetItemRect( const wxDataViewItem & item,
|
||||
const wxDataViewColumn *column = NULL ) const;
|
||||
|
||||
virtual bool SetRowHeight( int rowHeight );
|
||||
|
||||
virtual void Expand( const wxDataViewItem & item );
|
||||
virtual void Collapse( const wxDataViewItem & item );
|
||||
virtual bool IsExpanded( const wxDataViewItem & item ) const;
|
||||
|
@@ -1113,6 +1113,22 @@ public:
|
||||
This method only has effect if multiple selections are allowed.
|
||||
*/
|
||||
virtual void UnselectAll();
|
||||
|
||||
/**
|
||||
Sets the row height.
|
||||
|
||||
This function can only be used when all rows have the same height, i.e.
|
||||
when wxDV_VARIABLE_LINE_HEIGHT flag is not used.
|
||||
|
||||
Currently this is implemented in the generic version only and nothing
|
||||
is done (and @false returned) when using the native GTK or OS X
|
||||
versions.
|
||||
|
||||
@return @true if the line height was changed or @false otherwise.
|
||||
|
||||
@since 2.9.2
|
||||
*/
|
||||
virtual bool SetRowHeight(int rowHeight);
|
||||
};
|
||||
|
||||
|
||||
|
@@ -532,6 +532,8 @@ public:
|
||||
int GetLineHeight( unsigned int row ) const; // m_lineHeight in fixed mode
|
||||
int GetLineAt( unsigned int y ) const; // y / m_lineHeight in fixed mode
|
||||
|
||||
void SetRowHeight( int lineHeight ) { m_lineHeight = lineHeight; }
|
||||
|
||||
// Some useful functions for row and item mapping
|
||||
wxDataViewItem GetItemByRow( unsigned int row ) const;
|
||||
int GetRowByItem( const wxDataViewItem & item ) const;
|
||||
@@ -4124,6 +4126,16 @@ unsigned int wxDataViewCtrl::GetColumnCount() const
|
||||
return m_cols.GetCount();
|
||||
}
|
||||
|
||||
bool wxDataViewCtrl::SetRowHeight( int lineHeight )
|
||||
{
|
||||
if ( !m_clientArea )
|
||||
return false;
|
||||
|
||||
m_clientArea->SetRowHeight(lineHeight);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
wxDataViewColumn* wxDataViewCtrl::GetColumn( unsigned int idx ) const
|
||||
{
|
||||
return m_cols[idx];
|
||||
|
Reference in New Issue
Block a user