wxFIXED_MINSIZE, SetInitSize and SetItemMinSize uses SetMinSize, and
fixed [ 934651 ] sizeritem's 'minsize' value has no effect in xrc resources
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26778
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
{
// create a sizer item for it
wxSizerItem* sitem = MakeSizerItem();
- SetSizerItemAttributes(sitem);
// now fetch the item to be managed
bool old_gbs = m_isGBS;
else
wxLogError(wxT("Error in resource."));
+ // finally, set other wxSizerItem attributes
+ SetSizerItemAttributes(sitem);
+
AddSizerItem(sitem);
return item;
}
sitem->SetBorder(GetDimension(wxT("border")));
wxSize sz = GetSize(wxT("minsize"));
if (!(sz == wxDefaultSize))
- sitem->SetInitSize(sz.x, sz.y);
+ sitem->SetMinSize(sz);
sz = GetSize(wxT("ratio"));
if (!(sz == wxDefaultSize))
sitem->SetRatio(sz);
wxSize GetMinSize() const
{ return m_minSize; }
+ void SetMinSize(const wxSize& size)
+ {
+ if (IsWindow() && !(m_flag & wxFIXED_MINSIZE))
+ m_window->SetSizeHints(size);
+ m_minSize = size;
+ }
+ void SetMinSize( int x, int y )
+ { SetMinSize(wxSize(x, y)); }
void SetInitSize( int x, int y )
- { m_minSize.x = x; m_minSize.y = y; }
+ { SetMinSize(wxSize(x, y)); }
void SetRatio( int width, int height )
// if either of dimensions is zero, ratio is assumed to be 1
if (item->GetWindow() == window)
{
- item->SetInitSize( width, height );
- item->GetWindow()->SetSizeHints(width, height);
+ item->SetMinSize( width, height );
return true;
}
node = node->GetNext();
else
{
// ... but the minimal size of spacers and windows in stored in them
- item->SetInitSize( width, height );
- if (item->GetWindow())
- item->GetWindow()->SetSizeHints(width, height);
+ item->SetMinSize( width, height );
}
return true;
{
// create a sizer item for it
wxSizerItem* sitem = MakeSizerItem();
- SetSizerItemAttributes(sitem);
// now fetch the item to be managed
bool old_gbs = m_isGBS;
else
wxLogError(wxT("Error in resource."));
+ // finally, set other wxSizerItem attributes
+ SetSizerItemAttributes(sitem);
+
AddSizerItem(sitem);
return item;
}
sitem->SetBorder(GetDimension(wxT("border")));
wxSize sz = GetSize(wxT("minsize"));
if (!(sz == wxDefaultSize))
- sitem->SetInitSize(sz.x, sz.y);
+ sitem->SetMinSize(sz);
sz = GetSize(wxT("ratio"));
if (!(sz == wxDefaultSize))
sitem->SetRatio(sz);