]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/window.mm
update button style to include BS_MULTILINE when a multiline label is set
[wxWidgets.git] / src / cocoa / window.mm
index 6b5c0105325d835d85a572e5019d36e4822e2f87..2eaaafc97baa0cb1623ee4c1b09574d0f91d3d07 100644 (file)
@@ -24,6 +24,7 @@
 #include "wx/cocoa/string.h"
 #include "wx/cocoa/trackingrectmanager.h"
 
+#import <Foundation/NSArray.h>
 #import <Foundation/NSRunLoop.h>
 #include "wx/cocoa/objc/NSView.h"
 #import <AppKit/NSEvent.h>
@@ -380,6 +381,9 @@ wxWindow::~wxWindow()
 
 void wxWindowCocoa::CocoaAddChild(wxWindowCocoa *child)
 {
+    // Pool here due to lack of one during wx init phase
+    wxAutoNSAutoreleasePool pool;
+
     NSView *childView = child->GetNSViewForSuperview();
 
     wxASSERT(childView);
@@ -666,6 +670,15 @@ bool wxWindowCocoa::Cocoa_resetCursorRects()
     return true;
 }
 
+bool wxWindowCocoa::SetCursor(const wxCursor &cursor)
+{
+    if(!wxWindowBase::SetCursor(cursor))
+        return false;
+    // Invalidate the cursor rects so the cursor will change
+    [[GetNSView() window] invalidateCursorRectsForView:GetNSView()];
+    return true;
+}
+
 bool wxWindowCocoa::Cocoa_viewDidMoveToWindow()
 {
     wxLogTrace(wxTRACE_COCOA,wxT("wxWindow=%p::viewDidMoveToWindow"),this);
@@ -1019,8 +1032,8 @@ void wxWindow::DoSetVirtualSize( int x, int y )
 
 bool wxWindow::SetFont(const wxFont& font)
 {
-    // TODO
-    return true;
+    // FIXME: We may need to handle wx font inheritance.
+    return wxWindowBase::SetFont(font);
 }
 
 #if 0 // these are used when debugging the algorithm.
@@ -1246,6 +1259,9 @@ void wxCocoaTrackingRectManager::StopSynthesizingEvents()
 
 void wxCocoaTrackingRectManager::BuildTrackingRect()
 {
+    // Pool here due to lack of one during wx init phase
+    wxAutoNSAutoreleasePool pool;
+
     wxASSERT_MSG(!m_isTrackingRectActive, wxT("Tracking rect was not cleared"));
     if([m_window->GetNSView() window] != nil)
     {