wxMac Unicode support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
3dd709d8c3
commit
44c44c82a3
@ -1784,18 +1784,18 @@ public :
|
||||
}
|
||||
MacDefaultExtensionRecord( const MacDefaultExtensionRecord& from )
|
||||
{
|
||||
strcpy( m_ext , from.m_ext ) ;
|
||||
wxStrcpy( m_ext , from.m_ext ) ;
|
||||
m_type = from.m_type ;
|
||||
m_creator = from.m_creator ;
|
||||
}
|
||||
MacDefaultExtensionRecord( const char * extension , OSType type , OSType creator )
|
||||
MacDefaultExtensionRecord( const wxChar * extension , OSType type , OSType creator )
|
||||
{
|
||||
strncpy( m_ext , extension , kMacExtensionMaxLength ) ;
|
||||
wxStrncpy( m_ext , extension , kMacExtensionMaxLength ) ;
|
||||
m_ext[kMacExtensionMaxLength] = 0 ;
|
||||
m_type = type ;
|
||||
m_creator = creator ;
|
||||
}
|
||||
char m_ext[kMacExtensionMaxLength] ;
|
||||
wxChar m_ext[kMacExtensionMaxLength] ;
|
||||
OSType m_type ;
|
||||
OSType m_creator ;
|
||||
} ;
|
||||
@ -1819,7 +1819,7 @@ static void MacEnsureDefaultExtensionsLoaded()
|
||||
// load the default extensions
|
||||
MacDefaultExtensionRecord defaults[1] =
|
||||
{
|
||||
MacDefaultExtensionRecord( "txt" , 'TEXT' , 'ttxt' ) ,
|
||||
MacDefaultExtensionRecord( wxT("txt") , 'TEXT' , 'ttxt' ) ,
|
||||
|
||||
} ;
|
||||
// we could load the pc exchange prefs here too
|
||||
@ -1891,7 +1891,7 @@ void wxFileName::MacRegisterDefaultTypeAndCreator( const wxString& ext , wxUint3
|
||||
MacDefaultExtensionRecord rec ;
|
||||
rec.m_type = type ;
|
||||
rec.m_creator = creator ;
|
||||
strncpy( rec.m_ext , ext.Lower().c_str() , kMacExtensionMaxLength ) ;
|
||||
wxStrncpy( rec.m_ext , ext.Lower().c_str() , kMacExtensionMaxLength ) ;
|
||||
gMacDefaultExtensions.Add( rec ) ;
|
||||
}
|
||||
#endif
|
||||
|
@ -463,8 +463,7 @@ void wxInitializeStockObjects ()
|
||||
|
||||
GetThemeFont(kThemeSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ;
|
||||
sizeFont = fontSize ;
|
||||
p2cstrcpy( (char*) fontName , fontName ) ;
|
||||
wxSWISS_FONT = new wxFont (fontSize, wxSWISS, wxNORMAL, wxNORMAL , false , fontName );
|
||||
wxSWISS_FONT = new wxFont (fontSize, wxSWISS, wxNORMAL, wxNORMAL , false , wxMacMakeStringFromPascal(fontName) );
|
||||
#elif defined(__WXPM__)
|
||||
static const int sizeFont = 12;
|
||||
#else
|
||||
@ -485,8 +484,7 @@ void wxInitializeStockObjects ()
|
||||
wxNORMAL_FONT = new wxFont (sizeFont, wxMODERN, wxNORMAL, wxNORMAL);
|
||||
wxITALIC_FONT = new wxFont (sizeFont, wxROMAN, wxITALIC, wxNORMAL);
|
||||
GetThemeFont(kThemeSmallSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ;
|
||||
p2cstrcpy( (char*) fontName , fontName ) ;
|
||||
wxSMALL_FONT = new wxFont (fontSize, wxSWISS, wxNORMAL, wxNORMAL , false , fontName );
|
||||
wxSMALL_FONT = new wxFont (fontSize, wxSWISS, wxNORMAL, wxNORMAL , false , wxMacMakeStringFromPascal( fontName ) );
|
||||
#else
|
||||
wxSMALL_FONT = new wxFont (sizeFont - 2, wxSWISS, wxNORMAL, wxNORMAL);
|
||||
wxITALIC_FONT = new wxFont (sizeFont, wxROMAN, wxITALIC, wxNORMAL);
|
||||
|
@ -924,279 +924,279 @@ void wxLocale::AddCatalogLookupPathPrefix(const wxString& prefix)
|
||||
}
|
||||
}
|
||||
#elif defined(__WXMAC__)
|
||||
const char* lc = NULL ;
|
||||
const wxChar * lc = NULL ;
|
||||
long lang = GetScriptVariable( smSystemScript, smScriptLang) ;
|
||||
switch( GetScriptManagerVariable( smRegionCode ) ) {
|
||||
case verUS :
|
||||
lc = "en_US" ;
|
||||
lc = wxT("en_US") ;
|
||||
break ;
|
||||
case verFrance :
|
||||
lc = "fr_FR" ;
|
||||
lc = wxT("fr_FR") ;
|
||||
break ;
|
||||
case verBritain :
|
||||
lc = "en_GB" ;
|
||||
lc = wxT("en_GB") ;
|
||||
break ;
|
||||
case verGermany :
|
||||
lc = "de_DE" ;
|
||||
lc = wxT("de_DE") ;
|
||||
break ;
|
||||
case verItaly :
|
||||
lc = "it_IT" ;
|
||||
lc = wxT("it_IT") ;
|
||||
break ;
|
||||
case verNetherlands :
|
||||
lc = "nl_NL" ;
|
||||
lc = wxT("nl_NL") ;
|
||||
break ;
|
||||
case verFlemish :
|
||||
lc = "nl_BE" ;
|
||||
lc = wxT("nl_BE") ;
|
||||
break ;
|
||||
case verSweden :
|
||||
lc = "sv_SE" ;
|
||||
lc = wxT("sv_SE" );
|
||||
break ;
|
||||
case verSpain :
|
||||
lc = "es_ES" ;
|
||||
lc = wxT("es_ES" );
|
||||
break ;
|
||||
case verDenmark :
|
||||
lc = "da_DK" ;
|
||||
lc = wxT("da_DK") ;
|
||||
break ;
|
||||
case verPortugal :
|
||||
lc = "pt_PT" ;
|
||||
lc = wxT("pt_PT") ;
|
||||
break ;
|
||||
case verFrCanada:
|
||||
lc = "fr_CA" ;
|
||||
lc = wxT("fr_CA") ;
|
||||
break ;
|
||||
case verNorway:
|
||||
lc = "no_NO" ;
|
||||
lc = wxT("no_NO") ;
|
||||
break ;
|
||||
case verIsrael:
|
||||
lc = "iw_IL" ;
|
||||
lc = wxT("iw_IL") ;
|
||||
break ;
|
||||
case verJapan:
|
||||
lc = "ja_JP" ;
|
||||
lc = wxT("ja_JP") ;
|
||||
break ;
|
||||
case verAustralia:
|
||||
lc = "en_AU" ;
|
||||
lc = wxT("en_AU") ;
|
||||
break ;
|
||||
case verArabic:
|
||||
lc = "ar" ;
|
||||
lc = wxT("ar") ;
|
||||
break ;
|
||||
case verFinland:
|
||||
lc = "fi_FI" ;
|
||||
lc = wxT("fi_FI") ;
|
||||
break ;
|
||||
case verFrSwiss:
|
||||
lc = "fr_CH" ;
|
||||
lc = wxT("fr_CH") ;
|
||||
break ;
|
||||
case verGrSwiss:
|
||||
lc = "de_CH" ;
|
||||
lc = wxT("de_CH") ;
|
||||
break ;
|
||||
case verGreece:
|
||||
lc = "el_GR" ;
|
||||
lc = wxT("el_GR") ;
|
||||
break ;
|
||||
case verIceland:
|
||||
lc = "is_IS" ;
|
||||
lc = wxT("is_IS") ;
|
||||
break ;
|
||||
case verMalta:
|
||||
lc = "mt_MT" ;
|
||||
lc = wxT("mt_MT") ;
|
||||
break ;
|
||||
case verCyprus:
|
||||
// _CY is not part of wx, so we have to translate according to the system language
|
||||
if ( lang == langGreek ) {
|
||||
lc = "el_GR" ;
|
||||
lc = wxT("el_GR") ;
|
||||
}
|
||||
else if ( lang == langTurkish ) {
|
||||
lc = "tr_TR" ;
|
||||
lc = wxT("tr_TR") ;
|
||||
}
|
||||
break ;
|
||||
case verTurkey:
|
||||
lc = "tr_TR" ;
|
||||
lc = wxT("tr_TR") ;
|
||||
break ;
|
||||
case verYugoCroatian:
|
||||
lc = "hr_HR" ;
|
||||
lc = wxT("hr_HR") ;
|
||||
break ;
|
||||
case verIndiaHindi:
|
||||
lc = "hi_IN" ;
|
||||
lc = wxT("hi_IN") ;
|
||||
break ;
|
||||
case verPakistanUrdu:
|
||||
lc = "ur_PK" ;
|
||||
lc = wxT("ur_PK") ;
|
||||
break ;
|
||||
case verTurkishModified:
|
||||
lc = "tr_TR" ;
|
||||
lc = wxT("tr_TR") ;
|
||||
break ;
|
||||
case verItalianSwiss:
|
||||
lc = "it_CH" ;
|
||||
lc = wxT("it_CH") ;
|
||||
break ;
|
||||
case verInternational:
|
||||
lc = "en" ;
|
||||
lc = wxT("en") ;
|
||||
break ;
|
||||
case verRomania:
|
||||
lc = "ro_RO" ;
|
||||
lc = wxT("ro_RO") ;
|
||||
break ;
|
||||
case verGreecePoly:
|
||||
lc = "el_GR" ;
|
||||
lc = wxT("el_GR") ;
|
||||
break ;
|
||||
case verLithuania:
|
||||
lc = "lt_LT" ;
|
||||
lc = wxT("lt_LT") ;
|
||||
break ;
|
||||
case verPoland:
|
||||
lc = "pl_PL" ;
|
||||
lc = wxT("pl_PL") ;
|
||||
break ;
|
||||
case verMagyar :
|
||||
case verHungary:
|
||||
lc = "hu_HU" ;
|
||||
lc = wxT("hu_HU") ;
|
||||
break ;
|
||||
case verEstonia:
|
||||
lc = "et_EE" ;
|
||||
lc = wxT("et_EE") ;
|
||||
break ;
|
||||
case verLatvia:
|
||||
lc = "lv_LV" ;
|
||||
lc = wxT("lv_LV") ;
|
||||
break ;
|
||||
case verSami:
|
||||
// not known
|
||||
break ;
|
||||
case verFaroeIsl:
|
||||
lc = "fo_FO" ;
|
||||
lc = wxT("fo_FO") ;
|
||||
break ;
|
||||
case verIran:
|
||||
lc = "fa_IR" ;
|
||||
lc = wxT("fa_IR") ;
|
||||
break ;
|
||||
case verRussia:
|
||||
lc = "ru_RU" ;
|
||||
lc = wxT("ru_RU") ;
|
||||
break ;
|
||||
case verIreland:
|
||||
lc = "ga_IE" ;
|
||||
lc = wxT("ga_IE") ;
|
||||
break ;
|
||||
case verKorea:
|
||||
lc = "ko_KR" ;
|
||||
lc = wxT("ko_KR") ;
|
||||
break ;
|
||||
case verChina:
|
||||
lc = "zh_CN" ;
|
||||
lc = wxT("zh_CN") ;
|
||||
break ;
|
||||
case verTaiwan:
|
||||
lc = "zh_TW" ;
|
||||
lc = wxT("zh_TW") ;
|
||||
break ;
|
||||
case verThailand:
|
||||
lc = "th_TH" ;
|
||||
lc = wxT("th_TH") ;
|
||||
break ;
|
||||
case verCzech:
|
||||
lc = "cs_CZ" ;
|
||||
lc = wxT("cs_CZ") ;
|
||||
break ;
|
||||
case verSlovak:
|
||||
lc = "sk_SK" ;
|
||||
lc = wxT("sk_SK") ;
|
||||
break ;
|
||||
case verBengali:
|
||||
lc = "bn" ;
|
||||
lc = wxT("bn") ;
|
||||
break ;
|
||||
case verByeloRussian:
|
||||
lc = "be_BY" ;
|
||||
lc = wxT("be_BY") ;
|
||||
break ;
|
||||
case verUkraine:
|
||||
lc = "uk_UA" ;
|
||||
lc = wxT("uk_UA") ;
|
||||
break ;
|
||||
case verGreeceAlt:
|
||||
lc = "el_GR" ;
|
||||
lc = wxT("el_GR") ;
|
||||
break ;
|
||||
case verSerbian:
|
||||
lc = "sr_YU" ;
|
||||
lc = wxT("sr_YU") ;
|
||||
break ;
|
||||
case verSlovenian:
|
||||
lc = "sl_SI" ;
|
||||
lc = wxT("sl_SI") ;
|
||||
break ;
|
||||
case verMacedonian:
|
||||
lc = "mk_MK" ;
|
||||
lc = wxT("mk_MK") ;
|
||||
break ;
|
||||
case verCroatia:
|
||||
lc = "hr_HR" ;
|
||||
lc = wxT("hr_HR") ;
|
||||
break ;
|
||||
case verBrazil:
|
||||
lc = "pt_BR " ;
|
||||
lc = wxT("pt_BR ") ;
|
||||
break ;
|
||||
case verBulgaria:
|
||||
lc = "bg_BG" ;
|
||||
lc = wxT("bg_BG") ;
|
||||
break ;
|
||||
case verCatalonia:
|
||||
lc = "ca_ES" ;
|
||||
lc = wxT("ca_ES") ;
|
||||
break ;
|
||||
case verScottishGaelic:
|
||||
lc = "gd" ;
|
||||
lc = wxT("gd") ;
|
||||
break ;
|
||||
case verManxGaelic:
|
||||
lc = "gv" ;
|
||||
lc = wxT("gv") ;
|
||||
break ;
|
||||
case verBreton:
|
||||
lc = "br" ;
|
||||
lc = wxT("br") ;
|
||||
break ;
|
||||
case verNunavut:
|
||||
lc = "iu_CA" ;
|
||||
lc = wxT("iu_CA") ;
|
||||
break ;
|
||||
case verWelsh:
|
||||
lc = "cy" ;
|
||||
lc = wxT("cy") ;
|
||||
break ;
|
||||
case verIrishGaelicScript:
|
||||
lc = "ga_IE" ;
|
||||
lc = wxT("ga_IE") ;
|
||||
break ;
|
||||
case verEngCanada:
|
||||
lc = "en_CA" ;
|
||||
lc = wxT("en_CA") ;
|
||||
break ;
|
||||
case verBhutan:
|
||||
lc = "dz_BT" ;
|
||||
lc = wxT("dz_BT") ;
|
||||
break ;
|
||||
case verArmenian:
|
||||
lc = "hy_AM" ;
|
||||
lc = wxT("hy_AM") ;
|
||||
break ;
|
||||
case verGeorgian:
|
||||
lc = "ka_GE" ;
|
||||
lc = wxT("ka_GE") ;
|
||||
break ;
|
||||
case verSpLatinAmerica:
|
||||
lc = "es_AR" ;
|
||||
lc = wxT("es_AR") ;
|
||||
break ;
|
||||
case verTonga:
|
||||
lc = "to_TO" ;
|
||||
lc = wxT("to_TO" );
|
||||
break ;
|
||||
case verFrenchUniversal:
|
||||
lc = "fr_FR" ;
|
||||
lc = wxT("fr_FR") ;
|
||||
break ;
|
||||
case verAustria:
|
||||
lc = "de_AT" ;
|
||||
lc = wxT("de_AT") ;
|
||||
break ;
|
||||
case verGujarati:
|
||||
lc = "gu_IN" ;
|
||||
lc = wxT("gu_IN") ;
|
||||
break ;
|
||||
case verPunjabi:
|
||||
lc = "pa" ;
|
||||
lc = wxT("pa") ;
|
||||
break ;
|
||||
case verIndiaUrdu:
|
||||
lc = "ur_IN" ;
|
||||
lc = wxT("ur_IN") ;
|
||||
break ;
|
||||
case verVietnam:
|
||||
lc = "vi_VN" ;
|
||||
lc = wxT("vi_VN") ;
|
||||
break ;
|
||||
case verFrBelgium:
|
||||
lc = "fr_BE" ;
|
||||
lc = wxT("fr_BE") ;
|
||||
break ;
|
||||
case verUzbek:
|
||||
lc = "uz_UZ" ;
|
||||
lc = wxT("uz_UZ") ;
|
||||
break ;
|
||||
case verSingapore:
|
||||
lc = "zh_SG" ;
|
||||
lc = wxT("zh_SG") ;
|
||||
break ;
|
||||
case verNynorsk:
|
||||
lc = "nn_NO" ;
|
||||
lc = wxT("nn_NO") ;
|
||||
break ;
|
||||
case verAfrikaans:
|
||||
lc = "af_ZA" ;
|
||||
lc = wxT("af_ZA") ;
|
||||
break ;
|
||||
case verEsperanto:
|
||||
lc = "eo" ;
|
||||
lc = wxT("eo") ;
|
||||
break ;
|
||||
case verMarathi:
|
||||
lc = "mr_IN" ;
|
||||
lc = wxT("mr_IN") ;
|
||||
break ;
|
||||
case verTibetan:
|
||||
lc = "bo" ;
|
||||
lc = wxT("bo") ;
|
||||
break ;
|
||||
case verNepal:
|
||||
lc = "ne_NP" ;
|
||||
lc = wxT("ne_NP") ;
|
||||
break ;
|
||||
case verGreenland:
|
||||
lc = "kl_GL" ;
|
||||
lc = wxT("kl_GL") ;
|
||||
break ;
|
||||
default :
|
||||
break ;
|
||||
|
@ -717,9 +717,8 @@ void wxLogStderr::DoLogString(const wxChar *szString, time_t WXUNUSED(t))
|
||||
|
||||
#if defined(__WXMAC__) && !defined(__DARWIN__) && wxUSE_GUI
|
||||
Str255 pstr ;
|
||||
strcpy( (char*) pstr , str.c_str() ) ;
|
||||
strcat( (char*) pstr , ";g" ) ;
|
||||
c2pstr( (char*) pstr ) ;
|
||||
wxString output = str + wxT(";g") ;
|
||||
wxMacStringToPascal( output.c_str() , pstr ) ;
|
||||
|
||||
Boolean running = false ;
|
||||
|
||||
|
@ -848,8 +848,11 @@ int wxFscanf( FILE *stream, const wxChar *format, ... )
|
||||
{
|
||||
va_list argptr;
|
||||
va_start(argptr, format);
|
||||
|
||||
#ifdef __WXMAC__
|
||||
int ret = ::vfwscanf(stream, wxFormatConverter(format), argptr);
|
||||
#else
|
||||
int ret = vfwscanf(stream, wxFormatConverter(format), argptr);
|
||||
#endif
|
||||
|
||||
va_end(argptr);
|
||||
|
||||
|
@ -330,7 +330,7 @@ bool wxStatusBarGeneric::GetFieldRect(int n, wxRect& rect) const
|
||||
void wxStatusBarGeneric::InitColours()
|
||||
{
|
||||
// Shadow colours
|
||||
#if defined(__WIN95__)
|
||||
#if defined(__WIN95__) || defined(__WXMAC__)
|
||||
wxColour mediumShadowColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW));
|
||||
m_mediumShadowPen = wxPen(mediumShadowColour, 1, wxSOLID);
|
||||
|
||||
|
@ -38,6 +38,10 @@
|
||||
#include "wx/settings.h"
|
||||
#include "wx/dcclient.h"
|
||||
|
||||
#ifdef __WXMAC__
|
||||
#include "wx/mac/private.h"
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// array types
|
||||
// -----------------------------------------------------------------------------
|
||||
@ -2128,7 +2132,20 @@ void wxGenericTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
|
||||
|
||||
if ( item->IsSelected() )
|
||||
{
|
||||
// under mac selections are only a rectangle in case they don't have the focus
|
||||
#ifdef __WXMAC__
|
||||
if ( !m_hasFocus )
|
||||
{
|
||||
dc.SetBrush( *wxTRANSPARENT_BRUSH ) ;
|
||||
dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) , 1 , wxSOLID ) ) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
dc.SetBrush( *m_hilightBrush ) ;
|
||||
}
|
||||
#else
|
||||
dc.SetBrush(*(m_hasFocus ? m_hilightBrush : m_hilightUnfocusedBrush));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2309,10 +2326,25 @@ void wxGenericTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level
|
||||
|
||||
if (HasFlag(wxTR_AQUA_BUTTONS))
|
||||
{
|
||||
#ifdef __WXMAC__
|
||||
wxMacPortSetter helper(&dc) ;
|
||||
wxMacWindowClipper clipper(this) ;
|
||||
wxDC::MacSetupBackgroundForCurrentPort( MacGetBackgroundBrush() ) ;
|
||||
|
||||
int loc_x = x - 5 ;
|
||||
int loc_y = y_mid - 6 ;
|
||||
MacWindowToRootWindow( & loc_x , & loc_y ) ;
|
||||
Rect bounds = { loc_y , loc_x , loc_y + 18 , loc_x + 12 } ;
|
||||
ThemeButtonDrawInfo info = { kThemeStateActive , item->IsExpanded() ? kThemeDisclosureDown : kThemeDisclosureRight ,
|
||||
kThemeAdornmentNone };
|
||||
DrawThemeButton( &bounds, kThemeDisclosureButton ,
|
||||
&info , NULL , NULL , NULL , NULL ) ;
|
||||
#else
|
||||
if (item->IsExpanded())
|
||||
dc.DrawBitmap( *m_arrowDown, x-5, y_mid-6, TRUE );
|
||||
else
|
||||
dc.DrawBitmap( *m_arrowRight, x-5, y_mid-6, TRUE );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user