Set the column resizing mode to "automatic" instead of "none" if the control
doesn't show the header. This allows the native control to properly resize the
only tree control column to always take up the entire window size (provided we
don't explicitly create it resizeable, so don't do this).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62602
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
AssociateModel( store );
store->DecRef();
AssociateModel( store );
store->DecRef();
- AppendIconTextColumn(wxString(),0,wxDATAVIEW_CELL_EDITABLE,-1);
+ AppendIconTextColumn
+ (
+ wxString(), // no label (header is not shown anyhow)
+ 0, // the only model column
+ wxDATAVIEW_CELL_EDITABLE,
+ -1, // default width
+ wxALIGN_NOT, // and alignment
+ 0 // not resizeable
+ );
// setting the size related parameters:
const int width = column->GetWidthVariable();
// setting the size related parameters:
const int width = column->GetWidthVariable();
if (column->IsResizeable())
{
if (column->IsResizeable())
{
- [nativeColumn setResizingMask:NSTableColumnUserResizingMask];
+ resizingMask = NSTableColumnUserResizingMask;
[nativeColumn setMinWidth:column->GetMinWidth()];
[nativeColumn setMaxWidth:column->GetMaxWidth()];
}
[nativeColumn setMinWidth:column->GetMinWidth()];
[nativeColumn setMaxWidth:column->GetMaxWidth()];
}
+ else // column is not resizeable [by user]
- [nativeColumn setResizingMask:NSTableColumnNoResizing];
- [nativeColumn setMinWidth:width];
- [nativeColumn setMaxWidth:width];
+ // if the control doesn't show a header, make the columns resize
+ // automatically, this is particularly important for the single column
+ // controls (such as wxDataViewTreeCtrl) as their unique column should
+ // always take up all the available splace
+ resizingMask = column->GetOwner()->HasFlag(wxDV_NO_HEADER)
+ ? NSTableColumnAutoresizingMask
+ : NSTableColumnNoResizing;
+ [nativeColumn setResizingMask:resizingMask];
[nativeColumn setWidth:width];
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
[nativeColumn setWidth:width];
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5