X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da0634c1401743089b1d8be20f9b6bdad0e8085b..4c7020e9f5df00af0c0fe51e669cfffd5a2c3b3e:/src/cocoa/statbox.mm diff --git a/src/cocoa/statbox.mm b/src/cocoa/statbox.mm index 33320f707c..0a8ecab190 100644 --- a/src/cocoa/statbox.mm +++ b/src/cocoa/statbox.mm @@ -12,6 +12,8 @@ #include "wx/app.h" #include "wx/statbox.h" +#include "wx/cocoa/autorelease.h" + #import #import @@ -27,6 +29,7 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID winid, long style, const wxValidator& validator, const wxString& name) { + wxAutoNSAutoreleasePool pool; if(!CreateControl(parent,winid,pos,size,style,validator,name)) return false; m_cocoaNSView = NULL; @@ -39,7 +42,20 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID winid, wxStaticBox::~wxStaticBox() { - CocoaRemoveFromParent(); - SetNSBox(NULL); + DisassociateNSBox(m_cocoaNSView); +} + +void wxStaticBox::GetBordersForSizer(int *borderTop, int *borderOther) const +{ + NSRect contentRect = [[GetNSBox() contentView] frame]; + NSRect thisRect = [m_cocoaNSView frame]; + *borderTop = (int)(thisRect.size.height - (contentRect.origin.y+contentRect.size.height)); + *borderOther = (int)(thisRect.size.width - (contentRect.origin.x+contentRect.size.width)); + int nextBorder = (int)contentRect.origin.y; + if(nextBorder > *borderOther) + *borderOther = nextBorder; + nextBorder = (int)contentRect.origin.x; + if(nextBorder > *borderOther) + *borderOther = nextBorder; }