From 161f4f7380e945b0769ad5f7122df55b8777396a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 3 Jun 2001 02:58:56 +0000 Subject: [PATCH] applied Unicode fixes for mingw32 (patch 429654) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/filefn.h | 2 +- include/wx/prntbase.h | 2 +- include/wx/treebase.h | 2 +- include/wx/wxchar.h | 11 ++ src/common/cmndata.cpp | 265 +++++++++++++++++++-------------------- src/common/filefn.cpp | 6 +- src/common/prntbase.cpp | 2 +- src/generic/gridctrl.cpp | 2 +- src/html/htmltag.cpp | 6 +- src/msw/dcprint.cpp | 14 ++- src/msw/fontenum.cpp | 2 +- src/msw/ole/dropsrc.cpp | 2 +- src/msw/ole/droptgt.cpp | 6 +- 13 files changed, 169 insertions(+), 153 deletions(-) diff --git a/include/wx/filefn.h b/include/wx/filefn.h index 8e247c9571..7543d8ca03 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -66,7 +66,7 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; // ---------------------------------------------------------------------------- // Microsoft compiler loves underscores, feed them to it -#ifdef __VISUALC__ +#if defined( __VISUALC__ ) || defined( __GNUWIN32__ ) // functions #define wxClose _close #define wxRead _read diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index 1533a3d526..d51919bab1 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -60,7 +60,7 @@ public: virtual ~wxPrinterBase(); virtual wxWindow *CreateAbortWindow(wxWindow *parent, wxPrintout *printout); - virtual void ReportError(wxWindow *parent, wxPrintout *printout, char *message); + virtual void ReportError(wxWindow *parent, wxPrintout *printout, const wxString& message); wxPrintDialogData& GetPrintDialogData() const { return (wxPrintDialogData&) m_printDialogData; } diff --git a/include/wx/treebase.h b/include/wx/treebase.h index 6d50ea37da..1ef4de314a 100644 --- a/include/wx/treebase.h +++ b/include/wx/treebase.h @@ -144,7 +144,7 @@ static const int wxTREE_HITTEST_ONITEM = wxTREE_HITTEST_ONITEMICON | wxTREE_HITTEST_ONITEMLABEL; // tree ctrl default name -WXDLLEXPORT_DATA(extern const char*) wxTreeCtrlNameStr; +WXDLLEXPORT_DATA(extern const wxChar*) wxTreeCtrlNameStr; // ---------------------------------------------------------------------------- // wxTreeItemAttr: a structure containing the visual attributes of an item diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index ff21ca685b..f8ec9c0d0f 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -63,6 +63,11 @@ #define wxHAVE_TCHAR_FUNCTIONS #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520) #define wxHAVE_TCHAR_FUNCTIONS + #elif defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 0, 6 ) + #define wxHAVE_TCHAR_FUNCTIONS + #include + #include + #include #endif #elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400) // VisualAge 4.0+ supports TCHAR @@ -116,6 +121,12 @@ # include # if wxUSE_UNICODE // temporary - preserve binary compatibility +#if defined(__GNUWIN32__) + #define _TCHAR TCHAR + #define _TSCHAR TCHAR + #define _TUCHAR TCHAR +#endif + typedef _TCHAR wxChar; typedef _TSCHAR wxSChar; typedef _TUCHAR wxUChar; diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp index de57dda478..b039641a07 100644 --- a/src/common/cmndata.cpp +++ b/src/common/cmndata.cpp @@ -180,18 +180,18 @@ wxPrintData::wxPrintData() m_macPageFormat = kPMNoPageFormat; m_macPrintSettings = kPMNoPrintSettings; #else - m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; - (**m_macPrintInfo).iPrVersion = 0; // something invalid - - (**m_macPrintInfo).prInfo.iHRes = 72; - (**m_macPrintInfo).prInfo.iVRes = 72; - Rect r1 = { 0, 0, 8*72 - 2 * 18, 11*72 - 2 * 36 } ; - (**m_macPrintInfo).prInfo.rPage = r1;// must have its top left & (0,0) - - Rect r2 = { -18, -36, 8*72 - 18, 11*72 - 36 } ; - (**m_macPrintInfo).rPaper = r2; - (**m_macPrintInfo).prStl.iPageV = 11 * 120 ; // 11 inches in 120th of an inch - (**m_macPrintInfo).prStl.iPageH = 8 * 120 ; // 8 inches in 120th of an inch + m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ); + (**m_macPrintInfo).iPrVersion = 0; // something invalid + + (**m_macPrintInfo).prInfo.iHRes = 72; + (**m_macPrintInfo).prInfo.iVRes = 72; + Rect r1 = { 0, 0, 8*72 - 2 * 18, 11*72 - 2 * 36 }; + (**m_macPrintInfo).prInfo.rPage = r1;// must have its top left & (0,0) + + Rect r2 = { -18, -36, 8*72 - 18, 11*72 - 36 }; + (**m_macPrintInfo).rPaper = r2; + (**m_macPrintInfo).prStl.iPageV = 11 * 120 ; // 11 inches in 120th of an inch + (**m_macPrintInfo).prStl.iPageH = 8 * 120 ; // 8 inches in 120th of an inch #endif #endif m_printOrientation = wxPORTRAIT; @@ -229,7 +229,7 @@ wxPrintData::wxPrintData(const wxPrintData& printData) m_macPageFormat = kPMNoPageFormat; m_macPrintSettings = kPMNoPrintSettings; #else - m_macPrintInfo = NULL ; + m_macPrintInfo = NULL; #endif #endif (*this) = printData; @@ -248,8 +248,8 @@ wxPrintData::~wxPrintData() #if TARGET_CARBON if (m_macPageFormat != kPMNoPageFormat) { - (void)PMDisposePageFormat(m_macPageFormat); - m_macPageFormat = kPMNoPageFormat; + (void)PMDisposePageFormat(m_macPageFormat); + m_macPageFormat = kPMNoPageFormat; } if (m_macPrintSettings != kPMNoPrintSettings) @@ -258,8 +258,8 @@ wxPrintData::~wxPrintData() m_macPrintSettings = kPMNoPrintSettings; } #else - wxASSERT( m_macPrintInfo ) ; - // we should perhaps delete + wxASSERT( m_macPrintInfo ); + // we should perhaps delete #endif #endif } @@ -303,32 +303,35 @@ static wxString wxGetPrintDlgError() static HGLOBAL wxCreateDevNames(const wxString& driverName, const wxString& printerName, const wxString& portName) { - HGLOBAL hDev = NULL; - // if (!driverName.IsEmpty() && !printerName.IsEmpty() && !portName.IsEmpty()) + HGLOBAL hDev = NULL; + // if (!driverName.IsEmpty() && !printerName.IsEmpty() && !portName.IsEmpty()) if (driverName.IsEmpty() && printerName.IsEmpty() && portName.IsEmpty()) { } else - { - hDev = GlobalAlloc(GPTR, 4*sizeof(WORD)+ - driverName.Length() + 1 + - printerName.Length() + 1 + - portName.Length()+1); - LPDEVNAMES lpDev = (LPDEVNAMES)GlobalLock(hDev); - lpDev->wDriverOffset = sizeof(WORD)*4; - wxStrcpy((wxChar*)lpDev + lpDev->wDriverOffset, driverName); + { + hDev = GlobalAlloc(GPTR, 4*sizeof(WORD)+ + ( driverName.Length() + 1 + + printerName.Length() + 1 + + portName.Length()+1 ) * sizeof(wxChar) ); + LPDEVNAMES lpDev = (LPDEVNAMES)GlobalLock(hDev); + lpDev->wDriverOffset = sizeof(WORD)*4; + wxStrcpy((wxChar*)((char*)lpDev + lpDev->wDriverOffset ), driverName); - lpDev->wDeviceOffset = (WORD)(lpDev->wDriverOffset + driverName.Length()+1); - wxStrcpy((wxChar*)lpDev + lpDev->wDeviceOffset, printerName); + lpDev->wDeviceOffset = (WORD)( lpDev->wDriverOffset + + sizeof(wxChar) * ( driverName.Length() + 1 ) ); + wxStrcpy((wxChar*)((char*)lpDev + lpDev->wDeviceOffset ), printerName); - lpDev->wOutputOffset = (WORD)(lpDev->wDeviceOffset + printerName.Length()+1); - wxStrcpy((wxChar*)lpDev + lpDev->wOutputOffset, portName); + lpDev->wOutputOffset = (WORD)( lpDev->wDeviceOffset + + sizeof(wxChar) * ( printerName.Length() + 1 ) ); + wxStrcpy((wxChar*)((char*) lpDev + lpDev->wOutputOffset ), portName); - lpDev->wDefault = 0; + lpDev->wDefault = 0; GlobalUnlock(hDev); - } - return hDev; + } + + return hDev; } void wxPrintData::ConvertToNative() @@ -338,35 +341,35 @@ void wxPrintData::ConvertToNative() if (!hDevMode) { // Use PRINTDLG as a way of creating a DEVMODE object - PRINTDLG *pd = new PRINTDLG; + PRINTDLG pd; // GNU-WIN32 has the wrong size PRINTDLG - can't work out why. #ifdef __GNUWIN32__ - memset(pd, 0, 66); - pd->lStructSize = 66 ; + memset(&pd, 0, 66); + pd.lStructSize = 66; #else - memset(pd, 0, sizeof(PRINTDLG)); - pd->lStructSize = sizeof(PRINTDLG); + memset(&pd, 0, sizeof(PRINTDLG)); + pd.lStructSize = sizeof(PRINTDLG); #endif - pd->hwndOwner = (HWND)NULL; - pd->hDevMode = NULL; // Will be created by PrintDlg - pd->hDevNames = NULL; // Ditto - pd->hInstance = (HINSTANCE) wxGetInstance(); + pd.hwndOwner = (HWND)NULL; + pd.hDevMode = NULL; // Will be created by PrintDlg + pd.hDevNames = NULL; // Ditto + //pd.hInstance = (HINSTANCE) wxGetInstance(); - pd->Flags = PD_RETURNDEFAULT; - pd->nCopies = 1; + pd.Flags = PD_RETURNDEFAULT; + pd.nCopies = 1; // Fill out the DEVMODE structure // so we can use it as input in the 'real' PrintDlg - if (!PrintDlg(pd)) + if (!PrintDlg(&pd)) { - if ( pd->hDevMode ) - GlobalFree(pd->hDevMode); - if ( pd->hDevNames ) - GlobalFree(pd->hDevNames); - pd->hDevMode = NULL; - pd->hDevNames = NULL; + if ( pd.hDevMode ) + GlobalFree(pd.hDevMode); + if ( pd.hDevNames ) + GlobalFree(pd.hDevNames); + pd.hDevMode = NULL; + pd.hDevNames = NULL; #if defined(__WXDEBUG__) && defined(__WIN32__) wxString str(wxT("Printing error: ")); @@ -376,22 +379,20 @@ void wxPrintData::ConvertToNative() } else { - hDevMode = pd->hDevMode; + hDevMode = pd.hDevMode; m_devMode = (void*)(long) hDevMode; - pd->hDevMode = NULL; + pd.hDevMode = NULL; // We'll create a new DEVNAMEs structure below. - if ( pd->hDevNames ) - GlobalFree(pd->hDevNames); - pd->hDevNames = NULL; + if ( pd.hDevNames ) + GlobalFree(pd.hDevNames); + pd.hDevNames = NULL; // hDevNames = pd->hDevNames; // m_devNames = (void*)(long) hDevNames; // pd->hDevnames = NULL; } - - delete pd; } if ( hDevMode ) @@ -421,12 +422,9 @@ void wxPrintData::ConvertToNative() if (m_printerName != wxT("")) { - // TODO: make this Unicode compatible - int len = wxMin(31, m_printerName.Len()); - int i; - for (i = 0; i < len; i++) - devMode->dmDeviceName[i] = m_printerName.GetChar(i); - devMode->dmDeviceName[i] = 0; + //int len = wxMin(31, m_printerName.Len()); + wxStrncpy((wxChar*)devMode->dmDeviceName,m_printerName.c_str(),31); + devMode->dmDeviceName[31] = wxT('\0'); } //// Colour @@ -443,7 +441,7 @@ void wxPrintData::ConvertToNative() if (m_paperId == wxPAPER_NONE) { - // DEVMODE is in tenths of a milimeter + // DEVMODE is in tenths of a milimeter devMode->dmPaperWidth = m_paperSize.x * 10; devMode->dmPaperLength = m_paperSize.y * 10; devMode->dmPaperSize = DMPAPER_USER; @@ -516,7 +514,7 @@ void wxPrintData::ConvertToNative() } // TODO: I hope it's OK to pass some empty strings to DEVNAMES. - m_devNames = (void*) (long) wxCreateDevNames("", m_printerName, ""); + m_devNames = (void*) (long) wxCreateDevNames(wxT(""), m_printerName, wxT("")); } void wxPrintData::ConvertFromNative() @@ -601,8 +599,8 @@ void wxPrintData::ConvertFromNative() if (paper) { m_paperId = paper->GetId(); - m_paperSize.x = paper->GetWidth() / 10 ; - m_paperSize.y = paper->GetHeight() / 10 ; + m_paperSize.x = paper->GetWidth() / 10; + m_paperSize.y = paper->GetHeight() / 10; } else { @@ -626,7 +624,7 @@ void wxPrintData::ConvertFromNative() } else if ((devMode->dmFields & DM_PAPERWIDTH) && (devMode->dmFields & DM_PAPERLENGTH)) { - // DEVMODE is in tenths of a milimeter + // DEVMODE is in tenths of a milimeter m_paperSize.x = devMode->dmPaperWidth / 10; m_paperSize.y = devMode->dmPaperLength / 10; m_paperId = wxPAPER_NONE; @@ -709,7 +707,7 @@ void wxPrintData::ConvertFromNative() // m_printData.SetPortName((LPSTR)lpDevNames + lpDevNames->wDriverOffset); // Get the printer name - wxString printerName = (LPSTR)lpDevNames + lpDevNames->wDeviceOffset; + wxString printerName = (LPTSTR)lpDevNames + lpDevNames->wDeviceOffset; // Not sure if we should check for this mismatch // wxASSERT_MSG( (m_printerName == "" || (devName == m_printerName)), "Printer name obtained from DEVMODE and DEVNAMES were different!"); @@ -729,7 +727,7 @@ void wxPrintData::ConvertToNative() { #ifdef TARGET_CARBON #else - (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; + (**m_macPrintInfo).prJob.iCopies = m_printNoCopies; #endif } @@ -737,7 +735,7 @@ void wxPrintData::ConvertFromNative() { #ifdef TARGET_CARBON #else - m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; + m_printNoCopies = (**m_macPrintInfo).prJob.iCopies; #endif } #endif @@ -747,8 +745,8 @@ void wxPrintData::operator=(const wxPrintData& data) #ifdef __WXMAC__ #ifdef TARGET_CARBON #else - m_macPrintInfo = data.m_macPrintInfo ; - HandToHand( (Handle*) &m_macPrintInfo ) ; + m_macPrintInfo = data.m_macPrintInfo; + HandToHand( (Handle*) &m_macPrintInfo ); #endif #endif m_printNoCopies = data.m_printNoCopies; @@ -878,11 +876,12 @@ void wxPrintDialogData::ConvertToNative() if (!pd) { pd = new PRINTDLG; + memset( pd, 0, sizeof(PRINTDLG) ); m_printDlgData = (void*) pd; // GNU-WIN32 has the wrong size PRINTDLG - can't work out why. #ifdef __GNUWIN32__ - pd->lStructSize = 66 ; + pd->lStructSize = 66; #else pd->lStructSize = sizeof(PRINTDLG); #endif @@ -925,10 +924,10 @@ void wxPrintDialogData::ConvertToNative() pd->nMaxPage = (WORD)m_printMaxPage; pd->nCopies = (WORD)m_printNoCopies; - pd->Flags = PD_RETURNDC ; + pd->Flags = PD_RETURNDC; #ifdef __GNUWIN32__ - pd->lStructSize = 66 ; + pd->lStructSize = 66; #else pd->lStructSize = sizeof( PRINTDLG ); #endif @@ -998,11 +997,11 @@ void wxPrintDialogData::ConvertFromNative() // into wxWindows form. m_printData.ConvertFromNative(); - m_printFromPage = pd->nFromPage ; - m_printToPage = pd->nToPage ; - m_printMinPage = pd->nMinPage ; - m_printMaxPage = pd->nMaxPage ; - m_printNoCopies = pd->nCopies ; + m_printFromPage = pd->nFromPage; + m_printToPage = pd->nToPage; + m_printMinPage = pd->nMinPage; + m_printMaxPage = pd->nMaxPage; + m_printNoCopies = pd->nCopies; m_printAllPages = ((pd->Flags & PD_ALLPAGES) == PD_ALLPAGES); m_printSelection = ((pd->Flags & PD_SELECTION) == PD_SELECTION); @@ -1037,7 +1036,7 @@ void wxPrintDialogData::SetOwnerWindow(wxWindow* win) if ( m_printDlgData != NULL && win != NULL) { - PRINTDLG *pd = (PRINTDLG *) m_printDlgData ; + PRINTDLG *pd = (PRINTDLG *) m_printDlgData; pd->hwndOwner=(HWND) win->GetHWND(); } } @@ -1048,9 +1047,9 @@ void wxPrintDialogData::ConvertToNative() { #ifdef TARGET_CARBON #else - (**m_printData.m_macPrintInfo).prJob.iFstPage = m_printFromPage ; - (**m_printData.m_macPrintInfo).prJob.iLstPage = m_printToPage ; - m_printData.ConvertToNative() ; + (**m_printData.m_macPrintInfo).prJob.iFstPage = m_printFromPage; + (**m_printData.m_macPrintInfo).prJob.iLstPage = m_printToPage; + m_printData.ConvertToNative(); #endif } @@ -1058,9 +1057,9 @@ void wxPrintDialogData::ConvertFromNative() { #ifdef TARGET_CARBON #else - m_printData.ConvertFromNative() ; - m_printFromPage = (**m_printData.m_macPrintInfo).prJob.iFstPage ; - m_printToPage = (**m_printData.m_macPrintInfo).prJob.iLstPage ; + m_printData.ConvertFromNative(); + m_printFromPage = (**m_printData.m_macPrintInfo).prJob.iFstPage; + m_printToPage = (**m_printData.m_macPrintInfo).prJob.iLstPage; #endif } #endif @@ -1261,7 +1260,7 @@ void wxPageSetupDialogData::ConvertToNative() pd->hwndOwner=(HWND)NULL; // pd->hDevNames=(HWND)NULL; pd->hInstance=(HINSTANCE)NULL; - // PAGESETUPDLG is in hundreds of a mm + // PAGESETUPDLG is in hundreds of a mm pd->ptPaperSize.x = m_paperSize.x * 100; pd->ptPaperSize.y = m_paperSize.y * 100; @@ -1296,7 +1295,7 @@ void wxPageSetupDialogData::ConvertToNative() void wxPageSetupDialogData::ConvertFromNative() { - PAGESETUPDLG *pd = (PAGESETUPDLG *) m_pageSetupData ; + PAGESETUPDLG *pd = (PAGESETUPDLG *) m_pageSetupData; if ( !pd ) return; @@ -1338,7 +1337,7 @@ void wxPageSetupDialogData::ConvertFromNative() m_getDefaultInfo = ((pd->Flags & PSD_RETURNDEFAULT) == PSD_RETURNDEFAULT); m_enableHelp = ((pd->Flags & PSD_SHOWHELP) == PSD_SHOWHELP); - // PAGESETUPDLG is in hundreds of a mm + // PAGESETUPDLG is in hundreds of a mm m_paperSize.x = pd->ptPaperSize.x / 100; m_paperSize.y = pd->ptPaperSize.y / 100; @@ -1347,10 +1346,10 @@ void wxPageSetupDialogData::ConvertFromNative() m_minMarginBottomRight.x = pd->rtMinMargin.right / 100; m_minMarginBottomRight.y = pd->rtMinMargin.bottom / 100; - m_marginTopLeft.x = pd->rtMargin.left / 100 ; - m_marginTopLeft.y = pd->rtMargin.top / 100 ; - m_marginBottomRight.x = pd->rtMargin.right / 100 ; - m_marginBottomRight.y = pd->rtMargin.bottom / 100 ; + m_marginTopLeft.x = pd->rtMargin.left / 100; + m_marginTopLeft.y = pd->rtMargin.top / 100; + m_marginBottomRight.x = pd->rtMargin.right / 100; + m_marginBottomRight.y = pd->rtMargin.bottom / 100; } void wxPageSetupDialogData::SetOwnerWindow(wxWindow* win) @@ -1360,7 +1359,7 @@ void wxPageSetupDialogData::SetOwnerWindow(wxWindow* win) if ( m_pageSetupData != NULL && win != NULL) { - PAGESETUPDLG *pd = (PAGESETUPDLG *) m_pageSetupData ; + PAGESETUPDLG *pd = (PAGESETUPDLG *) m_pageSetupData; pd->hwndOwner=(HWND) win->GetHWND(); } } @@ -1369,52 +1368,52 @@ void wxPageSetupDialogData::SetOwnerWindow(wxWindow* win) #ifdef __WXMAC__ void wxPageSetupDialogData::ConvertToNative() { - m_printData.ConvertToNative() ; - // on mac the paper rect has a negative top left corner, because the page rect (printable area) is at 0,0 + m_printData.ConvertToNative(); + // on mac the paper rect has a negative top left corner, because the page rect (printable area) is at 0,0 #ifdef TARGET_CARBON #else - (**m_printData.m_macPrintInfo).rPaper.left = int( ((double) m_minMarginTopLeft.x)*mm2pt ) ; - (**m_printData.m_macPrintInfo).rPaper.top = int( ((double) m_minMarginTopLeft.y)*mm2pt ) ; - - (**m_printData.m_macPrintInfo).rPaper.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x)*mm2pt ) ; - (**m_printData.m_macPrintInfo).rPaper.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y)*mm2pt ) ; - - (**m_printData.m_macPrintInfo).prInfo.rPage.left = 0 ; - (**m_printData.m_macPrintInfo).prInfo.rPage.top = 0 ; - (**m_printData.m_macPrintInfo).prInfo.rPage.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x - m_minMarginBottomRight.x)*mm2pt ) ; - (**m_printData.m_macPrintInfo).prInfo.rPage.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y - m_minMarginBottomRight.y)*mm2pt ) ; + (**m_printData.m_macPrintInfo).rPaper.left = int( ((double) m_minMarginTopLeft.x)*mm2pt ); + (**m_printData.m_macPrintInfo).rPaper.top = int( ((double) m_minMarginTopLeft.y)*mm2pt ); + + (**m_printData.m_macPrintInfo).rPaper.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x)*mm2pt ); + (**m_printData.m_macPrintInfo).rPaper.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y)*mm2pt ); + + (**m_printData.m_macPrintInfo).prInfo.rPage.left = 0; + (**m_printData.m_macPrintInfo).prInfo.rPage.top = 0; + (**m_printData.m_macPrintInfo).prInfo.rPage.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x - m_minMarginBottomRight.x)*mm2pt ); + (**m_printData.m_macPrintInfo).prInfo.rPage.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y - m_minMarginBottomRight.y)*mm2pt ); #endif } void wxPageSetupDialogData::ConvertFromNative() { - m_printData.ConvertFromNative () ; + m_printData.ConvertFromNative (); #ifdef TARGET_CARBON #else - m_paperSize.x = ((double) (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).rPaper.left ) * pt2mm ; - m_paperSize.y = ((double) (**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).rPaper.top ) * pt2mm ; - - m_minMarginTopLeft.x = ((double) -(**m_printData.m_macPrintInfo).rPaper.left ) * pt2mm ; - m_minMarginTopLeft.y = ((double) -(**m_printData.m_macPrintInfo).rPaper.top ) * pt2mm ; - - m_minMarginBottomRight.x = ((double) (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).prInfo.rPage.right ) * pt2mm ; - m_minMarginBottomRight.y = ((double)(**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).prInfo.rPage.bottom ) * pt2mm ; + m_paperSize.x = ((double) (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).rPaper.left ) * pt2mm; + m_paperSize.y = ((double) (**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).rPaper.top ) * pt2mm; + + m_minMarginTopLeft.x = ((double) -(**m_printData.m_macPrintInfo).rPaper.left ) * pt2mm; + m_minMarginTopLeft.y = ((double) -(**m_printData.m_macPrintInfo).rPaper.top ) * pt2mm; + + m_minMarginBottomRight.x = ((double) (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).prInfo.rPage.right ) * pt2mm; + m_minMarginBottomRight.y = ((double)(**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).prInfo.rPage.bottom ) * pt2mm; #endif - // adjust minimal values - //TODO add custom fields in dialog for margins - - if ( m_marginTopLeft.x < m_minMarginTopLeft.x ) - m_marginTopLeft.x = m_minMarginTopLeft.x ; - - if ( m_marginBottomRight.x < m_minMarginBottomRight.x ) - m_marginBottomRight.x = m_minMarginBottomRight.x ; - - if ( m_marginTopLeft.y < m_minMarginTopLeft.y ) - m_marginTopLeft.y = m_minMarginTopLeft.y ; - - if ( m_marginBottomRight.y < m_minMarginBottomRight.y ) - m_marginBottomRight.y = m_minMarginBottomRight.y ; + // adjust minimal values + //TODO add custom fields in dialog for margins + + if ( m_marginTopLeft.x < m_minMarginTopLeft.x ) + m_marginTopLeft.x = m_minMarginTopLeft.x; + + if ( m_marginBottomRight.x < m_minMarginBottomRight.x ) + m_marginBottomRight.x = m_minMarginBottomRight.x; + + if ( m_marginTopLeft.y < m_minMarginTopLeft.y ) + m_marginTopLeft.y = m_minMarginTopLeft.y; + + if ( m_marginBottomRight.y < m_minMarginBottomRight.y ) + m_marginBottomRight.y = m_minMarginBottomRight.y; } #endif diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 888fabd96c..a377d28958 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -78,6 +78,7 @@ #endif // native Win compiler #ifdef __GNUWIN32__ + #include #ifndef __TWIN32__ #include #endif @@ -1113,7 +1114,10 @@ wxRenameFile (const wxString& file1, const wxString& file2) bool wxRemoveFile(const wxString& file) { -#if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__) +#if defined(__VISUALC__) \ + || defined(__BORLANDC__) \ + || defined(__WATCOMC__) \ + || defined(__GNUWIN32__) int res = wxRemove(file); #else int res = unlink(OS_FILENAME(file)); diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp index a233f0f206..bbbcefc57d 100644 --- a/src/common/prntbase.cpp +++ b/src/common/prntbase.cpp @@ -115,7 +115,7 @@ wxWindow *wxPrinterBase::CreateAbortWindow(wxWindow *parent, wxPrintout *WXUNUSE return dialog; } -void wxPrinterBase::ReportError(wxWindow *parent, wxPrintout *WXUNUSED(printout), char *message) +void wxPrinterBase::ReportError(wxWindow *parent, wxPrintout *WXUNUSED(printout), const wxString& message) { wxMessageBox(message, _("Printing Error"), wxOK, parent); } diff --git a/src/generic/gridctrl.cpp b/src/generic/gridctrl.cpp index f1cb66b99b..6a6076ace6 100644 --- a/src/generic/gridctrl.cpp +++ b/src/generic/gridctrl.cpp @@ -265,7 +265,7 @@ bool wxGridCellEnumEditor::EndEdit(int row, int col, wxGrid* grid) if (grid->GetTable()->CanSetValueAs(row, col, wxGRID_VALUE_NUMBER)) grid->GetTable()->SetValueAsLong(row, col, pos); else - grid->GetTable()->SetValue(row, col,wxString::Format("%i",pos)); + grid->GetTable()->SetValue(row, col,wxString::Format(wxT("%i"),pos)); } return changed; diff --git a/src/html/htmltag.cpp b/src/html/htmltag.cpp index efc57a674d..56cb687606 100644 --- a/src/html/htmltag.cpp +++ b/src/html/htmltag.cpp @@ -215,7 +215,7 @@ bool wxHtmlTag::HasParam(const wxString& par) const { const wxChar *st = m_Params, *p = par; const wxChar *st2, *p2; - const wxChar invalid = wxT(1); + const wxChar invalid = wxT('\1'); if (*st == 0) return FALSE; if (*p == 0) return FALSE; @@ -249,7 +249,7 @@ wxString wxHtmlTag::GetParam(const wxString& par, bool with_commas) const { const wxChar *st = m_Params, *p = par; const wxChar *st2, *p2; - const wxChar invalid = wxT(1); + const wxChar invalid = wxT('\1'); bool comma; wxChar comma_char; @@ -315,7 +315,7 @@ wxString wxHtmlTag::GetParam(const wxString& par, bool with_commas) const int wxHtmlTag::ScanParam(const wxString& par, wxChar *format, void *param) const { wxString parval = GetParam(par); - return wxSscanf((const wxChar*)parval, format, param); + return wxSscanf(parval, format, param); } #endif diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp index c77f88f080..6394049218 100644 --- a/src/msw/dcprint.cpp +++ b/src/msw/dcprint.cpp @@ -224,16 +224,18 @@ static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName) deviceName.clear(); LPDEVNAMES lpDevNames; - LPSTR lpszDriverName; - LPSTR lpszDeviceName; - LPSTR lpszPortName; + LPTSTR lpszDriverName; + LPTSTR lpszDeviceName; + LPTSTR lpszPortName; PRINTDLG pd; // Cygwin has trouble believing PRINTDLG is 66 bytes - thinks it is 68 #ifdef __GNUWIN32__ + memset(&pd, 0, 66); pd.lStructSize = 66; // sizeof(PRINTDLG); #else + memset(&pd, 0, sizeof(PRINTDLG)); pd.lStructSize = sizeof(PRINTDLG); #endif @@ -256,9 +258,9 @@ static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName) if (pd.hDevNames) { lpDevNames = (LPDEVNAMES)GlobalLock(pd.hDevNames); - lpszDriverName = (LPSTR)lpDevNames + lpDevNames->wDriverOffset; - lpszDeviceName = (LPSTR)lpDevNames + lpDevNames->wDeviceOffset; - lpszPortName = (LPSTR)lpDevNames + lpDevNames->wOutputOffset; + lpszDriverName = (LPTSTR)lpDevNames + lpDevNames->wDriverOffset; + lpszDeviceName = (LPTSTR)lpDevNames + lpDevNames->wDeviceOffset; + lpszPortName = (LPTSTR)lpDevNames + lpDevNames->wOutputOffset; deviceName = lpszDeviceName; portName = lpszPortName; diff --git a/src/msw/fontenum.cpp b/src/msw/fontenum.cpp index ca84524de7..431c2eae92 100644 --- a/src/msw/fontenum.cpp +++ b/src/msw/fontenum.cpp @@ -135,7 +135,7 @@ bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding) #if defined(__GNUWIN32__) #if wxUSE_NORLANDER_HEADERS - #define wxFONTENUMPROC int(*)(const LOGFONTA *, const TEXTMETRICA *, long unsigned int, LPARAM) + #define wxFONTENUMPROC int(*)(const LOGFONT *, const TEXTMETRIC *, long unsigned int, LPARAM) #else #define wxFONTENUMPROC int(*)(ENUMLOGFONTEX *, NEWTEXTMETRICEX*, int, LPARAM) #endif diff --git a/src/msw/ole/dropsrc.cpp b/src/msw/ole/dropsrc.cpp index 8442255fe4..2439f0d542 100644 --- a/src/msw/ole/dropsrc.cpp +++ b/src/msw/ole/dropsrc.cpp @@ -222,7 +222,7 @@ wxDragResult wxDropSource::DoDragDrop(bool bAllowMove) } else { if ( FAILED(hr) ) { - wxLogApiError("DoDragDrop", hr); + wxLogApiError(wxT("DoDragDrop"), hr); wxLogError(wxT("Drag & drop operation failed.")); } else { diff --git a/src/msw/ole/droptgt.cpp b/src/msw/ole/droptgt.cpp index 99db777028..aeb5185577 100644 --- a/src/msw/ole/droptgt.cpp +++ b/src/msw/ole/droptgt.cpp @@ -305,7 +305,7 @@ bool wxDropTarget::Register(WXHWND hwnd) { HRESULT hr = ::CoLockObjectExternal(m_pIDropTarget, TRUE, FALSE); if ( FAILED(hr) ) { - wxLogApiError("CoLockObjectExternal", hr); + wxLogApiError(wxT("CoLockObjectExternal"), hr); return FALSE; } @@ -313,7 +313,7 @@ bool wxDropTarget::Register(WXHWND hwnd) if ( FAILED(hr) ) { ::CoLockObjectExternal(m_pIDropTarget, FALSE, FALSE); - wxLogApiError("RegisterDragDrop", hr); + wxLogApiError(wxT("RegisterDragDrop"), hr); return FALSE; } @@ -328,7 +328,7 @@ void wxDropTarget::Revoke(WXHWND hwnd) HRESULT hr = ::RevokeDragDrop((HWND) hwnd); if ( FAILED(hr) ) { - wxLogApiError("RevokeDragDrop", hr); + wxLogApiError(wxT("RevokeDragDrop"), hr); } ::CoLockObjectExternal(m_pIDropTarget, FALSE, TRUE); -- 2.45.2