wxDATAVIEW_COL_HIDDEN = 4
};
-enum wxDataViewColumnSizing
-{
- wxDATAVIEW_COL_WIDTH_FIXED,
- wxDATAVIEW_COL_WIDTH_AUTO,
- wxDATAVIEW_COL_WIDTH_GROW
-};
-
class WXDLLIMPEXP_ADV wxDataViewColumnBase: public wxObject
{
public:
wxDataViewColumnBase( const wxString &title, wxDataViewCell *cell, size_t model_column,
- int fixed_width = 80, wxDataViewColumnSizing sizing = wxDATAVIEW_COL_WIDTH_FIXED, int flags = 0 );
+ int width = 80, int flags = wxDATAVIEW_COL_RESIZABLE );
virtual ~wxDataViewColumnBase();
virtual void SetTitle( const wxString &title );
virtual int GetWidth() = 0;
- virtual void SetFixedWidth( int width ) = 0;
- virtual int GetFixedWidth() = 0;
-
private:
wxDataViewCtrl *m_ctrl;
wxDataViewCell *m_cell;
{
public:
wxDataViewColumn( const wxString &title, wxDataViewCell *cell, size_t model_column,
- int fixed_width = 80, wxDataViewColumnSizing sizing = wxDATAVIEW_COL_WIDTH_FIXED, int flags = 0 );
+ int width = 80, int flags = wxDATAVIEW_COL_RESIZABLE );
virtual ~wxDataViewColumn();
virtual void SetTitle( const wxString &title );
virtual int GetWidth();
- virtual void SetFixedWidth( int width );
- virtual int GetFixedWidth();
-
private:
int m_width;
- wxDataViewColumnSizing m_sizing;
int m_fixedWidth;
protected:
{
public:
wxDataViewColumn( const wxString &title, wxDataViewCell *cell, size_t model_column,
- int fixed_width = 80, wxDataViewColumnSizing sizing = wxDATAVIEW_COL_WIDTH_FIXED, int flags = 0 );
+ int width = 80, int flags = wxDATAVIEW_COL_RESIZABLE );
virtual ~wxDataViewColumn();
virtual void SetTitle( const wxString &title );
wxDataViewColumnBase::wxDataViewColumnBase(const wxString& title,
wxDataViewCell *cell,
size_t model_column,
- int WXUNUSED(fixed_width),
- wxDataViewColumnSizing WXUNUSED(sizing),
- int flags )
+ int WXUNUSED(width),
+ int flags )
{
m_cell = cell;
m_model_column = model_column;
IMPLEMENT_ABSTRACT_CLASS(wxDataViewColumn, wxDataViewColumnBase)
wxDataViewColumn::wxDataViewColumn( const wxString &title, wxDataViewCell *cell, size_t model_column,
- int fixed_width, wxDataViewColumnSizing sizing, int flags ) :
- wxDataViewColumnBase( title, cell, model_column, flags )
+ int width, int flags ) :
+ wxDataViewColumnBase( title, cell, model_column, width, flags )
{
- m_sizing = sizing;
-
- m_width = fixed_width;
- m_fixedWidth = fixed_width;
+ m_width = width;
+ if (m_width < 0)
+ m_width = 80;
}
wxDataViewColumn::~wxDataViewColumn()
return m_width;
}
-void wxDataViewColumn::SetFixedWidth( int width )
-{
- m_fixedWidth = width;
-
- if (m_sizing == wxDATAVIEW_COL_WIDTH_FIXED)
- {
- m_width = width;
- // Set dirty
- }
-}
-
-int wxDataViewColumn::GetFixedWidth()
-{
- return m_fixedWidth;
-}
-
//-----------------------------------------------------------------------------
// wxDataViewHeaderWindow
//-----------------------------------------------------------------------------
IMPLEMENT_CLASS(wxDataViewColumn, wxDataViewColumnBase)
wxDataViewColumn::wxDataViewColumn( const wxString &title, wxDataViewCell *cell, size_t model_column,
- int fixed_width, wxDataViewColumnSizing sizing, int flags ) :
- wxDataViewColumnBase( title, cell, model_column, flags )
+ int width, int flags ) :
+ wxDataViewColumnBase( title, cell, model_column, width, flags )
{
GtkCellRenderer *renderer = (GtkCellRenderer *) cell->GetGtkHandle();
gtk_tree_view_column_set_title( column, wxGTK_CONV(title) );
- if (sizing == wxDATAVIEW_COL_WIDTH_FIXED)
- gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_FIXED );
- else if (sizing == wxDATAVIEW_COL_WIDTH_GROW)
- gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_GROW_ONLY );
- else
- gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_AUTOSIZE );
+ if (flags & wxDATAVIEW_COL_RESIZABLE)
+ gtk_tree_view_column_set_resizable( column, true );
+ if (flags & wxDATAVIEW_COL_HIDDEN)
+ gtk_tree_view_column_set_visible( column, false );
+ if (flags & wxDATAVIEW_COL_SORTABLE)
+ gtk_tree_view_column_set_sort_indicator( column, true );
- if (fixed_width > 0)
- gtk_tree_view_column_set_fixed_width( column, fixed_width );
+ if (width > 0)
+ {
+ gtk_tree_view_column_set_fixed_width( column, width );
+ gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_FIXED );
+ }
- gtk_tree_view_column_pack_start( column, renderer, TRUE );
+ gtk_tree_view_column_pack_end( column, renderer, FALSE );
gtk_tree_view_column_set_cell_data_func( column, renderer,
wxGtkTreeCellDataFunc, (gpointer) cell, NULL );