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:
@@ -700,7 +700,9 @@ public:
|
|||||||
const wxDataViewColumn *column = NULL ) = 0;
|
const wxDataViewColumn *column = NULL ) = 0;
|
||||||
virtual void HitTest( const wxPoint & point, wxDataViewItem &item, wxDataViewColumn* &column ) const = 0;
|
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 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),
|
virtual void StartEditor( const wxDataViewItem & WXUNUSED(item),
|
||||||
unsigned int WXUNUSED(column) )
|
unsigned int WXUNUSED(column) )
|
||||||
{ }
|
{ }
|
||||||
|
@@ -172,6 +172,8 @@ public:
|
|||||||
virtual wxRect GetItemRect( const wxDataViewItem & item,
|
virtual wxRect GetItemRect( const wxDataViewItem & item,
|
||||||
const wxDataViewColumn *column = NULL ) const;
|
const wxDataViewColumn *column = NULL ) const;
|
||||||
|
|
||||||
|
virtual bool SetRowHeight( int rowHeight );
|
||||||
|
|
||||||
virtual void Expand( const wxDataViewItem & item );
|
virtual void Expand( const wxDataViewItem & item );
|
||||||
virtual void Collapse( const wxDataViewItem & item );
|
virtual void Collapse( const wxDataViewItem & item );
|
||||||
virtual bool IsExpanded( const wxDataViewItem & item ) const;
|
virtual bool IsExpanded( const wxDataViewItem & item ) const;
|
||||||
|
@@ -1113,6 +1113,22 @@ public:
|
|||||||
This method only has effect if multiple selections are allowed.
|
This method only has effect if multiple selections are allowed.
|
||||||
*/
|
*/
|
||||||
virtual void UnselectAll();
|
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 GetLineHeight( unsigned int row ) const; // m_lineHeight in fixed mode
|
||||||
int GetLineAt( unsigned int y ) const; // y / 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
|
// Some useful functions for row and item mapping
|
||||||
wxDataViewItem GetItemByRow( unsigned int row ) const;
|
wxDataViewItem GetItemByRow( unsigned int row ) const;
|
||||||
int GetRowByItem( const wxDataViewItem & item ) const;
|
int GetRowByItem( const wxDataViewItem & item ) const;
|
||||||
@@ -4124,6 +4126,16 @@ unsigned int wxDataViewCtrl::GetColumnCount() const
|
|||||||
return m_cols.GetCount();
|
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
|
wxDataViewColumn* wxDataViewCtrl::GetColumn( unsigned int idx ) const
|
||||||
{
|
{
|
||||||
return m_cols[idx];
|
return m_cols[idx];
|
||||||
|
Reference in New Issue
Block a user