]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/dialog.mm
fixed debug assert in VC 7.1 CRT due to calling isalnum() with 8bit chars
[wxWidgets.git] / src / cocoa / dialog.mm
index 0b4e1a8406468311e2a10a6be63d48f940e527bc..eede94cdfc59fcb683f7af5f720e99241c7af9a1 100644 (file)
@@ -18,6 +18,7 @@
 #endif //WX_PRECOMP
 
 #include "wx/cocoa/autorelease.h"
+#include "wx/cocoa/string.h"
 
 #import <AppKit/NSPanel.h>
 #import <AppKit/NSApplication.h>
@@ -74,24 +75,23 @@ bool wxDialog::Create(wxWindow *parent, wxWindowID winid,
     // Because we do not release on close, the following release matches the
     // above alloc and thus the retain count will be 1.
     [m_cocoaNSWindow release];
-    wxLogDebug("wxDialog m_cocoaNSWindow retainCount=%d",[m_cocoaNSWindow retainCount]);
+    wxLogTrace(wxTRACE_COCOA_RetainRelease,wxT("wxDialog m_cocoaNSWindow retainCount=%d"),[m_cocoaNSWindow retainCount]);
+    [m_cocoaNSWindow setTitle:wxNSStringWithWxString(title)];
+    [m_cocoaNSWindow setHidesOnDeactivate:NO];
 
     return true;
 }
 
 wxDialog::~wxDialog()
 {
-    wxLogDebug("Destroying");
-    // setReleasedWhenClosed: NO
-    [m_cocoaNSWindow close];
-    DisassociateNSPanel(m_cocoaNSWindow);
+    DisassociateNSPanel(GetNSPanel());
 }
 
-void wxDialog::Cocoa_close(void)
+void wxDialog::CocoaDelegate_windowWillClose(void)
 {
     m_closed = true;
     /* Actually, this isn't true anymore */
-    wxLogDebug("Woah: Dialogs are not generally closed");
+    wxLogTrace(wxTRACE_COCOA,wxT("Woah: Dialogs are not generally closed"));
 }
 
 void wxDialog::SetModal(bool flag)
@@ -121,7 +121,7 @@ bool wxDialog::Show(bool show)
         {
             wxAutoNSAutoreleasePool pool;
             wxModalDialogs.Append(this);
-            wxLogDebug("runModal");
+            wxLogTrace(wxTRACE_COCOA,wxT("runModal"));
             NSApplication *theNSApp = wxTheApp->GetNSApplication();
             // If the app hasn't started, flush the event queue
             // If we don't do this, the Dock doesn't get the message that
@@ -138,11 +138,11 @@ bool wxDialog::Show(bool show)
                 }
             }
             [wxTheApp->GetNSApplication() runModalForWindow:m_cocoaNSWindow];
-            wxLogDebug("runModal END");
+            wxLogTrace(wxTRACE_COCOA,wxT("runModal END"));
         }
         else
         {
-            wxLogDebug("abortModal");
+            wxLogTrace(wxTRACE_COCOA,wxT("abortModal"));
             [wxTheApp->GetNSApplication() abortModal];
             wxModalDialogs.DeleteObject(this);
         }
@@ -195,13 +195,13 @@ void wxDialog::OnCloseWindow(wxCloseEvent& event)
     
     if ( closing.Member(this) )
     {
-        wxLogDebug("WARNING: Attempting to recursively call Close for dialog");
+        wxLogDebug(wxT("WARNING: Attempting to recursively call Close for dialog"));
         return;
     }
     
     closing.Append(this);
     
-    wxLogDebug("Sending Cancel Event");
+    wxLogTrace(wxTRACE_COCOA,wxT("Sending Cancel Event"));
     wxCommandEvent cancelEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL);
     cancelEvent.SetEventObject( this );
     GetEventHandler()->ProcessEvent(cancelEvent); // This may close the dialog
@@ -227,7 +227,7 @@ void wxDialog::OnApply(wxCommandEvent& event)
 
 void wxDialog::OnCancel(wxCommandEvent& event)
 {
-    wxLogDebug("Cancelled!");
+    wxLogTrace(wxTRACE_COCOA,wxT("Cancelled!"));
     EndModal(wxID_CANCEL);
 }