#ifndef WX_PRECOMP
#include "wx/intl.h"
#include "wx/app.h"
+ #include "wx/log.h"
#if wxUSE_GUI
#include "wx/toplevel.h"
#include "wx/font.h"
#include "wx/osx/private.h"
-#ifdef wxOSX_USE_COCOA
+#if wxOSX_USE_COCOA
// to get the themeing APIs
#include <Carbon/Carbon.h>
#endif
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)
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