/////////////////////////////////////////////////////////////////////////////
-// Name: utils.cpp
+// Name: src/mac/classic/utils.cpp
// Purpose: Various utilities
// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-// Note: this is done in utilscmn.cpp now.
-// #pragma implementation "utils.h"
-#endif
+#include "wx/wxprec.h"
-#include "wx/setup.h"
#include "wx/utils.h"
-#include "wx/app.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/intl.h"
+ #include "wx/app.h"
+ #if wxUSE_GUI
+ #include "wx/font.h"
+ #endif
+#endif
+
#include "wx/apptrait.h"
#if wxUSE_GUI
#include "wx/mac/uma.h"
- #include "wx/font.h"
-#else
- #include "wx/intl.h"
#endif
#include <ctype.h>
#include <wtime.h>
#endif
-// ---------------------------------------------------------------------------
-// code used in both base and GUI compilation
-// ---------------------------------------------------------------------------
+#if wxUSE_BASE
// our OS version is the same in non GUI and GUI cases
-static int DoGetOSVersion(int *majorVsn, int *minorVsn)
+wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn)
{
- long theSystem ;
+ long theSystem;
+ Gestalt(gestaltSystemVersion, &theSystem);
- // are there x-platform conventions ?
+ if ( majorVsn != NULL )
+ *majorVsn = (theSystem >> 8);
- Gestalt(gestaltSystemVersion, &theSystem) ;
- if (minorVsn != NULL) {
- *minorVsn = (theSystem & 0xFF ) ;
- }
- if (majorVsn != NULL) {
- *majorVsn = (theSystem >> 8 ) ;
- }
-#ifdef __DARWIN__
- return wxMAC_DARWIN;
+ if ( minorVsn != NULL )
+ *minorVsn = (theSystem & 0xFF);
+
+
+#if defined( __DARWIN__ )
+ return wxOS_MAC_OSX_DARWIN;
#else
- return wxMAC;
+ return wxOS_MAC_OS;
#endif
}
-#if wxUSE_BASE
-
#ifndef __DARWIN__
// defined in unix/utilsunx.cpp for Mac OS X
else
buf[0] = 0 ;
- return TRUE;
+ return true;
}
// Get user ID e.g. jacs
else
buf[0] = 0 ;
- return TRUE;
+ return true;
}
-int wxKill(long pid, wxSignal sig , wxKillError *rc )
+int wxKill(long pid, wxSignal sig , wxKillError *rc, int flags)
{
// TODO
return 0;
return false ;
}
-// set the env var name to the given value, return TRUE on success
+// set the env var name to the given value, return true on success
WXDLLEXPORT bool wxSetEnv(const wxString& var, const wxChar *value)
{
// TODO : under classic there is no environement support, under X yes
bool wxShell(const wxString& command)
{
// TODO
- return FALSE;
+ return false;
}
// Shutdown or reboot the PC
bool wxShutdown(wxShutdownFlags wFlags)
{
// TODO
- return FALSE;
+ return false;
}
// Get free memory in bytes, or -1 if cannot determine amount (e.g. on UNIX)
-long wxGetFreeMemory()
+wxMemorySize wxGetFreeMemory()
{
- return FreeMem() ;
+ return (wxMemorySize)FreeMem() ;
}
void wxUsleep(unsigned long milliseconds)
SysBeep(30);
}
-wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
-{
- static wxToolkitInfo info;
- info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor);
- info.name = _T("wxBase");
- return info;
-}
-
#endif // wxUSE_BASE
#if wxUSE_GUI
-wxToolkitInfo& wxGUIAppTraits::GetToolkitInfo()
+wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
{
- static wxToolkitInfo info;
- info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor);
- info.shortName = _T("mac");
- info.name = _T("wxMac");
-#ifdef __WXUNIVERSAL__
- info.shortName << _T("univ");
- info.name << _T("/wxUniversal");
-#endif
- return info;
+ // We suppose that toolkit version is the same as OS version under Mac
+ wxGetOsVersion(verMaj, verMin);
+
+ return wxPORT_MAC;
}
// Reading and writing resources (eg WIN.INI, .Xdefaults)
bool wxWriteResource(const wxString& section, const wxString& entry, const wxString& value, const wxString& file)
{
// TODO
- return FALSE;
+ return false;
}
bool wxWriteResource(const wxString& section, const wxString& entry, float value, const wxString& file)
bool wxGetResource(const wxString& section, const wxString& entry, char **value, const wxString& file)
{
// TODO
- return FALSE;
+ return false;
}
bool wxGetResource(const wxString& section, const wxString& entry, float *value, const wxString& file)
{
*value = (float)strtod(s, NULL);
delete[] s;
- return TRUE;
+ return true;
}
- else return FALSE;
+ else return false;
}
bool wxGetResource(const wxString& section, const wxString& entry, long *value, const wxString& file)
{
*value = strtol(s, NULL, 10);
delete[] s;
- return TRUE;
+ return true;
}
- else return FALSE;
+ else return false;
}
bool wxGetResource(const wxString& section, const wxString& entry, int *value, const wxString& file)
{
*value = (int)strtol(s, NULL, 10);
delete[] s;
- return TRUE;
+ return true;
}
- else return FALSE;
+ else return false;
}
#endif // wxUSE_RESOURCES
wxCursor gMacStoredActiveCursor ;
// Set the cursor to the busy cursor for all windows
-void wxBeginBusyCursor(wxCursor *cursor)
+void wxBeginBusyCursor(const wxCursor *cursor)
{
if (gs_wxBusyCursorCount++ == 0)
{
}
}
-// TRUE if we're between the above two calls
+// true if we're between the above two calls
bool wxIsBusy()
{
return (gs_wxBusyCursorCount > 0);
#if wxUSE_BASE
-wxString wxMacFindFolder( short vol,
+wxString wxMacFindFolderNoSeparator( short vol,
OSType folderType,
Boolean createFolder)
{
FSSpec file ;
if ( FSMakeFSSpec( vRefNum , dirID , "\p" , &file ) == noErr )
{
- strDir = wxMacFSSpec2MacFilename( &file ) + wxFILE_SEP_PATH ;
+ strDir = wxMacFSSpec2MacFilename( &file );
}
}
return strDir ;
}
+wxString wxMacFindFolder( short vol,
+ OSType folderType,
+ Boolean createFolder)
+{
+ return wxMacFindFolderNoSeparator(vol, folderType, createFolder) + wxFILE_SEP_PATH;
+}
+
#endif // wxUSE_BASE
#if wxUSE_GUI
bool wxCheckForInterrupt(wxWindow *wnd)
{
// TODO
- return FALSE;
+ return false;
}
void wxGetMousePosition( int* x, int* y )
*y = pt.v ;
};
-// Return TRUE if we have a colour display
+// Return true if we have a colour display
bool wxColourDisplay()
{
- return TRUE;
+ return true;
}
// Returns depth of screen
return NULL;
}
-bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
+bool wxGetDiskSpace(const wxString& path, wxDiskspaceSize_t *pTotal, wxDiskspaceSize_t *pFree)
{
if ( path.empty() )
- return FALSE;
+ return false;
wxString p = path ;
if (p[0u] == ':' ) {
OSErr err = XGetVolumeInfoNoName( volumeName , 0 , &pb ) ;
if ( err == noErr ) {
if ( pTotal ) {
- (*pTotal) = wxLongLong( pb.ioVTotalBytes ) ;
+ (*pTotal) = wxDiskspaceSize_t( pb.ioVTotalBytes ) ;
}
if ( pFree ) {
- (*pFree) = wxLongLong( pb.ioVFreeBytes ) ;
+ (*pFree) = wxDiskspaceSize_t( pb.ioVFreeBytes ) ;
}
}
wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding)
-{
- TextEncodingBase enc = 0 ;
- if ( encoding == wxFONTENCODING_DEFAULT )
- {
+{
+ TextEncodingBase enc = 0 ;
+ if ( encoding == wxFONTENCODING_DEFAULT )
+ {
#if wxUSE_GUI
- encoding = wxFont::GetDefaultEncoding() ;
+ encoding = wxFont::GetDefaultEncoding() ;
#else
- encoding = wxLocale::GetSystemEncoding() ;
+ encoding = wxLocale::GetSystemEncoding() ;
#endif
- }
-
- switch( encoding)
- {
- case wxFONTENCODING_ISO8859_1 :
- enc = kTextEncodingISOLatin1 ;
- break ;
- case wxFONTENCODING_ISO8859_2 :
- enc = kTextEncodingISOLatin2;
- break ;
- case wxFONTENCODING_ISO8859_3 :
- enc = kTextEncodingISOLatin3 ;
- break ;
- case wxFONTENCODING_ISO8859_4 :
- enc = kTextEncodingISOLatin4;
- break ;
- case wxFONTENCODING_ISO8859_5 :
- enc = kTextEncodingISOLatinCyrillic;
- break ;
- case wxFONTENCODING_ISO8859_6 :
- enc = kTextEncodingISOLatinArabic;
- break ;
- case wxFONTENCODING_ISO8859_7 :
- enc = kTextEncodingISOLatinGreek;
- break ;
- case wxFONTENCODING_ISO8859_8 :
- enc = kTextEncodingISOLatinHebrew;
- break ;
- case wxFONTENCODING_ISO8859_9 :
- enc = kTextEncodingISOLatin5;
- break ;
- case wxFONTENCODING_ISO8859_10 :
- enc = kTextEncodingISOLatin6;
- break ;
- case wxFONTENCODING_ISO8859_13 :
- enc = kTextEncodingISOLatin7;
- break ;
- case wxFONTENCODING_ISO8859_14 :
- enc = kTextEncodingISOLatin8;
- break ;
- case wxFONTENCODING_ISO8859_15 :
- enc = kTextEncodingISOLatin9;
- break ;
-
- case wxFONTENCODING_KOI8 :
- enc = kTextEncodingKOI8_R;
- break ;
- case wxFONTENCODING_ALTERNATIVE : // MS-DOS CP866
- enc = kTextEncodingDOSRussian;
- break ;
+ }
+
+ switch( encoding)
+ {
+ case wxFONTENCODING_ISO8859_1 :
+ enc = kTextEncodingISOLatin1 ;
+ break ;
+ case wxFONTENCODING_ISO8859_2 :
+ enc = kTextEncodingISOLatin2;
+ break ;
+ case wxFONTENCODING_ISO8859_3 :
+ enc = kTextEncodingISOLatin3 ;
+ break ;
+ case wxFONTENCODING_ISO8859_4 :
+ enc = kTextEncodingISOLatin4;
+ break ;
+ case wxFONTENCODING_ISO8859_5 :
+ enc = kTextEncodingISOLatinCyrillic;
+ break ;
+ case wxFONTENCODING_ISO8859_6 :
+ enc = kTextEncodingISOLatinArabic;
+ break ;
+ case wxFONTENCODING_ISO8859_7 :
+ enc = kTextEncodingISOLatinGreek;
+ break ;
+ case wxFONTENCODING_ISO8859_8 :
+ enc = kTextEncodingISOLatinHebrew;
+ break ;
+ case wxFONTENCODING_ISO8859_9 :
+ enc = kTextEncodingISOLatin5;
+ break ;
+ case wxFONTENCODING_ISO8859_10 :
+ enc = kTextEncodingISOLatin6;
+ break ;
+ case wxFONTENCODING_ISO8859_13 :
+ enc = kTextEncodingISOLatin7;
+ break ;
+ case wxFONTENCODING_ISO8859_14 :
+ enc = kTextEncodingISOLatin8;
+ break ;
+ case wxFONTENCODING_ISO8859_15 :
+ enc = kTextEncodingISOLatin9;
+ break ;
+
+ case wxFONTENCODING_KOI8 :
+ enc = kTextEncodingKOI8_R;
+ break ;
+ case wxFONTENCODING_ALTERNATIVE : // MS-DOS CP866
+ enc = kTextEncodingDOSRussian;
+ break ;
/*
- case wxFONTENCODING_BULGARIAN :
- enc = ;
- break ;
-*/
- case wxFONTENCODING_CP437 :
- enc =kTextEncodingDOSLatinUS ;
- break ;
- case wxFONTENCODING_CP850 :
- enc = kTextEncodingDOSLatin1;
- break ;
- case wxFONTENCODING_CP852 :
- enc = kTextEncodingDOSLatin2;
- break ;
- case wxFONTENCODING_CP855 :
- enc = kTextEncodingDOSCyrillic;
- break ;
- case wxFONTENCODING_CP866 :
- enc =kTextEncodingDOSRussian ;
- break ;
- case wxFONTENCODING_CP874 :
- enc = kTextEncodingDOSThai;
- break ;
- case wxFONTENCODING_CP932 :
- enc = kTextEncodingDOSJapanese;
- break ;
- case wxFONTENCODING_CP936 :
- enc =kTextEncodingDOSChineseSimplif ;
- break ;
- case wxFONTENCODING_CP949 :
- enc = kTextEncodingDOSKorean;
- break ;
- case wxFONTENCODING_CP950 :
- enc = kTextEncodingDOSChineseTrad;
- break ;
-
- case wxFONTENCODING_CP1250 :
- enc = kTextEncodingWindowsLatin2;
- break ;
- case wxFONTENCODING_CP1251 :
- enc =kTextEncodingWindowsCyrillic ;
- break ;
- case wxFONTENCODING_CP1252 :
- enc =kTextEncodingWindowsLatin1 ;
- break ;
- case wxFONTENCODING_CP1253 :
- enc = kTextEncodingWindowsGreek;
- break ;
- case wxFONTENCODING_CP1254 :
- enc = kTextEncodingWindowsLatin5;
- break ;
- case wxFONTENCODING_CP1255 :
- enc =kTextEncodingWindowsHebrew ;
- break ;
- case wxFONTENCODING_CP1256 :
- enc =kTextEncodingWindowsArabic ;
- break ;
- case wxFONTENCODING_CP1257 :
- enc = kTextEncodingWindowsBalticRim;
- break ;
-
- case wxFONTENCODING_UTF7 :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF7Format) ;
- break ;
- case wxFONTENCODING_UTF8 :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF8Format) ;
- break ;
- case wxFONTENCODING_EUC_JP :
- enc = kTextEncodingEUC_JP;
- break ;
- case wxFONTENCODING_UTF16BE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
- break ;
- case wxFONTENCODING_UTF16LE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
- break ;
- case wxFONTENCODING_UTF32BE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
- break ;
- case wxFONTENCODING_UTF32LE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
- break ;
+ case wxFONTENCODING_BULGARIAN :
+ enc = ;
+ break ;
+*/
+ case wxFONTENCODING_CP437 :
+ enc =kTextEncodingDOSLatinUS ;
+ break ;
+ case wxFONTENCODING_CP850 :
+ enc = kTextEncodingDOSLatin1;
+ break ;
+ case wxFONTENCODING_CP852 :
+ enc = kTextEncodingDOSLatin2;
+ break ;
+ case wxFONTENCODING_CP855 :
+ enc = kTextEncodingDOSCyrillic;
+ break ;
+ case wxFONTENCODING_CP866 :
+ enc =kTextEncodingDOSRussian ;
+ break ;
+ case wxFONTENCODING_CP874 :
+ enc = kTextEncodingDOSThai;
+ break ;
+ case wxFONTENCODING_CP932 :
+ enc = kTextEncodingDOSJapanese;
+ break ;
+ case wxFONTENCODING_CP936 :
+ enc =kTextEncodingDOSChineseSimplif ;
+ break ;
+ case wxFONTENCODING_CP949 :
+ enc = kTextEncodingDOSKorean;
+ break ;
+ case wxFONTENCODING_CP950 :
+ enc = kTextEncodingDOSChineseTrad;
+ break ;
+
+ case wxFONTENCODING_CP1250 :
+ enc = kTextEncodingWindowsLatin2;
+ break ;
+ case wxFONTENCODING_CP1251 :
+ enc =kTextEncodingWindowsCyrillic ;
+ break ;
+ case wxFONTENCODING_CP1252 :
+ enc =kTextEncodingWindowsLatin1 ;
+ break ;
+ case wxFONTENCODING_CP1253 :
+ enc = kTextEncodingWindowsGreek;
+ break ;
+ case wxFONTENCODING_CP1254 :
+ enc = kTextEncodingWindowsLatin5;
+ break ;
+ case wxFONTENCODING_CP1255 :
+ enc =kTextEncodingWindowsHebrew ;
+ break ;
+ case wxFONTENCODING_CP1256 :
+ enc =kTextEncodingWindowsArabic ;
+ break ;
+ case wxFONTENCODING_CP1257 :
+ enc = kTextEncodingWindowsBalticRim;
+ break ;
+
+ case wxFONTENCODING_UTF7 :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF7Format) ;
+ break ;
+ case wxFONTENCODING_UTF8 :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF8Format) ;
+ break ;
+ case wxFONTENCODING_EUC_JP :
+ enc = kTextEncodingEUC_JP;
+ break ;
+ case wxFONTENCODING_UTF16BE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
+ break ;
+ case wxFONTENCODING_UTF16LE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
+ break ;
+ case wxFONTENCODING_UTF32BE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
+ break ;
+ case wxFONTENCODING_UTF32LE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
+ break ;
case wxFONTENCODING_MACROMAN :
enc = kTextEncodingMacRoman ;
break ;
case wxFONTENCODING_MACKEYBOARD :
enc = kTextEncodingMacKeyboardGlyphs ;
- break ;
- default :
- // to make gcc happy
- break ;
- } ;
- return enc ;
+ break ;
+ default :
+ // to make gcc happy
+ break ;
+ } ;
+ return enc ;
}
wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding)
-{
- wxFontEncoding enc = wxFONTENCODING_DEFAULT ;
-
- switch( encoding)
- {
- case kTextEncodingISOLatin1 :
- enc = wxFONTENCODING_ISO8859_1 ;
- break ;
- case kTextEncodingISOLatin2 :
- enc = wxFONTENCODING_ISO8859_2;
- break ;
- case kTextEncodingISOLatin3 :
- enc = wxFONTENCODING_ISO8859_3 ;
- break ;
- case kTextEncodingISOLatin4 :
- enc = wxFONTENCODING_ISO8859_4;
- break ;
- case kTextEncodingISOLatinCyrillic :
- enc = wxFONTENCODING_ISO8859_5;
- break ;
- case kTextEncodingISOLatinArabic :
- enc = wxFONTENCODING_ISO8859_6;
- break ;
- case kTextEncodingISOLatinGreek :
- enc = wxFONTENCODING_ISO8859_7;
- break ;
- case kTextEncodingISOLatinHebrew :
- enc = wxFONTENCODING_ISO8859_8;
- break ;
- case kTextEncodingISOLatin5 :
- enc = wxFONTENCODING_ISO8859_9;
- break ;
- case kTextEncodingISOLatin6 :
- enc = wxFONTENCODING_ISO8859_10;
- break ;
- case kTextEncodingISOLatin7 :
- enc = wxFONTENCODING_ISO8859_13;
- break ;
- case kTextEncodingISOLatin8 :
- enc = wxFONTENCODING_ISO8859_14;
- break ;
- case kTextEncodingISOLatin9 :
- enc =wxFONTENCODING_ISO8859_15 ;
- break ;
-
- case kTextEncodingKOI8_R :
- enc = wxFONTENCODING_KOI8;
- break ;
+{
+ wxFontEncoding enc = wxFONTENCODING_DEFAULT ;
+
+ switch( encoding)
+ {
+ case kTextEncodingISOLatin1 :
+ enc = wxFONTENCODING_ISO8859_1 ;
+ break ;
+ case kTextEncodingISOLatin2 :
+ enc = wxFONTENCODING_ISO8859_2;
+ break ;
+ case kTextEncodingISOLatin3 :
+ enc = wxFONTENCODING_ISO8859_3 ;
+ break ;
+ case kTextEncodingISOLatin4 :
+ enc = wxFONTENCODING_ISO8859_4;
+ break ;
+ case kTextEncodingISOLatinCyrillic :
+ enc = wxFONTENCODING_ISO8859_5;
+ break ;
+ case kTextEncodingISOLatinArabic :
+ enc = wxFONTENCODING_ISO8859_6;
+ break ;
+ case kTextEncodingISOLatinGreek :
+ enc = wxFONTENCODING_ISO8859_7;
+ break ;
+ case kTextEncodingISOLatinHebrew :
+ enc = wxFONTENCODING_ISO8859_8;
+ break ;
+ case kTextEncodingISOLatin5 :
+ enc = wxFONTENCODING_ISO8859_9;
+ break ;
+ case kTextEncodingISOLatin6 :
+ enc = wxFONTENCODING_ISO8859_10;
+ break ;
+ case kTextEncodingISOLatin7 :
+ enc = wxFONTENCODING_ISO8859_13;
+ break ;
+ case kTextEncodingISOLatin8 :
+ enc = wxFONTENCODING_ISO8859_14;
+ break ;
+ case kTextEncodingISOLatin9 :
+ enc =wxFONTENCODING_ISO8859_15 ;
+ break ;
+
+ case kTextEncodingKOI8_R :
+ enc = wxFONTENCODING_KOI8;
+ break ;
/*
- case :
- enc = wxFONTENCODING_BULGARIAN;
- break ;
-*/
- case kTextEncodingDOSLatinUS :
- enc = wxFONTENCODING_CP437;
- break ;
- case kTextEncodingDOSLatin1 :
- enc = wxFONTENCODING_CP850;
- break ;
- case kTextEncodingDOSLatin2 :
- enc =wxFONTENCODING_CP852 ;
- break ;
- case kTextEncodingDOSCyrillic :
- enc = wxFONTENCODING_CP855;
- break ;
- case kTextEncodingDOSRussian :
- enc = wxFONTENCODING_CP866;
- break ;
- case kTextEncodingDOSThai :
- enc =wxFONTENCODING_CP874 ;
- break ;
- case kTextEncodingDOSJapanese :
- enc = wxFONTENCODING_CP932;
- break ;
- case kTextEncodingDOSChineseSimplif :
- enc = wxFONTENCODING_CP936;
- break ;
- case kTextEncodingDOSKorean :
- enc = wxFONTENCODING_CP949;
- break ;
- case kTextEncodingDOSChineseTrad :
- enc = wxFONTENCODING_CP950;
- break ;
-
- case kTextEncodingWindowsLatin2 :
- enc = wxFONTENCODING_CP1250;
- break ;
- case kTextEncodingWindowsCyrillic :
- enc = wxFONTENCODING_CP1251;
- break ;
- case kTextEncodingWindowsLatin1 :
- enc = wxFONTENCODING_CP1252;
- break ;
- case kTextEncodingWindowsGreek :
- enc = wxFONTENCODING_CP1253;
- break ;
- case kTextEncodingWindowsLatin5 :
- enc = wxFONTENCODING_CP1254;
- break ;
- case kTextEncodingWindowsHebrew :
- enc = wxFONTENCODING_CP1255;
- break ;
- case kTextEncodingWindowsArabic :
- enc = wxFONTENCODING_CP1256;
- break ;
- case kTextEncodingWindowsBalticRim :
- enc =wxFONTENCODING_CP1257 ;
- break ;
- case kTextEncodingEUC_JP :
- enc = wxFONTENCODING_EUC_JP;
- break ;
- /*
- case wxFONTENCODING_UTF7 :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF7Format) ;
- break ;
- case wxFONTENCODING_UTF8 :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF8Format) ;
- break ;
- case wxFONTENCODING_UTF16BE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
- break ;
- case wxFONTENCODING_UTF16LE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
- break ;
- case wxFONTENCODING_UTF32BE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
- break ;
- case wxFONTENCODING_UTF32LE :
- enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
- break ;
+ case :
+ enc = wxFONTENCODING_BULGARIAN;
+ break ;
+*/
+ case kTextEncodingDOSLatinUS :
+ enc = wxFONTENCODING_CP437;
+ break ;
+ case kTextEncodingDOSLatin1 :
+ enc = wxFONTENCODING_CP850;
+ break ;
+ case kTextEncodingDOSLatin2 :
+ enc =wxFONTENCODING_CP852 ;
+ break ;
+ case kTextEncodingDOSCyrillic :
+ enc = wxFONTENCODING_CP855;
+ break ;
+ case kTextEncodingDOSRussian :
+ enc = wxFONTENCODING_CP866;
+ break ;
+ case kTextEncodingDOSThai :
+ enc =wxFONTENCODING_CP874 ;
+ break ;
+ case kTextEncodingDOSJapanese :
+ enc = wxFONTENCODING_CP932;
+ break ;
+ case kTextEncodingDOSChineseSimplif :
+ enc = wxFONTENCODING_CP936;
+ break ;
+ case kTextEncodingDOSKorean :
+ enc = wxFONTENCODING_CP949;
+ break ;
+ case kTextEncodingDOSChineseTrad :
+ enc = wxFONTENCODING_CP950;
+ break ;
+
+ case kTextEncodingWindowsLatin2 :
+ enc = wxFONTENCODING_CP1250;
+ break ;
+ case kTextEncodingWindowsCyrillic :
+ enc = wxFONTENCODING_CP1251;
+ break ;
+ case kTextEncodingWindowsLatin1 :
+ enc = wxFONTENCODING_CP1252;
+ break ;
+ case kTextEncodingWindowsGreek :
+ enc = wxFONTENCODING_CP1253;
+ break ;
+ case kTextEncodingWindowsLatin5 :
+ enc = wxFONTENCODING_CP1254;
+ break ;
+ case kTextEncodingWindowsHebrew :
+ enc = wxFONTENCODING_CP1255;
+ break ;
+ case kTextEncodingWindowsArabic :
+ enc = wxFONTENCODING_CP1256;
+ break ;
+ case kTextEncodingWindowsBalticRim :
+ enc =wxFONTENCODING_CP1257 ;
+ break ;
+ case kTextEncodingEUC_JP :
+ enc = wxFONTENCODING_EUC_JP;
+ break ;
+ /*
+ case wxFONTENCODING_UTF7 :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF7Format) ;
+ break ;
+ case wxFONTENCODING_UTF8 :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF8Format) ;
+ break ;
+ case wxFONTENCODING_UTF16BE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
+ break ;
+ case wxFONTENCODING_UTF16LE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;
+ break ;
+ case wxFONTENCODING_UTF32BE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
+ break ;
+ case wxFONTENCODING_UTF32LE :
+ enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;
+ break ;
*/
case kTextEncodingMacRoman :
enc = wxFONTENCODING_MACROMAN ;
break ;
case kTextEncodingMacKeyboardGlyphs :
enc = wxFONTENCODING_MACKEYBOARD ;
- break ;
- } ;
- return enc ;
+ break ;
+ } ;
+ return enc ;
}
#endif // wxUSE_BASE
// converts this string into a carbon foundation string with optional pc 2 mac encoding
void wxMacCFStringHolder::Assign( const wxString &st , wxFontEncoding encoding )
{
- Release() ;
+ Release() ;
- wxString str = st ;
+ wxString str = st ;
wxMacConvertNewlines13To10( &str ) ;
#if wxUSE_UNICODE
#if SIZEOF_WCHAR_T == 2
- m_cfs = CFStringCreateWithCharacters( kCFAllocatorDefault,
- (UniChar*)str.wc_str() , str.Len() );
+ m_cfs = CFStringCreateWithCharacters( kCFAllocatorDefault,
+ (UniChar*)str.wc_str() , str.Len() );
#else
- wxMBConvUTF16BE converter ;
+ wxMBConvUTF16BE converter ;
size_t unicharlen = converter.WC2MB( NULL , str.wc_str() , 0 ) ;
UniChar *unibuf = new UniChar[ unicharlen / sizeof(UniChar) + 1 ] ;
converter.WC2MB( (char*)unibuf , str.wc_str() , unicharlen ) ;
Size cflen = CFStringGetLength( m_cfs ) ;
size_t noChars ;
wxChar* buf = NULL ;
-
+
#if wxUSE_UNICODE
#if SIZEOF_WCHAR_T == 2
- buf = new wxChar[ cflen + 1 ] ;
+ buf = new wxChar[ cflen + 1 ] ;
CFStringGetCharacters( m_cfs , CFRangeMake( 0 , cflen ) , (UniChar*) buf ) ;
noChars = cflen ;
#else
UniChar* unibuf = new UniChar[ cflen + 1 ] ;
CFStringGetCharacters( m_cfs , CFRangeMake( 0 , cflen ) , (UniChar*) unibuf ) ;
unibuf[cflen] = 0 ;
- wxMBConvUTF16BE converter ;
- noChars = converter.MB2WC( NULL , (const char*)unibuf , 0 ) ;
+ wxMBConvUTF16BE converter ;
+ noChars = converter.MB2WC( NULL , (const char*)unibuf , 0 ) ;
buf = new wxChar[ noChars + 1 ] ;
converter.MB2WC( buf , (const char*)unibuf , noChars ) ;
delete[] unibuf ;
CFIndex cStrLen ;
CFStringGetBytes( m_cfs , CFRangeMake(0, cflen) , wxMacGetSystemEncFromFontEnc( encoding ) ,
'?' , false , NULL , 0 , &cStrLen ) ;
- buf = new wxChar[ cStrLen + 1 ] ;
+ buf = new wxChar[ cStrLen + 1 ] ;
CFStringGetBytes( m_cfs , CFRangeMake(0, cflen) , wxMacGetSystemEncFromFontEnc( encoding ) ,
'?' , false , (unsigned char*) buf , cStrLen , &cStrLen) ;
noChars = cStrLen ;
#endif //TARGET_CARBON
-void wxMacConvertNewlines13To10( char * data )
-{
- char * buf = data ;
+void wxMacConvertNewlines13To10( char * data )
+{
+ char * buf = data ;
while( (buf=strchr(buf,0x0d)) != NULL )
{
*buf = 0x0a ;
}
void wxMacConvertNewlines10To13( char * data )
-{
- char * buf = data ;
+{
+ char * buf = data ;
while( (buf=strchr(buf,0x0a)) != NULL )
{
*buf = 0x0d ;
}
}
-void wxMacConvertNewlines13To10( wxString * data )
-{
- size_t len = data->Length() ;
+void wxMacConvertNewlines13To10( wxString * data )
+{
+ size_t len = data->length() ;
if ( len == 0 || wxStrchr(data->c_str(),0x0d)==NULL)
return ;
-
+
wxString temp(*data) ;
wxStringBuffer buf(*data,len ) ;
- memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;
+ memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;
- wxMacConvertNewlines13To10( buf ) ;
+ wxMacConvertNewlines13To10( buf ) ;
}
void wxMacConvertNewlines10To13( wxString * data )
-{
- size_t len = data->Length() ;
+{
+ size_t len = data->length() ;
- if ( data->Length() == 0 || wxStrchr(data->c_str(),0x0a)==NULL)
+ if ( data->empty() || wxStrchr(data->c_str(),0x0a)==NULL)
return ;
wxString temp(*data) ;
wxStringBuffer buf(*data,len ) ;
- memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;
- wxMacConvertNewlines10To13( buf ) ;
+ memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;
+ wxMacConvertNewlines10To13( buf ) ;
}
#if wxUSE_UNICODE
-void wxMacConvertNewlines13To10( wxChar * data )
-{
- wxChar * buf = data ;
+void wxMacConvertNewlines13To10( wxChar * data )
+{
+ wxChar * buf = data ;
while( (buf=wxStrchr(buf,0x0d)) != NULL )
{
*buf = 0x0a ;
}
void wxMacConvertNewlines10To13( wxChar * data )
-{
- wxChar * buf = data ;
+{
+ wxChar * buf = data ;
while( (buf=wxStrchr(buf,0x0a)) != NULL )
{
*buf = 0x0d ;
#endif // defined(__WXMAC__) && !defined(__DARWIN__) && (__MWERKS__ >= 0x2400)
#endif // wxUSE_GUI
-