Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 8a7b596fb2
Fetching contributors…

Cannot retrieve contributors at this time

77 lines (64 sloc) 2.253 kb
/////////////////////////////////////////////////////////////////////////////
// Name: src/cocoa/statbox.mm
// Purpose: wxStaticBox
// Author: David Elliott
// Modified by:
// Created: 2003/02/15
// RCS-ID: $Id$
// Copyright: (c) 2003 David Elliott
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/statbox.h"
#ifndef WX_PRECOMP
#include "wx/app.h"
#endif //WX_PRECOMP
#include "wx/cocoa/autorelease.h"
#include "wx/cocoa/string.h"
#import <AppKit/NSBox.h>
#import <Foundation/NSString.h>
BEGIN_EVENT_TABLE(wxStaticBox, wxStaticBoxBase)
END_EVENT_TABLE()
WX_IMPLEMENT_COCOA_OWNER(wxStaticBox,NSBox,NSView,NSView)
bool wxStaticBox::Create(wxWindow *parent, wxWindowID winid,
const wxString& title, const wxPoint& pos, const wxSize& size,
long style, const wxString& name)
{
wxAutoNSAutoreleasePool pool;
if(!CreateControl(parent,winid,pos,size,style,wxDefaultValidator,name))
return false;
m_cocoaNSView = NULL;
SetNSBox([[NSBox alloc] initWithFrame:MakeDefaultNSRect(size)]);
CocoaSetLabelForObject(title, GetNSBox());
if(m_parent)
m_parent->CocoaAddChild(this);
SetInitialFrameRect(pos,size);
return true;
}
wxStaticBox::~wxStaticBox()
{
DisassociateNSBox(GetNSBox());
}
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;
}
void wxStaticBox::SetLabel(const wxString& label)
{
wxAutoNSAutoreleasePool pool;
CocoaSetLabelForObject(label, GetNSBox());
}
wxString wxStaticBox::GetLabel() const
{
wxAutoNSAutoreleasePool pool;
return wxStringWithNSString([GetNSBox() title]);
}
Jump to Line
Something went wrong with that request. Please try again.