]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/utils_osx.cpp
Forgot header with OSX prefix
[wxWidgets.git] / src / osx / utils_osx.cpp
index 5882a671448292c0be355a6abd1f371cdc3db6b4..e044f1a54d32672b508cb5f709baccd57a5d27e0 100644 (file)
@@ -87,6 +87,49 @@ void wxDisplaySize(int *width, int *height)
     if ( height )
         *height = (int)bounds.size.height;
 }
+
+#if wxUSE_GUI
+
+// ----------------------------------------------------------------------------
+// Launch document with default app
+// ----------------------------------------------------------------------------
+
+bool wxLaunchDefaultApplication(const wxString& document, int flags)
+{
+    wxUnusedVar(flags);
+
+    static const char * const OPEN_CMD = "/usr/bin/open";
+    if ( wxFileExists(OPEN_CMD) &&
+            wxExecute(wxString(OPEN_CMD) + " " + document) )
+        return true;
+
+    return false;
+}
+
+// ----------------------------------------------------------------------------
+// Launch default browser
+// ----------------------------------------------------------------------------
+
+bool wxDoLaunchDefaultBrowser(const wxString& url, int flags)
+{
+    wxUnusedVar(flags);
+    wxCFRef< CFURLRef > curl( CFURLCreateWithString( kCFAllocatorDefault,
+                              wxCFStringRef( url ), NULL ) );
+    OSStatus err = LSOpenCFURLRef( curl , NULL );
+
+    if (err == noErr)
+    {
+        return true;
+    }
+    else
+    {
+        wxLogDebug(wxT("Browser Launch error %d"), (int) err);
+        return false;
+    }
+}
+
+#endif // wxUSE_GUI
+
 #endif
 
 void wxDisplaySizeMM(int *width, int *height)
@@ -156,4 +199,24 @@ CGColorRef wxMacCreateCGColorFromHITheme( ThemeBrush brush )
     return color;
 }
 
+//---------------------------------------------------------------------------
+// Mac Specific string utility functions
+//---------------------------------------------------------------------------
+
+void wxMacStringToPascal( const wxString&from , unsigned char * to )
+{
+    wxCharBuffer buf = from.mb_str( wxConvLocal );
+    int len = strlen(buf);
+
+    if ( len > 255 )
+        len = 255;
+    to[0] = len;
+    memcpy( (char*) &to[1] , buf , len );
+}
+
+wxString wxMacMakeStringFromPascal( const unsigned char * from )
+{
+    return wxString( (char*) &from[1] , wxConvLocal , from[0] );
+}
+
 #endif // wxOSX_USE_COCOA_OR_CARBON