From: Robert Roebling Date: Thu, 5 Oct 2006 19:35:23 +0000 (+0000) Subject: Added sort order and alignement for column headers. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/47cef10f284ea56fa0e41ee2a5deff5c640f9110 Added sort order and alignement for column headers. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/dataview.h b/include/wx/dataview.h index c266aaf820..af2905c47b 100644 --- a/include/wx/dataview.h +++ b/include/wx/dataview.h @@ -267,6 +267,9 @@ public: virtual void SetBitmap( const wxBitmap &bitmap ); virtual const wxBitmap &GetBitmap(); + + virtual void SetAlignment( wxAlignment align ) = 0; + virtual void SetSortOrder( bool ascending ) = 0; wxDataViewRenderer* GetRenderer() { return m_renderer; } diff --git a/include/wx/generic/dataview.h b/include/wx/generic/dataview.h index 05d88f2539..5d6097d707 100644 --- a/include/wx/generic/dataview.h +++ b/include/wx/generic/dataview.h @@ -221,6 +221,10 @@ public: virtual ~wxDataViewColumn(); virtual void SetTitle( const wxString &title ); + virtual void SetBitmap( const wxBitmap &bitmap ); + + virtual void SetAlignment( wxAlignment align ); + virtual void SetSortOrder( bool ascending ); virtual int GetWidth(); diff --git a/include/wx/gtk/dataview.h b/include/wx/gtk/dataview.h index 2dac9cc212..dbb3d78e11 100644 --- a/include/wx/gtk/dataview.h +++ b/include/wx/gtk/dataview.h @@ -196,7 +196,10 @@ public: virtual void SetTitle( const wxString &title ); virtual void SetBitmap( const wxBitmap &bitmap ); - + + virtual void SetAlignment( wxAlignment align ); + virtual void SetSortOrder( bool ascending ); + virtual int GetWidth(); virtual void SetFixedWidth( int width ); diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index 20b847e4c7..d3564748c1 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -612,6 +612,16 @@ wxDataViewColumn::wxDataViewColumn( const wxBitmap &bitmap, wxDataViewRenderer * m_width = 30; } +void wxDataViewColumn::SetAlignment( wxAlignment WXUNUSED(align) ) +{ + // TODO +} + +void wxDataViewColumn::SetSortOrder( bool WXUNUSED(ascending) ) +{ + // TODO +} + wxDataViewColumn::~wxDataViewColumn() { } @@ -622,6 +632,12 @@ void wxDataViewColumn::SetTitle( const wxString &title ) } +void wxDataViewColumn::SetBitmap( const wxBitmap &bitmap ) +{ + wxDataViewColumnBase::SetBitmap( bitmap ); + +} + int wxDataViewColumn::GetWidth() { return m_width; diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp index fd1e62bdcb..752e3e69a8 100644 --- a/src/gtk/dataview.cpp +++ b/src/gtk/dataview.cpp @@ -1527,6 +1527,29 @@ void wxDataViewColumn::SetBitmap( const wxBitmap &bitmap ) } } +void wxDataViewColumn::SetAlignment( wxAlignment align ) +{ + GtkTreeViewColumn *column = (GtkTreeViewColumn *)m_column; + + gfloat xalign = 0.0; + if (align == wxALIGN_RIGHT) + xalign = 1.0; + if (align == wxALIGN_CENTER) + xalign = 0.5; + + gtk_tree_view_column_set_alignment( column, xalign ); +} + +void wxDataViewColumn::SetSortOrder( bool ascending ) +{ + GtkTreeViewColumn *column = (GtkTreeViewColumn *)m_column; + + if (ascending) + gtk_tree_view_column_set_sort_order( column, GTK_SORT_ASCENDING ); + else + gtk_tree_view_column_set_sort_order( column, GTK_SORT_DESCENDING ); +} + int wxDataViewColumn::GetWidth() { return gtk_tree_view_column_get_width( (GtkTreeViewColumn *)m_column );