#include "wx/cocoa/NSMenu.h"
#include "wx/cocoa/ObjcPose.h"
+#include "wx/cocoa/autorelease.h"
#import <Foundation/NSString.h>
#import <AppKit/NSMenu.h>
// ============================================================================
bool wxCocoaNSMenu::CocoaCreate(const wxString &title)
{
+ wxAutoNSAutoreleasePool pool;
wxLogDebug("CocoaCreate: "+title);
m_cocoaNSMenu = [[NSMenu alloc] initWithTitle: [NSString stringWithCString: title.c_str()]];
return true;
#include "wx/log.h"
#endif
+#include "wx/cocoa/autorelease.h"
+
#import <AppKit/NSButton.h>
#include "wx/cocoa/string.h"
const wxSize& size, long style,
const wxValidator& validator, const wxString& name)
{
+ wxAutoNSAutoreleasePool pool;
wxLogDebug("Creating control with id=%d",winid);
if(!CreateControl(parent,winid,pos,size,style,validator,name))
return false;
#include "wx/checkbox.h"
#include "wx/log.h"
+#include "wx/cocoa/autorelease.h"
+
#import <AppKit/NSButton.h>
#import <Foundation/NSString.h>
const wxValidator& validator,
const wxString& name)
{
+ wxAutoNSAutoreleasePool pool;
if(!CreateControl(parent,winid,pos,size,style,validator,name))
return false;
m_cocoaNSView = NULL;
#include "wx/gdicmn.h"
#include "wx/colour.h"
+#include "wx/cocoa/autorelease.h"
+
IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
wxColour::wxColour ()
void wxColour::Set (unsigned char r, unsigned char g, unsigned char b)
{
+ wxAutoNSAutoreleasePool pool;
[m_cocoaNSColor release];
m_cocoaNSColor = [[NSColor colorWithCalibratedRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1.0] retain];
m_red = r;
#include "wx/dc.h"
#include "wx/log.h"
+#include "wx/cocoa/autorelease.h"
+
#import <AppKit/NSBezierPath.h>
#import <AppKit/NSTextStorage.h>
#import <AppKit/NSLayoutManager.h>
void wxDC::DoGetTextExtent(const wxString& text, wxCoord *x, wxCoord *y, wxCoord *descent, wxCoord *externalLeading, wxFont *theFont) const
{
+ wxAutoNSAutoreleasePool pool;
// FIXME: Cache this so it can be used for DoDrawText
wxASSERT_MSG(sm_cocoaNSTextStorage && sm_cocoaNSLayoutManager && sm_cocoaNSTextContainer, "Text system has not been initialized. BAD PROGRAMMER!");
NSAttributedString *attributedString = [[NSAttributedString alloc]
#include "wx/settings.h"
#include "wx/log.h"
+#include "wx/cocoa/autorelease.h"
+
#import <AppKit/NSPanel.h>
#import <AppKit/NSApplication.h>
long style,
const wxString& name)
{
+ wxAutoNSAutoreleasePool pool;
wxTopLevelWindows.Append(this);
if(!CreateBase(parent,winid,pos,size,style,wxDefaultValidator,name))
{
if(show)
{
+ wxAutoNSAutoreleasePool pool;
wxModalDialogs.Append(this);
wxLogDebug("runModal");
[wxTheApp->GetNSApplication() runModalForWindow:m_cocoaNSWindow];
#include "wx/log.h"
#include "wx/statusbr.h"
+#include "wx/cocoa/autorelease.h"
+
#import <AppKit/NSWindow.h>
#import <AppKit/NSApplication.h>
bool wxFrame::Show(bool show)
{
+ wxAutoNSAutoreleasePool pool;
bool ret = wxFrameBase::Show(show);
if(show && GetMenuBar())
[wxTheApp->GetNSApplication() setMenu:GetMenuBar()->GetNSMenu() ];
#include "wx/log.h"
#endif // WX_PRECOMP
+#include "wx/cocoa/autorelease.h"
+
#import <Foundation/NSString.h>
#import <AppKit/NSMenu.h>
bool wxMenu::DoAppend(wxMenuItem *item)
{
+ wxAutoNSAutoreleasePool pool;
if(!wxMenuBase::DoAppend(item))
return false;
[m_cocoaNSMenu addItem: item->GetNSMenuItem()];
bool wxMenu::DoInsert(unsigned long pos, wxMenuItem *item)
{
+ wxAutoNSAutoreleasePool pool;
if(!wxMenuBase::DoInsert(pos,item))
return false;
[m_cocoaNSMenu insertItem:item->GetNSMenuItem() atIndex:pos];
wxMenuItem* wxMenu::DoRemove(wxMenuItem *item)
{
+ wxAutoNSAutoreleasePool pool;
wxMenuItem *retitem = wxMenuBase::DoRemove(item);
wxASSERT(retitem->GetNSMenuItem());
[m_cocoaNSMenu removeItem:retitem->GetNSMenuItem()];
bool wxMenuBar::Append( wxMenu *menu, const wxString &title )
{
+ wxAutoNSAutoreleasePool pool;
wxLogDebug("append menu=%p, title=%s",menu,title.c_str());
if(!wxMenuBarBase::Append(menu,title))
return false;
bool wxMenuBar::Insert(size_t pos, wxMenu *menu, const wxString& title)
{
+ wxAutoNSAutoreleasePool pool;
wxLogDebug("insert pos=%lu, menu=%p, title=%s",pos,menu,title.c_str());
if(!wxMenuBarBase::Insert(pos,menu,title))
return false;
#endif
#include "wx/cocoa/ObjcPose.h"
+#include "wx/cocoa/autorelease.h"
#import <AppKit/NSMenuItem.h>
#import <AppKit/NSMenu.h>
wxMenu *pSubMenu)
: wxMenuItemBase(pParentMenu, itemid, strName, strHelp, kind, pSubMenu)
{
+ wxAutoNSAutoreleasePool pool;
NSString *menuTitle = [[NSString alloc] initWithCString: wxStripMenuCodes(strName).c_str()];
m_cocoaNSMenuItem = [[NSMenuItem alloc] initWithTitle:menuTitle action:@selector(wxMenuItemAction:) keyEquivalent:@""];
sm_cocoaHash.insert(wxMenuItemCocoaHash::value_type(m_cocoaNSMenuItem,this));
#include "wx/app.h"
#include "wx/statbox.h"
+#include "wx/cocoa/autorelease.h"
+
#import <AppKit/NSBox.h>
#import <Foundation/NSString.h>
long style, const wxValidator& validator,
const wxString& name)
{
+ wxAutoNSAutoreleasePool pool;
if(!CreateControl(parent,winid,pos,size,style,validator,name))
return false;
m_cocoaNSView = NULL;
#include "wx/app.h"
#include "wx/stattext.h"
+#include "wx/cocoa/autorelease.h"
+
#import <Foundation/NSString.h>
#import <AppKit/NSTextField.h>
long style,
const wxString& name)
{
+ wxAutoNSAutoreleasePool pool;
if(!CreateControl(parent,winid,pos,size,style,wxDefaultValidator,name))
return false;
m_cocoaNSView = NULL;
#include "wx/cocoa/string.h"
+#include "wx/cocoa/autorelease.h"
+
#import <Foundation/NSString.h>
#import <AppKit/NSTextField.h>
const wxValidator& validator,
const wxString& name)
{
+ wxAutoNSAutoreleasePool pool;
if(!CreateControl(parent,winid,pos,size,style,validator,name))
return false;
m_cocoaNSView = NULL;
void wxTextCtrl::SetValue(wxString const& value)
{
+ wxAutoNSAutoreleasePool pool;
[GetNSTextField() setStringValue: wxNSStringWithWxString(value)];
}
wxString wxTextCtrl::GetValue() const
{
+ wxAutoNSAutoreleasePool pool;
return wxString([[GetNSTextField() stringValue] lossyCString]);
}
#include "wx/app.h"
#endif //WX_PRECOMP
+#include "wx/cocoa/autorelease.h"
+
#import <AppKit/NSView.h>
#import <AppKit/NSWindow.h>
// ----------------------------------------------------------------------------
long style,
const wxString& name)
{
+ wxAutoNSAutoreleasePool pool;
wxTopLevelWindows.Append(this);
if(!CreateBase(parent,winid,pos,size,style,wxDefaultValidator,name))
wxTopLevelWindowCocoa::~wxTopLevelWindowCocoa()
{
+ wxAutoNSAutoreleasePool pool;
// Hand ownership of the content view to wxWindow so it can destroy
// itself properly.
NSView *view = [m_cocoaNSView retain];
bool wxTopLevelWindowCocoa::Show(bool show)
{
+ wxAutoNSAutoreleasePool pool;
if(show)
[m_cocoaNSWindow makeKeyAndOrderFront:m_cocoaNSWindow];
else
#include "wx/window.h"
#include "wx/log.h"
+#include "wx/cocoa/autorelease.h"
+
#import <Appkit/NSView.h>
#import <AppKit/NSEvent.h>
// Destructor
wxWindow::~wxWindow()
{
+ wxAutoNSAutoreleasePool pool;
DestroyChildren();
if(m_parent)
bool wxWindow::Show(bool show)
{
+ wxAutoNSAutoreleasePool pool;
// If the window is marked as visible, then it shouldn't have a dummy view
// If the window is marked hidden, then it should have a dummy view
wxASSERT_MSG( (m_isShown && !m_dummyNSView) || (!m_isShown && m_dummyNSView),"wxWindow: m_isShown does not agree with m_dummyNSView");
// Raise the window to the top of the Z order
void wxWindow::Raise()
{
+ wxAutoNSAutoreleasePool pool;
NSView *nsview = m_dummyNSView?m_dummyNSView:m_cocoaNSView;
NSView *superview = [nsview superview];
[nsview retain];