Weekly catchup as well as better font and fontdlg support

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2002-08-19 02:28:02 +00:00
parent c93f804a15
commit a23692f070
8 changed files with 207 additions and 76 deletions

View File

@@ -683,7 +683,6 @@ wxApp::wxApp()
argc = 0;
argv = NULL;
m_nPrintMode = wxPRINT_WINDOWS;
m_exitOnFrameDelete = TRUE;
m_bAuto3D = TRUE;
m_hMq = 0;
m_maxSocketHandles = 0;
@@ -859,13 +858,13 @@ bool wxApp::ProcessIdle()
void wxApp::ExitMainLoop()
{
m_bKeepGoing = FALSE;
}
::WinPostMsg(NULL, WM_QUIT, 0, 0);
} // end of wxApp::ExitMainLoop
bool wxApp::Pending()
{
return (::WinPeekMsg(vHabmain, (PQMSG)&svCurrentMsg, (HWND)NULL, 0, 0, PM_NOREMOVE) != 0);
}
} // end of wxApp::Pending
void wxApp::Dispatch()
{

View File

@@ -348,14 +348,19 @@ void wxFontRefData::Init(
m_bNativeFontInfoOk = TRUE;
m_vNativeFontInfo = rInfo;
if (m_hPS == NULLHANDLE)
if (hPS == NULLHANDLE)
{
m_hPS = ::WinGetPS(HWND_DESKTOP);
m_bInternalPS = TRUE;
}
else
m_hPS = (HPS)hPS;
}
m_nFontId = 0;
m_bTemporary = FALSE;
m_pFM = (PFONTMETRICS)NULL;
m_nNumFonts = 0;
} // end of wxFontRefData::Init
wxFontRefData::~wxFontRefData()
{
@@ -449,11 +454,11 @@ bool wxFontRefData::Alloc(
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "System Monospaced") == 0)
m_nFamily = wxTELETYPE;
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "System VIO") == 0)
m_nFamily = wxTELETYPE;
m_nFamily = wxDEFAULT;
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "System Proportional") == 0)
m_nFamily = wxMODERN;
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Arial") == 0)
m_nFamily = wxMODERN;
m_nFamily = wxSWISS;
else
m_nFamily = wxSWISS;
@@ -608,11 +613,11 @@ wxFontFamily wxNativeFontInfo::GetFamily() const
else if (strcmp(fm.szFamilyname, "System Monospaced") == 0)
nFamily = wxTELETYPE;
else if (strcmp(fm.szFamilyname, "System VIO") == 0)
nFamily = wxTELETYPE;
nFamily = wxDEFAULT;
else if (strcmp(fm.szFamilyname, "System Proportional") == 0)
nFamily = wxMODERN;
else if (strcmp(fm.szFamilyname, "Arial") == 0)
nFamily = wxMODERN;
nFamily = wxSWISS;
else
nFamily = wxSWISS;
return (wxFontFamily)nFamily;
@@ -714,7 +719,7 @@ void wxNativeFontInfo::SetFamily(
break;
case wxMODERN:
sFacename = wxT("Arial") ;
sFacename = wxT("Courier New") ;
break;
case wxSWISS:
@@ -723,7 +728,7 @@ void wxNativeFontInfo::SetFamily(
case wxDEFAULT:
default:
sFacename = wxT("System Proportional") ;
sFacename = wxT("System VIO") ;
}
if (!wxStrlen(fa.szFacename) )

View File

@@ -81,14 +81,16 @@ int wxFontDialog::ShowModal()
// Debugging
//
wxFont vChosenFont(vInfo);
int nFamily;
int nPointSize;
int nPointSize = vFontDlg.lEmHeight;
int nStyle;
int nWeight;
bool bUnderlined;
wxString sFaceName;
wxNativeFontInfo* pInfo;
vChosenFont.SetPointSize(nPointSize);
nFamily = vChosenFont.GetFamily();
nPointSize = vChosenFont.GetPointSize();
nStyle = vChosenFont.GetStyle();

View File

@@ -288,7 +288,7 @@ void wxFillLogFont(
// Determine the number of fonts.
//
if((lNumFonts = ::GpiQueryFonts( *phPS
,QF_PUBLIC
,QF_PUBLIC | QF_PRIVATE
,NULL
,&lTemp
,(LONG) sizeof(FONTMETRICS)
@@ -335,7 +335,8 @@ void wxFillLogFont(
pFattrs->lMatch = 0;
pFaceName->usSize = sizeof(FACENAMEDESC);
pFaceName->usWidthClass = FWIDTH_NORMAL;
pFaceName->usWeightClass = FWEIGHT_DONT_CARE;
pFaceName->usWidthClass = FWIDTH_DONT_CARE;
pFaceName->usReserved = 0;
pFaceName->flOptions = 0;
@@ -465,7 +466,7 @@ void wxOS2SelectMatchingFontByName(
break;
case wxMODERN:
sFaceName = wxT("Arial") ;
sFaceName = wxT("Courier New") ;
break;
case wxSWISS:
@@ -474,7 +475,7 @@ void wxOS2SelectMatchingFontByName(
case wxDEFAULT:
default:
sFaceName = wxT("System Proportional") ;
sFaceName = wxT("System VIO") ;
}
switch (pFont->GetWeight())
@@ -532,7 +533,7 @@ void wxOS2SelectMatchingFontByName(
int nEmHeight = 0;
int nXHeight = 0;
anDiff[0] = wxGpiStrcmp(pFM[i].szFamilyname, zFontFaceName);
anDiff[0] = wxGpiStrcmp(pFM[i].szFacename, zFontFaceName);
anDiff[1] = abs(pFM[i].lEmHeight - nPointSize);
anDiff[2] = abs(pFM[i].usWeightClass - usWeightClass);
anDiff[3] = abs((pFM[i].fsSelection & 0x2f) - fsSelection);
@@ -600,16 +601,20 @@ void wxOS2SelectMatchingFontByName(
//
// Fill in the FATTRS with the best match from FONTMETRICS
//
pFattrs->usRecordLength = sizeof(FATTRS); // sets size of structure
pFattrs->fsSelection = pFM[nIndex].fsSelection; // uses default selection
pFattrs->lMatch = pFM[nIndex].lMatch; // force match
pFattrs->idRegistry = pFM[nIndex].idRegistry; // uses default registry
pFattrs->usCodePage = pFM[nIndex].usCodePage; // code-page
pFattrs->lMaxBaselineExt = 0; // OUTLINE fonts need this set to 0 as they use other attributes to match
pFattrs->lAveCharWidth = 0; // OUTLINE fonts need this set to 0 as they use other attributes to match
pFattrs->fsType = 0;// pfm->fsType; /* uses default type */
pFattrs->fsFontUse = 0;
pFattrs->usRecordLength = sizeof(FATTRS); // Sets size of structure
pFattrs->fsSelection = pFM[nIndex].fsSelection; // Uses default selection
pFattrs->lMatch = pFM[nIndex].lMatch; // Force match
pFattrs->idRegistry = pFM[nIndex].idRegistry; // Uses default registry
pFattrs->usCodePage = pFM[nIndex].usCodePage; // Code-page
pFattrs->fsType = 0; // Uses default type
pFattrs->lMaxBaselineExt = 0;
pFattrs->lAveCharWidth = 0;
pFattrs->fsFontUse = FATTR_FONTUSE_OUTLINE | // only outline fonts allowed
FATTR_FONTUSE_TRANSFORMABLE; // may be transformed
#if 0
pFattrs->lMaxBaselineExt = pFM[nIndex].lMaxBaselineExt;
pFattrs->lAveCharWidth = pFM[nIndex].lAveCharWidth;
#endif
wxStrcpy(pFattrs->szFacename, pFM[nIndex].szFacename);
// Debug
strcpy(zFontFaceName, pFM[nIndex].szFacename);

View File

@@ -592,20 +592,50 @@ bool wxTopLevelWindowOS2::Create(
wxTopLevelWindowOS2::~wxTopLevelWindowOS2()
{
wxTopLevelWindows.DeleteObject(this);
if (this == m_spHiddenParent)
{
//
// Stop [infinite] recursion which would otherwise happen when we do
// "delete ms_hiddenParent" below -- and we're not interested in doing
// anything of the rest below for that window because the rest of
// wxWindows doesn't even know about it
//
return;
}
if (wxModelessWindows.Find(this))
wxModelessWindows.DeleteObject(this);
//
// If this is the last top-level window, exit.
// After destroying an owned window, Windows activates the next top level
// window in Z order but it may be different from our owner (to reproduce
// this simply Alt-TAB to another application and back before closing the
// owned frame) whereas we always want to yield activation to our parent
//
if (wxTheApp && (wxTopLevelWindows.Number() == 0))
if (HasFlag(wxFRAME_FLOAT_ON_PARENT))
{
wxTheApp->SetTopWindow(NULL);
if ( wxTheApp->GetExitOnFrameDelete() )
wxWindow* pParent = GetParent();
if (pParent)
{
::WinPostMsg(NULL, WM_QUIT, 0, 0);
::WinSetWindowPos( GetHwndOf(pParent)
,HWND_TOP
,0, 0, 0, 0
,SWP_ZORDER
);
}
}
//
// If this is the last top-level window, we're going to exit and we should
// delete ms_hiddenParent now to avoid leaking it
//
if (IsLastBeforeExit())
{
if (m_spHiddenParent)
{
delete m_spHiddenParent;
m_spHiddenParent = NULL;
}
}
} // end of wxTopLevelWindowOS2::~wxTopLevelWindowOS2

View File

@@ -1232,7 +1232,7 @@ void wxOS2SetFont(
return;
//
// The fonts available for Presentation Params are just three
// The fonts available for Presentation Params are just a few
// outline fonts, the rest are available to the GPI, so we must
// map the families to one of these three
//
@@ -1243,25 +1243,25 @@ void wxOS2SetFont(
break;
case wxDECORATIVE:
strcpy(zFacename, "WarpSans");
break;
case wxROMAN:
strcpy(zFacename,"Tms Rmn");
strcpy(zFacename,"Times New Roman");
break;
case wxTELETYPE:
strcpy(zFacename, "Courier");
strcpy(zFacename, "Courier New");
break;
case wxMODERN:
strcpy(zFacename, "System VIO");
break;
case wxSWISS:
strcpy(zFacename, "Helv");
strcpy(zFacename, "Courier New");
break;
case wxDEFAULT:
default:
strcpy(zFacename, "System VIO");
case wxSWISS:
strcpy(zFacename, "Helvetica");
break;
}

View File

@@ -442,7 +442,7 @@ bool wxWindowOS2::Create(
// Generic OS/2 Windows have no Control Data but other classes
// that call OS2Create may have some.
//
bool bRetVal = OS2Create( (PSZ)wxCanvasClassName
return(OS2Create( (PSZ)wxCanvasClassName
,rName.c_str()
,ulCreateFlags
,rPos
@@ -450,11 +450,7 @@ bool wxWindowOS2::Create(
,NULL // Control Data
,dwExStyle
,TRUE // Child
);
if (bRetVal)
::WinSubclassWindow(m_hWnd, (PFNWP)wxWndProc);
return(bRetVal);
));
} // end of wxWindowOS2::Create
// ---------------------------------------------------------------------------
@@ -3311,7 +3307,7 @@ bool wxWindowOS2::HandleSetFocus(
} // end of wxWindowOS2::HandleSetFocus
bool wxWindowOS2::HandleKillFocus(
WXHWND WXUNUSED(hWnd)
WXHWND hWnd
)
{
#if wxUSE_CARET
@@ -3324,11 +3320,38 @@ bool wxWindowOS2::HandleKillFocus(
}
#endif // wxUSE_CARET
#if wxUSE_TEXTCTRL
//
// If it's a wxTextCtrl don't send the event as it will be done
// after the control gets to process it.
//
wxTextCtrl* pCtrl = wxDynamicCastThis(wxTextCtrl);
if (pCtrl)
{
return FALSE;
}
#endif
//
// Don't send the event when in the process of being deleted. This can
// only cause problems if the event handler tries to access the object.
//
if ( m_isBeingDeleted )
{
return FALSE;
}
wxFocusEvent vEvent( wxEVT_KILL_FOCUS
,m_windowId
);
vEvent.SetEventObject(this);
//
// wxFindWinFromHandle() may return NULL, it is ok
//
vEvent.SetWindow(wxFindWinFromHandle(hWnd));
return GetEventHandler()->ProcessEvent(vEvent);
} // end of wxWindowOS2::HandleKillFocus
@@ -4101,7 +4124,9 @@ bool wxWindowOS2::HandleChar(
if (isASCII)
{
//
// If 1 -> 26, translate to CTRL plus a letter.
// If 1 -> 26, translate to either special keycode or just set
// ctrlDown. IOW, Ctrl-C should result in keycode == 3 and
// ControlDown() == TRUE.
//
vId = (int)wParam;
if ((vId > 0) && (vId < 27))
@@ -4122,7 +4147,7 @@ bool wxWindowOS2::HandleChar(
default:
bCtrlDown = TRUE;
vId = vId + 'a' - 1;
break;
}
}
}

View File

@@ -4,7 +4,7 @@ DATA MULTIPLE NONSHARED READWRITE LOADONCALL
CODE LOADONCALL
EXPORTS
;From library: F:\Dev\Wx2\WxWindows\lib\wx.lib
;From library: F:\DEV\WX2\WXWINDOWS\LIB\wx.lib
;From object file: dummy.cpp
;PUBDEFs (Symbols available from object file):
wxDummyChar
@@ -68,6 +68,8 @@ EXPORTS
OnCmdLineHelp__9wxAppBaseFR15wxCmdLineParser
;wxTrap()
wxTrap__Fv
;wxAppBase::OnRun()
OnRun__9wxAppBaseFv
;wxAppBase::OnExit()
OnExit__9wxAppBaseFv
;wxAssertIsEqual(int,int)
@@ -257,12 +259,12 @@ EXPORTS
sm_classwxFontData__10wxFontData
;wxPageSetupDialogData::SetPaperSize(wxPaperSize)
SetPaperSize__21wxPageSetupDialogDataF11wxPaperSize
;wxFontData::~wxFontData()
__dt__10wxFontDataFv
;wxConstructorForwxColourData()
wxConstructorForwxColourData__Fv
;wxColourData::~wxColourData()
__dt__12wxColourDataFv
;wxFontData::~wxFontData()
__dt__10wxFontDataFv
;wxPrintData::wxPrintData(const wxPrintData&)
__ct__11wxPrintDataFRC11wxPrintData
;wxPrintDialogData::sm_classwxPrintDialogData
@@ -1605,14 +1607,20 @@ EXPORTS
;wxEncodingConverter::wxEncodingConverter()
__ct__19wxEncodingConverterFv
CompareCharsetItems
;wxEncodingConverter::Convert(const char*,wchar_t*)
Convert__19wxEncodingConverterFPCcPw
;wxEncodingConverter::Init(wxFontEncoding,wxFontEncoding,int)
Init__19wxEncodingConverterF14wxFontEncodingT1i
;wxEncodingConverter::Convert(const wchar_t*,char*)
Convert__19wxEncodingConverterFPCwPc
;wxEncodingConverter::Convert(const wxString&)
Convert__19wxEncodingConverterFRC8wxString
;wxEncodingConverter::GetPlatformEquivalents(wxFontEncoding,int)
GetPlatformEquivalents__19wxEncodingConverterF14wxFontEncodingi
;wxEncodingConverter::Convert(const char*,char*)
Convert__19wxEncodingConverterFPCcPc
;wxEncodingConverter::Convert(const wchar_t*,wchar_t*)
Convert__19wxEncodingConverterFPCwPw
;From object file: ..\common\event.cpp
;PUBDEFs (Symbols available from object file):
;wxSetCursorEvent::sm_classwxSetCursorEvent
@@ -3470,14 +3478,14 @@ EXPORTS
sm_classwxLocaleModule__14wxLocaleModule
;wxLanguageInfoArray::RemoveAt(unsigned int,unsigned int)
RemoveAt__19wxLanguageInfoArrayFUiT1
;wxLocale::GetSystemEncoding()
GetSystemEncoding__8wxLocaleFv
;wxLocale::CreateLanguagesDB()
CreateLanguagesDB__8wxLocaleFv
;wxLocale::~wxLocale()
__dt__8wxLocaleFv
;wxLocale::GetSystemLanguage()
GetSystemLanguage__8wxLocaleFv
;wxLocale::CreateLanguagesDB()
CreateLanguagesDB__8wxLocaleFv
;wxLocale::GetSystemEncoding()
GetSystemEncoding__8wxLocaleFv
;wxLanguageInfoArray::Index(const wxLanguageInfo&,unsigned long) const
Index__19wxLanguageInfoArrayCFRC14wxLanguageInfoUl
;wxLanguageInfoArray::wxLanguageInfoArray(const wxLanguageInfoArray&)
@@ -4431,6 +4439,8 @@ EXPORTS
FindClass__11wxClassInfoFPCc
;wxObject::sm_classwxObject
sm_classwxObject__8wxObject
;wxClassInfo::~wxClassInfo()
__dt__11wxClassInfoFv
;wxClassInfo::InitializeClasses()
InitializeClasses__11wxClassInfoFv
;From object file: ..\common\odbc.cpp
@@ -4581,10 +4591,12 @@ EXPORTS
SetZoom__18wxPrintPreviewBaseFi
;wxPrintout::GetPageInfo(int*,int*,int*,int*)
GetPageInfo__10wxPrintoutFPiN31
;wxPrinterBase::~wxPrinterBase()
__dt__13wxPrinterBaseFv
;wxPreviewControlBar::OnFirst()
OnFirst__19wxPreviewControlBarFv
;wxPreviewControlBar::sm_eventTable
sm_eventTable__19wxPreviewControlBar
;wxPrinterBase::~wxPrinterBase()
__dt__13wxPrinterBaseFv
;wxPreviewFrame::CreateCanvas()
CreateCanvas__14wxPreviewFrameFv
;wxPreviewControlBar::CreateButtons()
@@ -4615,6 +4627,8 @@ EXPORTS
OnBeginDocument__10wxPrintoutFiT1
;wxPrintPreviewBase::Init(wxPrintout*,wxPrintout*)
Init__18wxPrintPreviewBaseFP10wxPrintoutT1
;wxPreviewControlBar::OnGoto()
OnGoto__19wxPreviewControlBarFv
;wxPrintout::~wxPrintout()
__dt__10wxPrintoutFv
;wxPrintout::OnEndDocument()
@@ -4672,6 +4686,8 @@ EXPORTS
__dt__14wxPreviewFrameFv
;wxPreviewControlBar::OnPrevious()
OnPrevious__19wxPreviewControlBarFv
;wxPreviewControlBar::OnLast()
OnLast__19wxPreviewControlBarFv
;wxPreviewControlBar::GetEventTable() const
GetEventTable__19wxPreviewControlBarCFv
;wxPreviewFrame::wxPreviewFrame(wxPrintPreviewBase*,wxFrame*,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
@@ -5404,13 +5420,53 @@ EXPORTS
__vft18wxwxListStringNode10wxNodeBase
;From object file: ..\common\strconv.cpp
;PUBDEFs (Symbols available from object file):
;wxCSConv::wxCSConv(const wxCSConv&)
__ct__8wxCSConvFRC8wxCSConv
__vft8wxCSConv8wxMBConv
__vft12wxMBConvUTF78wxMBConv
;wxMBConv::cMB2WC(const char*) const
cMB2WC__8wxMBConvCFPCc
;wxCSConv::SetName(const char*)
SetName__8wxCSConvFPCc
;wxMBConvUTF7::MB2WC(wchar_t*,const char*,unsigned int) const
MB2WC__12wxMBConvUTF7CFPwPCcUi
;wxStrConvModule::sm_classwxStrConvModule
sm_classwxStrConvModule__15wxStrConvModule
;wxMBConvUTF8::WC2MB(char*,const wchar_t*,unsigned int) const
WC2MB__12wxMBConvUTF8CFPcPCwUi
;wxMBConvUTF8::MB2WC(wchar_t*,const char*,unsigned int) const
MB2WC__12wxMBConvUTF8CFPwPCcUi
__vft12wxMBConvUTF88wxMBConv
wxConvCurrent
wxConvFile
;wxMBConv::WC2MB(char*,const wchar_t*,unsigned int) const
WC2MB__8wxMBConvCFPcPCwUi
;wxCSConv::Clear()
Clear__8wxCSConvFv
;wxCSConv::~wxCSConv()
__dt__8wxCSConvFv
;wxCSConv::operator=(const wxCSConv&)
__as__8wxCSConvFRC8wxCSConv
wxConvUTF7
wxConvLocal
wxConvUTF8
;wxMBConvUTF7::WC2MB(char*,const wchar_t*,unsigned int) const
WC2MB__12wxMBConvUTF7CFPcPCwUi
;wxCSConv::WC2MB(char*,const wchar_t*,unsigned int) const
WC2MB__8wxCSConvCFPcPCwUi
;wxCSConv::MB2WC(wchar_t*,const char*,unsigned int) const
MB2WC__8wxCSConvCFPwPCcUi
;wxCSConv::LoadNow()
LoadNow__8wxCSConvFv
;wxCSConv::wxCSConv(const char*)
__ct__8wxCSConvFPCc
wxConvLibc
;wxMBConv::MB2WC(wchar_t*,const char*,unsigned int) const
MB2WC__8wxMBConvCFPwPCcUi
;wxConstructorForwxStrConvModule()
wxConstructorForwxStrConvModule__Fv
__vft8wxMBConv
;wxMBConv::cWC2MB(const wchar_t*) const
cWC2MB__8wxMBConvCFPCw
;From object file: ..\common\stream.cpp
;PUBDEFs (Symbols available from object file):
;wxStreamBuffer::SetBufferIO(void*,unsigned int,unsigned long)
@@ -5616,6 +5672,8 @@ EXPORTS
find_first_of__8wxStringCFPCcUi
;operator+(const wxString&,const wxString&)
__pl__FRC8wxStringT1
;wxString::wxString(const wchar_t*,wxMBConv&,unsigned int)
__ct__8wxStringFPCwR8wxMBConvUi
;wxString::wxString(const void*,const void*)
__ct__8wxStringFPCvT1
;wxArrayString::Sort(int(*)(const wxString&,const wxString&))
@@ -5688,8 +5746,6 @@ EXPORTS
AfterLast__8wxStringCFc
;wxString::find(char,unsigned int) const
find__8wxStringCFcUi
;wxVsnprintf(char*,unsigned int,const char*,char*)
wxVsnprintf__FPcUiPCcT1
;wxString::rfind(const wxString&,unsigned int) const
rfind__8wxStringCFRC8wxStringUi
;wxString::replace(unsigned int,unsigned int,const char*,unsigned int)
@@ -5731,6 +5787,8 @@ EXPORTS
__pl__FRC8wxStringPCc
;wxArrayString::operator==(const wxArrayString&) const
__eq__13wxArrayStringCFRC13wxArrayString
;wxString::operator=(const wchar_t*)
__as__8wxStringFPCw
;wxString::StartsWith(const char*,wxString*) const
StartsWith__8wxStringCFPCcP8wxString
;wxArrayString::Remove(const char*)
@@ -5769,8 +5827,6 @@ EXPORTS
ToDouble__8wxStringCFPd
;wxString::wxString(char,unsigned int)
__ct__8wxStringFcUi
;wxSnprintf(char*,unsigned int,const char*,...)
wxSnprintf__FPcUiPCce
;wxString::ToULong(unsigned long*,int) const
ToULong__8wxStringCFPUli
;wxString::Right(unsigned int) const
@@ -6067,6 +6123,8 @@ EXPORTS
__dt__20wxTopLevelWindowBaseFv
;wxTopLevelWindowBase::OnCloseWindow(wxCloseEvent&)
OnCloseWindow__20wxTopLevelWindowBaseFR12wxCloseEvent
;wxTopLevelWindowBase::IsLastBeforeExit() const
IsLastBeforeExit__20wxTopLevelWindowBaseCFv
;wxTopLevelWindowBase::DoScreenToClient(int*,int*) const
DoScreenToClient__20wxTopLevelWindowBaseCFPiT1
;wxTopLevelWindowBase::Destroy()
@@ -7140,10 +7198,17 @@ EXPORTS
wxGetTopLevelParent__FP8wxWindow
;From object file: ..\common\wxchar.cpp
;PUBDEFs (Symbols available from object file):
wcslen
;wxMB2WC(wchar_t*,const char*,unsigned int)
wxMB2WC__FPwPCcUi
;wxVsnprintf(char*,unsigned int,const char*,char*)
wxVsnprintf__FPcUiPCcT1
;wxWC2MB(char*,const wchar_t*,unsigned int)
wxWC2MB__FPcPCwUi
;wxSnprintf(char*,unsigned int,const char*,...)
wxSnprintf__FPcUiPCce
;wxOKlibc()
wxOKlibc__Fv
;wcslen(const wchar_t*)
wcslen__FPCw
;From object file: ..\common\wxexpr.cpp
;PUBDEFs (Symbols available from object file):
;wxExpr::GetAttributeValue(const wxString&,long&) const