From 4efd425972ac106a30c3c42a8ec78aa38a59c064 Mon Sep 17 00:00:00 2001 From: David Webster Date: Mon, 19 Aug 2002 22:22:31 +0000 Subject: [PATCH] Weekly updates and file dialog implementation git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/os2/filedlg.cpp | 569 ++++++++++++++++++++++++++++++++++---------- src/os2/wx23.def | 88 +------ 2 files changed, 453 insertions(+), 204 deletions(-) diff --git a/src/os2/filedlg.cpp b/src/os2/filedlg.cpp index aee711ce99..21c89aaa91 100644 --- a/src/os2/filedlg.cpp +++ b/src/os2/filedlg.cpp @@ -17,14 +17,13 @@ #endif #ifndef WX_PRECOMP - #include - #include "wx/defs.h" #include "wx/utils.h" #include "wx/msgdlg.h" #include "wx/dialog.h" #include "wx/filedlg.h" #include "wx/intl.h" #include "wx/log.h" + #include "wx/app.h" #endif #define INCL_PM @@ -36,158 +35,486 @@ #include #include +#include "wx/tokenzr.h" + +#define wxMAXPATH 1024 +#define wxMAXFILE 1024 +#define wxMAXEXT 5 + +#ifndef MAXPATH +# define MAXPATH 400 +#endif + +#ifndef MAXDRIVE +# define MAXDRIVE 3 +#endif + +#ifndef MAXFILE +# define MAXFILE 9 +#endif + +#ifndef MAXEXT +# define MAXEXT 5 +#endif IMPLEMENT_CLASS(wxFileDialog, wxDialog) -wxString wxFileSelector( const char* title - ,const char* defaultDir - ,const char* defaultFileName - ,const char* defaultExtension - ,const char* filter - ,int flags - ,wxWindow* parent - ,int x - ,int y - ) +// ---------------------------------------------------------------------------- +// global functions +// ---------------------------------------------------------------------------- + +wxString wxFileSelector( + const char* pzTitle +, const char* pzDefaultDir +, const char* pzDefaultFileName +, const char* pzDefaultExtension +, const char* pzFilter +, int nFlags +, wxWindow* pParent +, int nX +, int nY +) { - // If there's a default extension specified but no filter, we create a suitable - // filter. - - wxString filter2(""); - if ( defaultExtension && !filter ) - filter2 = wxString("*.") + wxString(defaultExtension) ; - else if ( filter ) - filter2 = filter; - - wxString defaultDirString; - if (defaultDir) - defaultDirString = defaultDir; + wxString sFilter(""); + wxString sDefaultDirString; + wxString sDefaultFilenameString; + + // + // If there's a default extension specified but no filter, we create + // a suitable filter. + // + if (pzDefaultExtension && !pzFilter) + sFilter = wxString("*.") + wxString(pzDefaultExtension); + else if (pzFilter) + sFilter = pzFilter; + + if (pzDefaultDir) + sDefaultDirString = pzDefaultDir; else - defaultDirString = ""; + sDefaultDirString = ""; - wxString defaultFilenameString; - if (defaultFileName) - defaultFilenameString = defaultFileName; + if (pzDefaultFileName) + sDefaultFilenameString = pzDefaultFileName; else - defaultFilenameString = ""; + sDefaultFilenameString = ""; + + wxFileDialog vFileDialog( pParent + ,pzTitle + ,sDefaultDirString + ,sDefaultFilenameString + ,sFilter + ,nFlags + ,wxPoint(nX, nY) + ); + + if (wxStrlen(pzDefaultExtension) != 0) + { + int nFilterFind = 0; + int nFilterIndex = 0; + + for (unsigned int i = 0; i < sFilter.Len(); i++) + { + if (sFilter.GetChar(i) == wxT('|')) + { + // + // Save the start index of the new filter + unsigned int uIs = i++; - wxFileDialog fileDialog(parent, title, defaultDirString, defaultFilenameString, filter2, flags, wxPoint(x, y)); + // + // Find the end of the filter + // + for(; i < sFilter.Len(); i++) + { + if(sFilter[i] == wxT('|')) + break; + } - if ( fileDialog.ShowModal() == wxID_OK ) + if( i - uIs - 1 > 0 && uIs + 1 < sFilter.Len() ) + { + if(sFilter.Mid(uIs + 1, i - uIs - 1).Contains(pzDefaultExtension)) + { + nFilterFind = nFilterIndex; + break; + } + } + nFilterIndex++; + } + } + vFileDialog.SetFilterIndex(nFilterFind); + } + if (vFileDialog.ShowModal() == wxID_OK) { - return fileDialog.GetPath(); + return vFileDialog.GetPath(); } else return wxEmptyString; -} - -# ifndef MAXPATH -# define MAXPATH 400 -# endif - -# ifndef MAXDRIVE -# define MAXDRIVE 3 -# endif - -# ifndef MAXFILE -# define MAXFILE 9 -# endif - -# ifndef MAXEXT -# define MAXEXT 5 -# endif - -wxString wxFileSelectorEx( const char* title - ,const char* defaultDir - ,const char* defaultFileName - ,int* defaultFilterIndex - ,const char* filter - ,int flags - ,wxWindow* parent - ,int x - ,int y - ) +} // end of wxFileSelector + +wxString wxFileSelectorEx ( + const char* pzTitle +, const char* pzDefaultDir +, const char* pzDefaultFileName +, int* pnDefaultFilterIndex +, const char* pzFilter +, int nFlags +, wxWindow* pParent +, int nX +, int nY +) { - wxFileDialog fileDialog(parent, title ? title : "", defaultDir ? defaultDir : "", - defaultFileName ? defaultFileName : "", filter ? filter : "", flags, wxPoint(x, y)); + wxFileDialog vFileDialog( pParent + ,pzTitle ? pzTitle : "" + ,pzDefaultDir ? pzDefaultDir : "" + ,pzDefaultFileName ? pzDefaultFileName : "" + ,pzFilter ? pzFilter : "" + ,nFlags + ,wxPoint(nX, nY) + ); - if ( fileDialog.ShowModal() == wxID_OK ) + if (vFileDialog.ShowModal() == wxID_OK) { - *defaultFilterIndex = fileDialog.GetFilterIndex(); - return fileDialog.GetPath(); + *pnDefaultFilterIndex = vFileDialog.GetFilterIndex(); + return vFileDialog.GetPath(); } else return wxEmptyString; -} - -wxFileDialog::wxFileDialog( wxWindow* parent - ,const wxString& message - ,const wxString& defaultDir - ,const wxString& defaultFileName - ,const wxString& wildCard - ,long style - ,const wxPoint& pos - ) +} // end of wxFileSelectorEx + +// ---------------------------------------------------------------------------- +// CLASS wxFileDialog +// ---------------------------------------------------------------------------- + +wxFileDialog::wxFileDialog ( + wxWindow* pParent +, const wxString& rsMessage +, const wxString& rsDefaultDir +, const wxString& rsDefaultFileName +, const wxString& rsWildCard +, long lStyle +, const wxPoint& rPos +) { - m_message = message; - m_dialogStyle = style; - m_parent = parent; - m_path = ""; - m_fileName = defaultFileName; - m_dir = defaultDir; - m_wildCard = wildCard; - m_filterIndex = 1; -} + m_sMessage = rsMessage; + m_lDialogStyle = lStyle; + if ((m_lDialogStyle & wxMULTIPLE) && (m_lDialogStyle & wxSAVE)) + m_lDialogStyle &= ~wxMULTIPLE; + m_pParent = pParent; + m_sPath = ""; + m_sFileName = rsDefaultFileName; + m_sDir = rsDefaultDir; + m_sWildCard = rsWildCard; + m_nFilterIndex = 1; + m_vPos = rPos; +} // end of wxFileDialog::wxFileDialog + +void wxFileDialog::GetPaths ( + wxArrayString& rasPaths +) const +{ + wxString sDir(m_sDir); + size_t nCount = m_asFileNames.GetCount(); + + rasPaths.Empty(); + if (m_sDir.Last() != _T('\\')) + sDir += _T('\\'); + + for ( size_t n = 0; n < nCount; n++ ) + { + rasPaths.Add(sDir + m_asFileNames[n]); + } +} // end of wxFileDialog::GetPaths int wxFileDialog::ShowModal() { - // TODO + wxString sTheFilter; + wxString sFilterBuffer; + static wxChar zFileNameBuffer[wxMAXPATH]; // the file-name + HWND hWnd = 0; + wxChar zTitleBuffer[wxMAXFILE + 1 + wxMAXEXT]; // the file-name, without path + wxString sDir; + size_t i; + size_t nLen = m_sDir.length(); + FILEDLG vFileDlg; + ULONG lFlags = 0L; + + memset(&vFileDlg, '\0', sizeof(FILEDLG)); + if (m_pParent) + hWnd = (HWND) m_pParent->GetHWND(); + if (!hWnd && wxTheApp->GetTopWindow()) + hWnd = (HWND) wxTheApp->GetTopWindow()->GetHWND(); + + + *zFileNameBuffer = wxT('\0'); + *zTitleBuffer = wxT('\0'); + + m_lDialogStyle & wxSAVE ? lFlags != FDS_SAVEAS_DIALOG + : FDS_OPEN_DIALOG + ; + if ((m_lDialogStyle & wxHIDE_READONLY) || (m_lDialogStyle & wxSAVE)) + lFlags |= FDS_SAVEAS_DIALOG; + if (m_lDialogStyle & wxMULTIPLE ) + lFlags |= FDS_OPEN_DIALOG | FDS_MULTIPLESEL; + + vFileDlg.cbSize = sizeof(FILEDLG); + vFileDlg.fl = lFlags; + vFileDlg.pszTitle = zTitleBuffer; + + // + // Convert forward slashes to backslashes (file selector doesn't like + // forward slashes) and also squeeze multiple consecutive slashes into one + // as it doesn't like two backslashes in a row neither + // + sDir.reserve(nLen); + for ( i = 0; i < nLen; i++ ) + { + wxChar ch = m_sDir[i]; + + switch (ch) + { + case _T('/'): + // + // Convert to backslash + // + ch = _T('\\'); + + // + // Fall through + // + case _T('\\'): + while (i < nLen - 1) + { + wxChar chNext = m_sDir[i + 1]; + + if (chNext != _T('\\') && chNext != _T('/')) + break; + + // + // Ignore the next one, unless it is at the start of a UNC path + // + if (i > 0) + i++; + else + break; + } + + // + // Fall through + // + + default: + // + // Normal char + sDir += ch; + } + } + if ( wxStrlen(m_sWildCard) == 0 ) + sTheFilter = ""; + else + sTheFilter = m_sWildCard ; + + if (!wxStrchr(sTheFilter, wxT('|') ) ) + { + // + // Only one filter ==> default text + // + sFilterBuffer.Printf( _("Files (%s)|%s") + ,sTheFilter.c_str() + ,sTheFilter.c_str() + ); + } + else + { // more then one filter + sFilterBuffer = sTheFilter; + } + + sFilterBuffer += wxT("|"); + + // + // Replace | with \0 + // + for (i = 0; i < sFilterBuffer.Len(); i++ ) + { + if (sFilterBuffer.GetChar(i) == wxT('|')) + { + sFilterBuffer[i] = wxT('\0'); + } + } + if (!sTheFilter.IsEmpty()) + sDir += sTheFilter; + else + sDir += m_sFileName; + wxStrcpy(vFileDlg.szFullFile, sDir.c_str()); + + hWnd = ::WinFileDlg( GetHwndOf(m_pParent) + ,GetHwndOf(m_pParent) + ,&vFileDlg + ); + if (hWnd && vFileDlg.lReturn == DID_OK) + { + m_asFileNames.Empty(); + if ((m_lDialogStyle & wxMULTIPLE ) && vFileDlg.ulFQFCount > 1) + { + for (int i = 0; i < vFileDlg.ulFQFCount; i++) + { + if (i == 0) + { + m_sDir = wxPathOnly(wxString((const char*)vFileDlg.papszFQFilename[i])); + m_sPath = (const char*)vFileDlg.papszFQFilename[i]; + } + m_sFileName = wxFileNameFromPath(wxString((const char*)vFileDlg.papszFQFilename[i])); + m_asFileNames.Add(m_sFileName); + } + } + else if (!m_lDialogStyle & wxSAVE) + { + m_sPath = vFileDlg.szFullFile; + m_sFileName = wxFileNameFromPath(vFileDlg.szFullFile); + m_sDir = wxPathOnly(vFileDlg.szFullFile); + } + else // save file + { + const wxChar* pzExtension = NULL; + + wxStrcpy(zFileNameBuffer, vFileDlg.szFullFile); + + int nIdx = wxStrlen(zFileNameBuffer) - 1; + + if (zFileNameBuffer[nIdx] == wxT('.') ) + { + zFileNameBuffer[nIdx] = wxT('\0'); + + // + // User has typed a filename without an extension: + // + // A filename can end in a "." here ("abc."), this means it + // does not have an extension. Because later on a "." with + // the default extension is appended we remove the "." if + // filename ends with one (We don't want files called + // "abc..ext") + // + pzExtension = sFilterBuffer.c_str(); + + for( int i = 0; i < sFilterBuffer.length(); i++ ) + { + // + // Get extension + // + pzExtension = wxStrrchr(pzExtension, wxT('.')); + if ( pzExtension && + !wxStrrchr(pzExtension, wxT('*')) && + !wxStrrchr(pzExtension, wxT('?')) && + pzExtension[1] && + pzExtension[1] != wxT(' ') + ) // != "blabla. " + { + // + // Now concat extension to the fileName: + // + m_sPath = wxString(zFileNameBuffer) + pzExtension; + } + } + } + else + { + m_sPath = vFileDlg.szFullFile; + } + m_sFileName = wxFileNameFromPath(vFileDlg.szFullFile); + m_sDir = wxPathOnly(vFileDlg.szFullFile); + + // + // === Simulating the wxOVERWRITE_PROMPT >>============================ + // + if ((m_lDialogStyle & wxOVERWRITE_PROMPT) && + (m_lDialogStyle & wxSAVE) && + (wxFileExists(m_sPath.c_str()))) + { + wxString sMessageText; + + sMessageText.Printf( _("File '%s' already exists.\nDo you want to replace it?") + ,m_sPath.c_str() + ); + if (wxMessageBox( sMessageText + ,wxT("Save File As") + ,wxYES_NO | wxICON_EXCLAMATION + ) != wxYES) + { + return wxID_CANCEL; + } + } + } + return wxID_OK; + } return wxID_CANCEL; -} +} // end of wxFileDialog::ShowModal +// // Generic file load/save dialog -static wxString wxDefaultFileSelector( bool load - ,const char* what - ,const char* extension - ,const char* default_name - ,wxWindow* parent - ) +// +static wxString wxDefaultFileSelector ( + bool bLoad +, const char* pzWhat +, const char* pzExtension +, const char* pzDefaultName +, wxWindow* pParent +) { - char *ext = (char *)extension; - - char prompt[50]; - wxString str; - if (load) - str = "Load %s file"; - else - str = "Save %s file"; - sprintf(prompt, wxGetTranslation(str), what); + char* pzExt = (char *)pzExtension; + char zPrompt[50]; + wxString sStr; + char zWild[60]; - if (*ext == '.') ext++; - char wild[60]; - sprintf(wild, "*.%s", ext); + if (bLoad) + sStr = "Load %s file"; + else + sStr = "Save %s file"; + sprintf(zPrompt, wxGetTranslation(sStr), pzWhat); - return wxFileSelector (prompt, NULL, default_name, ext, wild, 0, parent); -} + if (*pzExt == '.') + pzExt++; + sprintf(zWild, "*.%s", pzExt); + return wxFileSelector ( zPrompt + ,NULL + ,pzDefaultName + ,pzExt + ,zWild + ,0 + ,pParent + ); +} // end of wxDefaultFileSelector +// // Generic file load dialog -wxString wxLoadFileSelector( const char* what - ,const char* extension - ,const char* default_name - ,wxWindow* parent - ) +// +wxString wxLoadFileSelector ( + const char* pzWhat +, const char* pzExtension +, const char* pzDefaultName +, wxWindow* pParent +) { - return wxDefaultFileSelector(TRUE, what, extension, default_name, parent); -} + return wxDefaultFileSelector( TRUE + ,pzWhat + ,pzExtension + ,pzDefaultName + ,pParent + ); +} // end of wxLoadFileSelector +// // Generic file save dialog -wxString wxSaveFileSelector( const char* what - ,const char* extension - ,const char* default_name - ,wxWindow* parent - ) +// +wxString wxSaveFileSelector ( + const char* pzWhat +, const char* pzExtension +, const char* pzDefaultName +, wxWindow* pParent +) { - return wxDefaultFileSelector(FALSE, what, extension, default_name, parent); -} - + return wxDefaultFileSelector( FALSE + ,pzWhat + ,pzExtension + ,pzDefaultName + ,pParent + ); +} // end of wxSaveFileSelector diff --git a/src/os2/wx23.def b/src/os2/wx23.def index 300a3b0e50..4235f92b8f 100644 --- a/src/os2/wx23.def +++ b/src/os2/wx23.def @@ -4,7 +4,7 @@ DATA MULTIPLE NONSHARED READWRITE LOADONCALL CODE LOADONCALL EXPORTS -;From library: F:\DEV\WX2\WXWINDOWS\LIB\wx.lib +;From library: H:\DEV\WX2\WXWINDOWS\LIB\wx.lib ;From object file: dummy.cpp ;PUBDEFs (Symbols available from object file): wxDummyChar @@ -303,8 +303,6 @@ EXPORTS __ct__21wxPageSetupDialogDataFRC21wxPageSetupDialogData ;wxColourData::wxColourData(const wxColourData&) __ct__12wxColourDataFRC12wxColourData - ;wxPrintData::operator=(const wxPrintSetupData&) - __as__11wxPrintDataFRC16wxPrintSetupData ;wxPrintData::~wxPrintData() __dt__11wxPrintDataFv ;wxConstructorForwxPrintDialogData() @@ -1963,7 +1961,7 @@ EXPORTS wxEVT_NC_LEFT_DCLICK wxEVT_INIT_DIALOG wxEVT_COMMAND_SET_FOCUS - ;From object file: F:\DEV\WX2\WXWINDOWS\src\common\extended.c + ;From object file: H:\DEV\WX2\WXWINDOWS\src\common\extended.c ;PUBDEFs (Symbols available from object file): ConvertToIeeeExtended ConvertFromIeeeExtended @@ -6238,7 +6236,7 @@ EXPORTS Read32__17wxTextInputStreamFv ;wxTextInputStream::SkipIfEndOfLine(char) SkipIfEndOfLine__17wxTextInputStreamFc - ;From object file: F:\DEV\WX2\WXWINDOWS\src\common\unzip.c + ;From object file: H:\DEV\WX2\WXWINDOWS\src\common\unzip.c ;PUBDEFs (Symbols available from object file): unzReadCurrentFile unzGetCurrentFileInfo @@ -7718,41 +7716,20 @@ EXPORTS __dt__17wxBufferedPaintDCFv ;From object file: ..\generic\dcpsg.cpp ;PUBDEFs (Symbols available from object file): - __vft23wxPostScriptPrintDialog8wxObject ;wxPostScriptDC::wxPostScriptDC(const wxPrintData&) __ct__14wxPostScriptDCFRC11wxPrintData - ;wxGetPrinterScaling(double*,double*) - wxGetPrinterScaling__FPdT1 - ;wxPostScriptPrintDialog::wxPostScriptPrintDialog(wxWindow*,const wxString&,const wxPoint&,const wxSize&,int) - __ct__23wxPostScriptPrintDialogFP8wxWindowRC8wxStringRC7wxPointRC6wxSizei ;wxPostScriptDC::DoDrawPoint(int,int) DoDrawPoint__14wxPostScriptDCFiT1 ;wxPostScriptDC::DoDrawLines(int,wxPoint*,int,int) DoDrawLines__14wxPostScriptDCFiP7wxPointN21 ;wxPostScriptDC::DoDrawEllipse(int,int,int,int) DoDrawEllipse__14wxPostScriptDCFiN31 - ;wxPostScriptPrintDialog::ShowModal() - ShowModal__23wxPostScriptPrintDialogFv - ;wxGetPrinterCommand() - wxGetPrinterCommand__Fv - ;wxGetPrintPreviewCommand() - wxGetPrintPreviewCommand__Fv - ;wxPrintSetupData::~wxPrintSetupData() - __dt__16wxPrintSetupDataFv ;wxPostScriptDC::StartPage() StartPage__14wxPostScriptDCFv - ;wxPostScriptModule::OnInit() - OnInit__18wxPostScriptModuleFv ;wxPostScriptDC::GetCharHeight() const GetCharHeight__14wxPostScriptDCCFv ;wxPostScriptDC::EndPage() EndPage__14wxPostScriptDCFv - ;wxPostScriptDC::Create(const wxString&,unsigned long,wxWindow*) - Create__14wxPostScriptDCFRC8wxStringUlP8wxWindow - ;wxSetPrinterFile(const wxString&) - wxSetPrinterFile__FRC8wxString - ;wxSetAFMPath(const wxString&) - wxSetAFMPath__FRC8wxString ;wxPostScriptDC::DoDrawRotatedText(const wxString&,int,int,double) DoDrawRotatedText__14wxPostScriptDCFRC8wxStringiT2d __vft14wxPostScriptDC8wxObject @@ -7762,17 +7739,6 @@ EXPORTS DoDrawSpline__14wxPostScriptDCFP6wxList ;wxPostScriptDC::DoSetClippingRegion(int,int,int,int) DoSetClippingRegion__14wxPostScriptDCFiN31 - wxThePrintSetupData - ;wxSetPrinterMode(int) - wxSetPrinterMode__Fi - ;wxGetPrinterTranslation(int*,int*) - wxGetPrinterTranslation__FPiT1 - ;wxPrintSetupData::sm_classwxPrintSetupData - sm_classwxPrintSetupData__16wxPrintSetupData - ;wxPrintSetupData::operator=(const wxPrintData&) - __as__16wxPrintSetupDataFRC11wxPrintData - ;wxPrintSetupData::operator=(wxPrintSetupData&) - __as__16wxPrintSetupDataFR16wxPrintSetupData ;wxPostScriptDC::SetLogicalFunction(int) SetLogicalFunction__14wxPostScriptDCFi ;wxPostScriptDC::DoGetSizeMM(int*,int*) const @@ -7783,21 +7749,10 @@ EXPORTS DoDrawLine__14wxPostScriptDCFiN31 ;wxPostScriptDC::DoGetPixel(int,int,wxColour*) const DoGetPixel__14wxPostScriptDCCFiT1P8wxColour - ;wxConstructorForwxPostScriptModule() - wxConstructorForwxPostScriptModule__Fv - ;wxPostScriptDC::wxPostScriptDC(const wxString&,unsigned long,wxWindow*) - __ct__14wxPostScriptDCFRC8wxStringUlP8wxWindow ;wxPostScriptDC::DoDrawRoundedRectangle(int,int,int,int,double) DoDrawRoundedRectangle__14wxPostScriptDCFiN31d - ;wxInitializePrintSetupData(unsigned long) - wxInitializePrintSetupData__FUl - __vft18wxPostScriptModule8wxObject ;wxPostScriptDC::SetResolution(int) SetResolution__14wxPostScriptDCFi - ;wxSetPrinterScaling(double,double) - wxSetPrinterScaling__FdT1 - ;wxPostScriptModule::sm_classwxPostScriptModule - sm_classwxPostScriptModule__18wxPostScriptModule ;wxPostScriptDC::SetDeviceOrigin(int,int) SetDeviceOrigin__14wxPostScriptDCFiT1 ;wxPostScriptDC::SetAxisOrientation(unsigned long,unsigned long) @@ -7808,20 +7763,12 @@ EXPORTS DoDrawPolygon__14wxPostScriptDCFiP7wxPointN31 ;wxPostScriptDC::DoDrawEllipticArc(int,int,int,int,double,double) DoDrawEllipticArc__14wxPostScriptDCFiN31dT5 - ;wxPostScriptDC::GetResolution() - GetResolution__14wxPostScriptDCFv - ;wxGetPrinterFile() - wxGetPrinterFile__Fv ;wxConstructorForwxPostScriptDC() wxConstructorForwxPostScriptDC__Fv ;wxPostScriptDC::wxPostScriptDC() __ct__14wxPostScriptDCFv - ;wxPostScriptModule::OnExit() - OnExit__18wxPostScriptModuleFv - ;wxPostScriptDC::PrinterDialog(wxWindow*) - PrinterDialog__14wxPostScriptDCFP8wxWindow - ;wxSetPrinterOptions(const wxString&) - wxSetPrinterOptions__FRC8wxString + ;wxPostScriptDC::GetResolution() + GetResolution__14wxPostScriptDCFv ;wxPostScriptDC::DoDrawBitmap(const wxBitmap&,int,int,unsigned long) DoDrawBitmap__14wxPostScriptDCFRC8wxBitmapiT2Ul ;wxPostScriptDC::SetBackground(const wxBrush&) @@ -7834,14 +7781,6 @@ EXPORTS DoBlit__14wxPostScriptDCFiN31P4wxDCN31UlN21 ;wxPostScriptDC::~wxPostScriptDC() __dt__14wxPostScriptDCFv - ;wxGetPrinterOptions() - wxGetPrinterOptions__Fv - ;wxGetPrinterMode() - wxGetPrinterMode__Fv - ;wxGetAFMPath() - wxGetAFMPath__Fv - ;wxConstructorForwxPrintSetupData() - wxConstructorForwxPrintSetupData__Fv ;wxPostScriptDC::Ok() const Ok__14wxPostScriptDCCFv ;wxPostScriptDC::GetPPI() const @@ -7854,31 +7793,16 @@ EXPORTS Clear__14wxPostScriptDCFv ;wxPostScriptDC::StartDoc(const wxString&) StartDoc__14wxPostScriptDCFRC8wxString - ;wxSetPrinterCommand(const wxString&) - wxSetPrinterCommand__FRC8wxString - ;wxSetPrintPreviewCommand(const wxString&) - wxSetPrintPreviewCommand__FRC8wxString - ;wxPostScriptPrintDialog::sm_classwxPostScriptPrintDialog - sm_classwxPostScriptPrintDialog__23wxPostScriptPrintDialog ;wxPostScriptDC::sm_classwxPostScriptDC sm_classwxPostScriptDC__14wxPostScriptDC ;wxPostScriptDC::SetFont(const wxFont&) SetFont__14wxPostScriptDCFRC6wxFont - __vft16wxPrintSetupData8wxObject ;wxPostScriptDC::SetBrush(const wxBrush&) SetBrush__14wxPostScriptDCFRC7wxBrush ;wxPostScriptDC::DoGetSize(int*,int*) const DoGetSize__14wxPostScriptDCCFPiT1 - ;wxSetPrinterTranslation(int,int) - wxSetPrinterTranslation__FiT1 - ;wxSetPrinterOrientation(int) - wxSetPrinterOrientation__Fi ;wxPostScriptDC::DoDrawIcon(const wxIcon&,int,int) DoDrawIcon__14wxPostScriptDCFRC6wxIconiT2 - ;wxGetPrinterOrientation() - wxGetPrinterOrientation__Fv - ;wxPrintSetupData::wxPrintSetupData() - __ct__16wxPrintSetupDataFv ;wxPostScriptDC::SetPen(const wxPen&) SetPen__14wxPostScriptDCFRC5wxPen ;wxPostScriptDC::GetCharWidth() const @@ -9907,8 +9831,6 @@ EXPORTS OnOK__20wxGenericPrintDialogFR14wxCommandEvent ;wxGenericPrintDialog::wxGenericPrintDialog(wxWindow*,wxPrintDialogData*) __ct__20wxGenericPrintDialogFP8wxWindowP17wxPrintDialogData - ;wxGenericPrintSetupDialog::wxGenericPrintSetupDialog(wxWindow*,wxPrintSetupData*) - __ct__25wxGenericPrintSetupDialogFP8wxWindowP16wxPrintSetupData ;wxGenericPrintDialog::ShowModal() ShowModal__20wxGenericPrintDialogFv ;wxGenericPageSetupDialog::TransferDataFromWindow() -- 2.47.2