]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/utils.cpp
correct hhp2cached path
[wxWidgets.git] / src / mac / carbon / utils.cpp
index 042fc6832ca15088e38b023c3ea917dc1697d346..02f46c0bc5f69b170aa8b6e25a56d72e6556ee0f 100644 (file)
@@ -37,9 +37,8 @@
 
 // #include "MoreFilesX.h"
 
-#ifndef __DARWIN__
-    #include <Threads.h>
-    #include <Sound.h>
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+    #include <AudioToolbox/AudioServices.h>
 #endif
 
 #if wxUSE_GUI
@@ -87,8 +86,16 @@ extern bool WXDLLEXPORT wxIsDebuggerRunning()
 // Emit a beeeeeep
 void wxBell()
 {
-#ifndef __LP64__
-    SysBeep(30);
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+    if ( AudioServicesPlayAlertSound )
+        AudioServicesPlayAlertSound(kUserPreferredAlert);
+    else
+#endif
+#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
+        SysBeep(30);
+#else
+    {
+    }
 #endif
 }
 
@@ -126,6 +133,8 @@ void wxBeginBusyCursor(const wxCursor *cursor)
     {
         gMacStoredActiveCursor = gMacCurrentCursor;
         cursor->MacInstall();
+
+        wxSetCursor(*cursor);
     }
     //else: nothing to do, already set
 }
@@ -140,6 +149,8 @@ void wxEndBusyCursor()
     {
         gMacStoredActiveCursor.MacInstall();
         gMacStoredActiveCursor = wxNullCursor;
+
+        wxSetCursor(wxNullCursor);
     }
 }
 
@@ -299,14 +310,16 @@ wxWindow* wxFindWindowAtPoint(const wxPoint& pt)
 
 #if wxUSE_BASE
 
+#include <sys/utsname.h>
+
 wxString wxGetOsDescription()
 {
-#ifdef WXWIN_OS_DESCRIPTION
-    // use configure generated description if available
-    return wxString(wxT("MacOS (")) + wxT(WXWIN_OS_DESCRIPTION) + wxString(wxT(")"));
-#else
-    return wxT("MacOS"); //TODO:define further
-#endif
+    struct utsname name;
+    uname(&name);
+    return wxString::Format(_T("Mac OS X (%s %s %s)"),
+            wxString::FromAscii(name.sysname).c_str(),
+            wxString::FromAscii(name.release).c_str(),
+            wxString::FromAscii(name.machine).c_str());
 }
 
 #ifndef __DARWIN__
@@ -874,7 +887,7 @@ void wxMacControl::SetLabel( const wxString &title )
     else
         encoding = wxFont::GetDefaultEncoding();
 
-    SetControlTitleWithCFString( m_controlRef , wxMacCFStringHolder( title , encoding ) );
+    SetControlTitleWithCFString( m_controlRef , wxCFStringRef( title , encoding ) );
 }
 
 void wxMacControl::GetFeatures( UInt32 * features )
@@ -1340,7 +1353,7 @@ void wxMacDataItem::SetColumn( short col )
 void wxMacDataItem::SetLabel( const wxString& str)
 {
     m_label = str;
-    m_cfLabel.Assign( str , wxLocale::GetSystemEncoding());
+    m_cfLabel = wxCFStringRef( str , wxLocale::GetSystemEncoding());
 }
 
 const wxString& wxMacDataItem::GetLabel() const
@@ -1547,7 +1560,7 @@ unsigned int wxMacDataItemBrowserControl::GetLineFromItem(const wxMacDataItem* i
 {
     DataBrowserTableViewRowIndex row;
     OSStatus err = GetItemRow( (DataBrowserItemID) item , &row);
-    wxASSERT( err == noErr);
+    wxCHECK( err == noErr, (unsigned)-1 );
     return row;
 }
 
@@ -1555,7 +1568,7 @@ wxMacDataItem*  wxMacDataItemBrowserControl::GetItemFromLine(unsigned int n) con
 {
     DataBrowserItemID id;
     OSStatus err =  GetItemID( (DataBrowserTableViewRowIndex) n , &id);
-    wxASSERT( err == noErr);
+    wxCHECK( err == noErr, NULL );
     return (wxMacDataItem*) id;
 }
 
@@ -1601,8 +1614,7 @@ void wxMacDataItemBrowserControl::InsertColumn(int colId, DataBrowserPropertyTyp
         enc = m_font.GetEncoding();
     else
         enc = wxLocale::GetSystemEncoding();
-    wxMacCFStringHolder cfTitle;
-    cfTitle.Assign( title, enc );
+    wxCFStringRef cfTitle( title, enc );
     columnDesc.headerBtnDesc.titleString = cfTitle;
 
     columnDesc.headerBtnDesc.minimumWidth = 0;
@@ -1944,11 +1956,11 @@ OSStatus wxMacControl::SetTabEnabled( SInt16 tabNo , bool enable )
 
 CGColorSpaceRef wxMacGetGenericRGBColorSpace()
 {
-    static wxMacCFRefHolder<CGColorSpaceRef> genericRGBColorSpace;
+    static wxCFRef<CGColorSpaceRef> genericRGBColorSpace;
 
     if (genericRGBColorSpace == NULL)
     {
-        genericRGBColorSpace.Set( CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) );
+        genericRGBColorSpace.reset( CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) );
     }
 
     return genericRGBColorSpace;