]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/msgdlg.mm
implement wxListBox::EnsureVisible() in wxGTK; add a test for it to the widgets sample
[wxWidgets.git] / src / cocoa / msgdlg.mm
index cf026bbb4fdfcd441d8f83c1b44af14d4e70b789..fbe1e7bbcaf4cdd1d5482f3f5909a2431cc0c0ac 100644 (file)
@@ -3,6 +3,7 @@
 // Purpose:     wxMessageDialog for wxCocoa
 // Author:      Gareth Simpson
 // Created:     2007-10-09
+// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -46,14 +47,14 @@ wxCocoaMessageDialog::wxCocoaMessageDialog(wxWindow *parent,
                         const wxString& message,
                         const wxString& caption,
                         long style,
-                                               const wxPoint& pos) : wxMessageDialogBase(parent,message,caption,style)
+                        const wxPoint& pos) : wxMessageDialogBase(parent,message,caption,style)
 {
 
-       //m_caption = caption;
-       //m_message = message;
+    //m_caption = caption;
+    //m_message = message;
 
     //wxTopLevelWindows.Append((wxWindowBase*)this);
-       wxTopLevelWindows.Append(this);
+    wxTopLevelWindows.Append(this);
 
     wxASSERT(CreateBase(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,style,wxDefaultValidator,wxDialogNameStr));
 
@@ -63,7 +64,7 @@ wxCocoaMessageDialog::wxCocoaMessageDialog(wxWindow *parent,
 
     m_cocoaNSWindow = nil;
     m_cocoaNSView = nil;
-       
+
     m_yes = _("Yes");
     m_no  = _("No");
     m_ok  = _("OK");
@@ -77,10 +78,10 @@ wxCocoaMessageDialog::~wxCocoaMessageDialog()
 
 int wxCocoaMessageDialog::ShowModal()
 {
-       wxAutoNSAutoreleasePool thePool;
+    wxAutoNSAutoreleasePool thePool;
+
+    NSAlert *alert = [[[NSAlert alloc] init] autorelease];
 
-       NSAlert *alert = [[[NSAlert alloc] init] autorelease];
-       
     const long style = GetMessageDialogStyle();
 
     NSAlertStyle nsStyle = NSInformationalAlertStyle;
@@ -92,102 +93,102 @@ int wxCocoaMessageDialog::ShowModal()
         nsStyle = NSInformationalAlertStyle;
     else if (style & wxICON_QUESTION)
         nsStyle = NSInformationalAlertStyle;
-               
-       [alert setAlertStyle:nsStyle];
-       
-       
 
-       
+    [alert setAlertStyle:nsStyle];
+
+
+
+
     // work out what to display
     // if the extended text is empty then we use the caption as the title
     // and the message as the text (for backwards compatibility)
     // but if the extended message is not empty then we use the message as the title
     // and the extended message as the text because that makes more sense
-       if (m_extendedMessage.empty())
-       {
-               [alert setMessageText:wxNSStringWithWxString(m_caption)];
-               [alert setInformativeText:wxNSStringWithWxString(m_message)];
-       }
-       else
-       {
-               [alert setMessageText:wxNSStringWithWxString(m_message)];
-               [alert setInformativeText:wxNSStringWithWxString(m_extendedMessage)];   
-       }
-       
-       //      The wxReturn value corresponding to each button
-       int buttonId[4] = { 0, 0, 0, wxID_CANCEL /* time-out */ };
-       if (style & wxYES_NO)
-       {
-               if ( style & wxNO_DEFAULT )
-               {
-                       [alert addButtonWithTitle:wxNSStringWithWxString(m_no)];
-                       [alert addButtonWithTitle:wxNSStringWithWxString(m_yes)];
-                       buttonId[0] = wxID_NO;
-                       buttonId[1] = wxID_YES;
-               }
-               else
-               {
-                       [alert addButtonWithTitle:wxNSStringWithWxString(m_yes)];
-                       [alert addButtonWithTitle:wxNSStringWithWxString(m_no)];
-                       buttonId[0] = wxID_YES;
-                       buttonId[1] = wxID_NO;
-               }
-               if (style & wxCANCEL)
-               {
-                       [alert addButtonWithTitle:wxNSStringWithWxString(m_cancel)];
-                       buttonId[2] = wxID_CANCEL;
-               }
-       }
-       else
-       {
-               // the MSW implementation even shows an OK button if it is not specified, we'll do the same
-               buttonId[0] = wxID_OK;
-               // using null as default title does not work on earlier systems
-               [alert addButtonWithTitle:wxNSStringWithWxString(m_ok)];
-               if (style & wxCANCEL)
-               {
-                       [alert addButtonWithTitle:wxNSStringWithWxString(m_cancel)];
-                       buttonId[1] = wxID_CANCEL;
-               }
-       }
-       
-       int ret = [alert runModal];
-
-       
-       return buttonId[ret-NSAlertFirstButtonReturn];
+    if (m_extendedMessage.empty())
+    {
+        [alert setMessageText:wxNSStringWithWxString(m_caption)];
+        [alert setInformativeText:wxNSStringWithWxString(m_message)];
+    }
+    else
+    {
+        [alert setMessageText:wxNSStringWithWxString(m_message)];
+        [alert setInformativeText:wxNSStringWithWxString(m_extendedMessage)];
+    }
+
+    //    The wxReturn value corresponding to each button
+    int buttonId[4] = { 0, 0, 0, wxID_CANCEL /* time-out */ };
+    if (style & wxYES_NO)
+    {
+        if ( style & wxNO_DEFAULT )
+        {
+            [alert addButtonWithTitle:wxNSStringWithWxString(m_no)];
+            [alert addButtonWithTitle:wxNSStringWithWxString(m_yes)];
+            buttonId[0] = wxID_NO;
+            buttonId[1] = wxID_YES;
+        }
+        else
+        {
+            [alert addButtonWithTitle:wxNSStringWithWxString(m_yes)];
+            [alert addButtonWithTitle:wxNSStringWithWxString(m_no)];
+            buttonId[0] = wxID_YES;
+            buttonId[1] = wxID_NO;
+        }
+        if (style & wxCANCEL)
+        {
+            [alert addButtonWithTitle:wxNSStringWithWxString(m_cancel)];
+            buttonId[2] = wxID_CANCEL;
+        }
+    }
+    else
+    {
+        // the MSW implementation even shows an OK button if it is not specified, we'll do the same
+        buttonId[0] = wxID_OK;
+        // using null as default title does not work on earlier systems
+        [alert addButtonWithTitle:wxNSStringWithWxString(m_ok)];
+        if (style & wxCANCEL)
+        {
+            [alert addButtonWithTitle:wxNSStringWithWxString(m_cancel)];
+            buttonId[1] = wxID_CANCEL;
+        }
+    }
+
+    int ret = [alert runModal];
+
+
+    return buttonId[ret-NSAlertFirstButtonReturn];
 }
 
 bool wxCocoaMessageDialog::SetYesNoLabels(const wxString& yes,const wxString& no)
 {
-       m_yes = yes;
-       m_yes.Replace(_("&"),_(""));
-       m_no = no;
-       m_no.Replace(_("&"),_(""));
-       return true;
+    m_yes = yes;
+    m_yes.Replace(_("&"),_(""));
+    m_no = no;
+    m_no.Replace(_("&"),_(""));
+    return true;
 }
 bool wxCocoaMessageDialog::SetYesNoCancelLabels(const wxString& yes, const wxString& no, const wxString& cancel)
 {
-       m_yes = yes;
-       m_yes.Replace(_("&"),_(""));
-       m_no = no;
-       m_no.Replace(_("&"),_(""));
-       m_cancel = cancel;
-       m_cancel.Replace(_("&"),_(""));
-       return true;
+    m_yes = yes;
+    m_yes.Replace(_("&"),_(""));
+    m_no = no;
+    m_no.Replace(_("&"),_(""));
+    m_cancel = cancel;
+    m_cancel.Replace(_("&"),_(""));
+    return true;
 }
 bool wxCocoaMessageDialog::SetOKLabel(const wxString& ok)
 {
-       m_ok = ok;
-       m_ok.Replace(_("&"),_(""));
-       return true;
+    m_ok = ok;
+    m_ok.Replace(_("&"),_(""));
+    return true;
 }
 bool wxCocoaMessageDialog::SetOKCancelLabels(const wxString& ok, const wxString& cancel)
 {
-       m_ok = ok;
-       m_ok.Replace(_("&"),_(""));
-       m_cancel = cancel;
-       m_cancel.Replace(_("&"),_(""));
-       return true;
+    m_ok = ok;
+    m_ok.Replace(_("&"),_(""));
+    m_cancel = cancel;
+    m_cancel.Replace(_("&"),_(""));
+    return true;
 }
 
 #endif // wxUSE_DIRDLG