+++ /dev/null
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/libctgraphics/sgp.cpp ctsim-wx2.8/libctgraphics/sgp.cpp
---- ctsim/libctgraphics/sgp.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/libctgraphics/sgp.cpp 2008-07-21 10:08:10.840312064 -0600
-@@ -570,9 +570,8 @@
- {
- #if HAVE_WXWINDOWS
- if (m_driver.isWX()) {
-- wxString sText (szText);
- wxCoord deviceW, deviceH;
-- m_driver.idWX()->GetTextExtent (sText, &deviceW, &deviceH);
-+ m_driver.idWX()->GetTextExtent (wxConvCurrent->cMB2WC(szText), &deviceW, &deviceH);
- if (m_dTextAngle == 90 || m_dTextAngle == -90) {
- wxCoord temp = deviceW;
- deviceW = deviceH;
-@@ -722,8 +721,7 @@
- #endif
- #if HAVE_WXWINDOWS
- if (m_driver.isWX()) {
-- wxString str (pszMessage);
-- m_driver.idWX()->DrawRotatedText (str, m_iCurrentPhysicalX, m_iCurrentPhysicalY, m_dTextAngle);
-+ m_driver.idWX()->DrawRotatedText (wxConvCurrent->cMB2WC(pszMessage), m_iCurrentPhysicalX, m_iCurrentPhysicalY, m_dTextAngle);
- }
- #endif
- }
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/libctsupport/syserror.cpp ctsim-wx2.8/libctsupport/syserror.cpp
---- ctsim/libctsupport/syserror.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/libctsupport/syserror.cpp 2008-07-21 10:08:10.852312800 -0600
-@@ -57,15 +57,15 @@
- if (g_bRunningWXWindows) {
- if (theApp) {
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
-- wxString msg (strOutput.c_str());
-+ wxString msg (wxConvCurrent->cMB2WX(strOutput.c_str()));
- if (msg.length() > 0) {
-- msg += "\n";
-+ msg += wxChar('\n');
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event, thread safe
- }
- } else {
- wxMutexGuiEnter();
-- wxLog::OnLog (wxLOG_Message, strOutput.c_str(), time(NULL));
-+ wxLog::OnLog (wxLOG_Message, wxConvCurrent->cMB2WX(strOutput.c_str()), time(NULL));
- wxMutexGuiLeave();
- }
- }
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/backgroundmgr.cpp ctsim-wx2.8/src/backgroundmgr.cpp
---- ctsim/src/backgroundmgr.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/backgroundmgr.cpp 2008-07-21 10:08:10.864313536 -0600
-@@ -108,7 +108,7 @@
- BackgroundManager::OnAddTask (wxCommandEvent& event)
- {
- int iNumUnits = event.GetInt();
-- const char* const pszTaskName = event.GetString().c_str();
-+ const char* const pszTaskName = event.GetString().mb_str(wxConvUTF8);
- BackgroundSupervisor* pSupervisor = reinterpret_cast<BackgroundSupervisor*>(event.GetClientData());
- if (pSupervisor == NULL) {
- sys_error (ERR_SEVERE, "Received NULL supervisor [BackgroundManager::OnAddTask]");
-@@ -139,7 +139,7 @@
- wxPoint posLabel (m_sizeBorder.x + m_sizeGauge.x, m_sizeBorder.y + iFirstUnusedPos * m_sizeCell.y);
- wxPoint posButton (m_sizeBorder.x + m_sizeGauge.x + m_sizeLabel.x, m_sizeBorder.y + iFirstUnusedPos * m_sizeCell.y);
- wxGauge* pGauge = new wxGauge (m_pCanvas, -1, iNumUnits, posGauge, m_sizeGauge);
-- wxStaticText* pLabel = new wxStaticText (m_pCanvas, -1, pszTaskName, posLabel, m_sizeLabel);
-+ wxStaticText* pLabel = new wxStaticText (m_pCanvas, -1, wxConvUTF8.cMB2WX(pszTaskName), posLabel, m_sizeLabel);
- wxButton* pButton = new wxButton (m_pCanvas, s_iNextButtonID, _T("Cancel"), posButton, m_sizeButton, wxBU_LEFT);
-
- BackgroundManagerTask* pTask = new BackgroundManagerTask (pSupervisor, pszTaskName,
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/backgroundsupr.cpp ctsim-wx2.8/src/backgroundsupr.cpp
---- ctsim/src/backgroundsupr.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/backgroundsupr.cpp 2008-07-29 20:10:53.735726313 -0600
-@@ -57,7 +57,7 @@
-
-
-
--BackgroundSupervisor::BackgroundSupervisor (SupervisorThread* pMyThread, wxWindow* pParentFrame, BackgroundProcessingDocument* pDocument, const char* const pszProcessTitle, int iTotalUnits)
-+BackgroundSupervisor::BackgroundSupervisor (SupervisorThread* pMyThread, wxWindow* pParentFrame, BackgroundProcessingDocument* pDocument, wxChar const* pszProcessTitle, int iTotalUnits)
- : wxEvtHandler(), m_pMyThread(pMyThread), m_pParentFrame(pParentFrame), m_pDocument(pDocument), m_strProcessTitle(pszProcessTitle),
- m_iTotalUnits(iTotalUnits), m_iNumThreads(0), m_bDone(false), m_bFail(false), m_bCancelled(false), m_iRunning(0),
- m_pTimer(NULL), m_bWorkersDeleted(false), m_bBackgroundManagerAdded(false)
-@@ -120,12 +120,12 @@
- m_vecpThreads[iThread] = createWorker (iThread, iStartUnit, iNumUnits);
- if (! m_vecpThreads[iThread]) {
- m_bFail = true;
-- m_strFailMessage = "createWorker returned NULL [BackgroundSupervisor]";
-+ m_strFailMessage = _T("createWorker returned NULL [BackgroundSupervisor]");
- break;
- }
- if (m_vecpThreads[iThread]->Create () != wxTHREAD_NO_ERROR) {
- m_bFail = true;
-- m_strFailMessage = "Thread creation failed [BackgroundSupervisor]";
-+ m_strFailMessage = _T("Thread creation failed [BackgroundSupervisor]");
- break;
- }
- m_vecpThreads[iThread]->SetPriority (40);
-@@ -136,13 +136,13 @@
-
- m_pTimer = new Timer;
-
-- std::string strLabel (m_strProcessTitle);
-- strLabel += " ";
-- strLabel += m_pParentFrame->GetTitle();
-+ wxString strLabel (m_strProcessTitle);
-+ strLabel += _T(" ");
-+ strLabel += dynamic_cast<wxFrame*>(m_pParentFrame)->GetTitle();
-
- #ifdef USE_BKGMGR
- wxCommandEvent addTaskEvent (wxEVT_COMMAND_MENU_SELECTED, MSG_BACKGROUND_SUPERVISOR_ADD);
-- addTaskEvent.SetString (strLabel.c_str());
-+ addTaskEvent.SetString (strLabel);
- addTaskEvent.SetInt (m_iTotalUnits);
- addTaskEvent.SetClientData (this);
- wxPostEvent (theApp->getBackgroundManager(), addTaskEvent);
-@@ -192,7 +192,7 @@
- #ifdef DEBUG
- if (theApp->getVerboseLogging()) {
- wxString msg;
-- msg.Printf("Background Supervisor: Thread finished. Remaining threads: %d\n", m_iRunning);
-+ msg.Printf(_T("Background Supervisor: Thread finished. Remaining threads: %d\n"), m_iRunning);
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-@@ -203,11 +203,11 @@
- }
-
- void
--BackgroundSupervisor::onWorkerFail (int iThread, std::string strFailMessage)
-+BackgroundSupervisor::onWorkerFail (int iThread, const wxString& strFailMessage)
- {
- m_iRunning--;
- wxCommandEvent eventLog( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
-- eventLog.SetString( strFailMessage.c_str() );
-+ eventLog.SetString( strFailMessage );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-
- onCancel();
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/backgroundsupr.h ctsim-wx2.8/src/backgroundsupr.h
---- ctsim/src/backgroundsupr.h 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/backgroundsupr.h 2008-07-29 20:09:41.539253901 -0600
-@@ -57,13 +57,13 @@
- SupervisorThread* m_pMyThread;
- wxWindow* m_pParentFrame;
- BackgroundProcessingDocument* m_pDocument;
-- const std::string m_strProcessTitle;
-+ const wxString m_strProcessTitle;
-
- const unsigned int m_iTotalUnits;
- int m_iNumThreads;
- volatile bool m_bDone;
- volatile bool m_bFail;
-- std::string m_strFailMessage;
-+ wxString m_strFailMessage;
- volatile bool m_bCancelled;
- volatile int m_iRunning;
- volatile unsigned int m_iUnitsDone;
-@@ -88,7 +88,7 @@
- MSG_WORKER_THREAD_FAIL = 7507, // sent by workers when they fail
- };
-
-- BackgroundSupervisor (SupervisorThread* pMyThread, wxWindow* pParentFrame, BackgroundProcessingDocument* pDocument, const char* const pszProcessTitle,
-+ BackgroundSupervisor (SupervisorThread* pMyThread, wxWindow* pParentFrame, BackgroundProcessingDocument* pDocument, wxChar const* pszProcessTitle,
- int iTotalUnits);
-
- BackgroundSupervisor ()
-@@ -105,7 +105,7 @@
-
- virtual void onCancel();
-
-- virtual void onWorkerFail(int iThread, std::string strFailMessage);
-+ virtual void onWorkerFail(int iThread, const wxString& strFailMessage);
- virtual void onWorkerUnitTick();
- virtual void onWorkerDone(int iThread);
-
-@@ -116,7 +116,7 @@
- bool isDone() const {return m_bDone;}
- void setDone() { m_bDone = true; }
- bool fail() const {return m_bFail;}
-- const std::string& getFailMessage() const { return m_strFailMessage; }
-+ const wxString& getFailMessage() const { return m_strFailMessage; }
- bool cancelled() const {return m_bCancelled;}
-
- int getNumWorkers() const { return m_iNumThreads; }
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/ctsim.cpp ctsim-wx2.8/src/ctsim.cpp
---- ctsim/src/ctsim.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/ctsim.cpp 2008-07-28 17:18:08.431794408 -0600
-@@ -82,7 +82,8 @@
- IMPLEMENT_APP(CTSimApp)
-
- CTSimApp::CTSimApp()
--: m_bAdvancedOptions(false), m_bSetModifyNewDocs(true), m_bVerboseLogging(false), m_bShowStartupTips(true),
-+: m_bAdvancedOptions(false), m_bSetModifyNewDocs(true),
-+ m_bVerboseLogging(false), m_bShowStartupTips(true),
- m_iCurrentTip(0), m_bUseBackgroundTasks(false),
- m_docManager(NULL), m_pFrame(NULL), m_pConfig(0), m_pLog(0), m_pLogDoc(0)
- {
-@@ -100,6 +101,8 @@
- bool
- CTSimApp::OnInit()
- {
-+ wxApp::OnInit();
-+
- #ifdef HAVE_SETPRIORITY
- setpriority (PRIO_PROCESS, 0, 15); // set to low scheduling priority
- #endif
-@@ -113,7 +116,18 @@
- #ifdef __WXMAC__
- int c = -1;
- #else
-- int c = getopt_long (argc, argv, "", ctsimOptions, NULL);
-+ char** cargv = new char* [argc];
-+ for (int i = 0; i < argc; i++) {
-+ const char* p = wxConvUTF8.cWX2MB(argv[i]);
-+ cargv[i] = new char [strlen(p)+1];
-+ strcpy(cargv[i], p);
-+ }
-+ int c = getopt_long (argc, cargv, "", ctsimOptions, NULL);
-+ for (int i = 0; i < argc; i++) {
-+ delete cargv[i];
-+ }
-+ delete cargv;
-+
- #endif
- if (c == -1)
- break;
-@@ -129,26 +143,28 @@
- exit(0);
- case O_HELP:
- case '?':
-- usage (argv[0]);
-+ usage (wxConvCurrent->cWX2MB(argv[0]));
- exit (0);
- case O_PRINT:
- bPrintFiles = true;
- break;
- default:
-- usage (argv[0]);
-+ usage (wxConvCurrent->cWX2MB(argv[0]));
- exit (1);
- }
- }
-
- m_docManager = new wxDocManager (wxDEFAULT_DOCMAN_FLAGS, true);
-
-- m_pDocTemplImage = new wxDocTemplate (m_docManager, "ImageFile", "*.if", "", "if", "ImageFile", "ImageView", CLASSINFO(ImageFileDocument), CLASSINFO(ImageFileView));
-- m_pDocTemplProjection = new wxDocTemplate (m_docManager, "ProjectionFile", "*.pj", "", "pj", "ProjectionFile", "ProjectionView", CLASSINFO(ProjectionFileDocument), CLASSINFO(ProjectionFileView));
-- m_pDocTemplPhantom = new wxDocTemplate (m_docManager, "PhantomFile", "*.phm", "", "phm", "PhantomFile", "PhantomView", CLASSINFO(PhantomFileDocument), CLASSINFO(PhantomFileView));
-- m_pDocTemplPlot = new wxDocTemplate (m_docManager, "PlotFile", "*.plt", "", "plt", "PlotFile", "PlotView", CLASSINFO(PlotFileDocument), CLASSINFO(PlotFileView));
-- m_pDocTemplText = new wxDocTemplate (m_docManager, "TextFile", "*.txt", "", "txt", "TextFile", "TextView", CLASSINFO(TextFileDocument), CLASSINFO(TextFileView), wxTEMPLATE_INVISIBLE);
-+ m_pDocTemplImage = new wxDocTemplate (m_docManager, _T("ImageFile"), _T("*.if"), _T(""), _T("if"), _T("ImageFile"), _T("ImageView"), CLASSINFO(ImageFileDocument), CLASSINFO(ImageFileView));
-+ m_pDocTemplProjection = new wxDocTemplate (m_docManager, _T("ProjectionFile"), _T("*.pj"), _T(""), _T("pj"), _T("ProjectionFile"), _T("ProjectionView"), CLASSINFO(ProjectionFileDocument), CLASSINFO(ProjectionFileView));
-+ m_pDocTemplPhantom = new wxDocTemplate (m_docManager, _T("PhantomFile"), _T("*.phm"), _T(""), _T("phm"), _T("PhantomFile"), _T("PhantomView"), CLASSINFO(PhantomFileDocument), CLASSINFO(PhantomFileView));
-+ m_pDocTemplPlot = new wxDocTemplate (m_docManager, _T("PlotFile"), _T("*.plt"), _T(""), _T("plt"), _T("PlotFile"), _T("PlotView"), CLASSINFO(PlotFileDocument), CLASSINFO(PlotFileView));
-+ m_pDocTemplText = new wxDocTemplate (m_docManager, _T("TextFile"), _T("*.txt"), _T(""), _T("txt"), _T("TextFile"), _T("TextView"), CLASSINFO(TextFileDocument), CLASSINFO(TextFileView), wxTEMPLATE_INVISIBLE);
- #if wxUSE_GLCANVAS
-- m_pDocTemplGraph3d = new wxDocTemplate (m_docManager, "Graph3dFile", "*.g3d", "", "g3d", "Graph3dFile", "Graph3dView", CLASSINFO(Graph3dFileDocument), CLASSINFO(Graph3dFileView), wxTEMPLATE_INVISIBLE);
-+ m_pDocTemplGraph3d = new wxDocTemplate (m_docManager, _T("Graph3dFile"), _T("*.g3d"), _T(""), _T("g3d"),
-+ _T("Graph3dFile"), _T("Graph3dView"), CLASSINFO(Graph3dFileDocument),
-+ CLASSINFO(Graph3dFileView), wxTEMPLATE_INVISIBLE);
- #endif
-
- #if wxUSE_GIF
-@@ -163,7 +179,7 @@
- int xDisplay, yDisplay;
- ::wxDisplaySize (&xDisplay, &yDisplay);
-
-- m_pFrame = new MainFrame(m_docManager, (wxFrame *) NULL, -1, "CTSim", wxPoint(0, 0),
-+ m_pFrame = new MainFrame(m_docManager, (wxFrame *) NULL, -1, _T("CTSim"), wxPoint(0, 0),
- #ifdef CTSIM_MDI
- wxSize(nearest<int>(xDisplay * .75), nearest<int>(yDisplay * .75)),
- #else
-@@ -193,29 +209,29 @@
- m_pLogDoc->getView()->getFrame()->Show (true);
- } else
- #else
-- m_pLog = new wxTextCtrl (m_pFrame, -1, "Log Window\n", wxPoint(0, 0), wxSize(0,0), wxTE_MULTILINE | wxTE_READONLY);
-+ m_pLog = new wxTextCtrl (m_pFrame, -1, _T("Log Window\n"), wxPoint(0, 0), wxSize(0,0), wxTE_MULTILINE | wxTE_READONLY);
- #endif
- wxLog::SetActiveTarget (new wxLogTextCtrl(m_pLog));
-
- wxString helpDir;
-- if (! m_pConfig->Read("HelpDir", &helpDir))
-+ if (! m_pConfig->Read(_T("HelpDir"), &helpDir))
- helpDir = ::wxGetCwd();
- #ifdef CTSIM_WINHELP
-- if (! m_pFrame->getWinHelpController().Initialize(helpDir + "/ctsim"))
-- *m_pLog << "Cannot initialize the Windows Help system" << "\n";
-+ if (! m_pFrame->getWinHelpController().Initialize(helpDir + _T("/ctsim")))
-+ *m_pLog << _T("Cannot initialize the Windows Help system") << _T("\n");
- #else
- #ifdef DATADIR
-- wxString docDir (DATADIR);
-+ wxString docDir (DATADIR, *wxConvCurrent);
- #else
- wxString docDir (::wxGetCwd());
- #endif
-- wxString docFile = docDir + "ctsim.htb";
-+ wxString docFile = docDir + _T("ctsim.htb");
- if (! m_pFrame->getHtmlHelpController().AddBook(docFile) &&
-- ! m_pFrame->getHtmlHelpController().AddBook("/usr/share/ctsim/ctsim.htb") &&
-- ! m_pFrame->getHtmlHelpController().AddBook("/tmp/ctsim.htb"))
-- *m_pLog << "Cannot initialize the HTML Help system" << "\n";
-+ ! m_pFrame->getHtmlHelpController().AddBook(_T("/usr/share/ctsim/ctsim.htb")) &&
-+ ! m_pFrame->getHtmlHelpController().AddBook(_T("/tmp/ctsim.htb")))
-+ *m_pLog << _T("Cannot initialize the HTML Help system") << _T("\n");
- else {
-- if (::wxDirExists ("/tmp"))
-+ if (::wxDirExists (_T("/tmp")))
- m_pFrame->getHtmlHelpController().SetTempDir(_T("/tmp"));
- m_pFrame->getHtmlHelpController().UseConfig (m_pConfig);
- }
-@@ -297,40 +313,40 @@
- CTSimApp::openConfig()
- {
- #ifdef MSVC
-- m_pConfig = new wxConfig("ctsim", "Kevin Rosenberg", "", "", wxCONFIG_USE_LOCAL_FILE);
-+ m_pConfig = new wxConfig(_T("ctsim"), _T("Kevin Rosenberg"), _T(""), _T(""), wxCONFIG_USE_LOCAL_FILE);
- #else
-- m_pConfig = new wxConfig("ctsim", "Kevin Rosenberg", ".ctsim", "", wxCONFIG_USE_LOCAL_FILE);
-+ m_pConfig = new wxConfig(_T("ctsim"), _T("Kevin Rosenberg"), _T(".ctsim"), _T(""), wxCONFIG_USE_LOCAL_FILE);
- #endif
-
- wxConfigBase::Set(m_pConfig);
-- m_pConfig->Read ("AdvancedOptions", &m_bAdvancedOptions);
-- m_pConfig->Read ("SetModifyNewDocs", &m_bSetModifyNewDocs);
-- m_pConfig->Read ("VerboseLogging", &m_bVerboseLogging);
-- m_pConfig->Read ("StartupTips", &m_bShowStartupTips);
-- m_pConfig->Read ("CurrentTip", &m_iCurrentTip);
-- m_pConfig->Read ("UseBackgroundTasks", &m_bUseBackgroundTasks);
-+ m_pConfig->Read (_T("AdvancedOptions"), &m_bAdvancedOptions);
-+ m_pConfig->Read (_T("SetModifyNewDocs"), &m_bSetModifyNewDocs);
-+ m_pConfig->Read (_T("VerboseLogging"), &m_bVerboseLogging);
-+ m_pConfig->Read (_T("StartupTips"), &m_bShowStartupTips);
-+ m_pConfig->Read (_T("CurrentTip"), &m_iCurrentTip);
-+ m_pConfig->Read (_T("UseBackgroundTasks"), &m_bUseBackgroundTasks);
- #ifdef HAVE_FFTW
- wxString strFftwWisdom;
-- m_pConfig->Read ("FftwWisdom", strFftwWisdom);
-+ m_pConfig->Read (_T("FftwWisdom"), strFftwWisdom);
- if (strFftwWisdom.size() > 0)
-- fftw_import_wisdom_from_string (strFftwWisdom.c_str());
-+ fftw_import_wisdom_from_string (strFftwWisdom.mb_str(wxConvUTF8));
- #endif
- }
-
- void
- CTSimApp::closeConfig()
- {
-- m_pConfig->Write ("AdvancedOptions", m_bAdvancedOptions);
-- m_pConfig->Write ("SetModifyNewDocs", m_bSetModifyNewDocs);
-- m_pConfig->Write ("VerboseLogging", m_bVerboseLogging);
-- m_pConfig->Write ("StartupTips", m_bShowStartupTips);
-- m_pConfig->Write ("CurrentTip", m_iCurrentTip);
-- m_pConfig->Write ("UseBackgroundTasks", m_bUseBackgroundTasks);
-+ m_pConfig->Write (_T("AdvancedOptions"), m_bAdvancedOptions);
-+ m_pConfig->Write (_T("SetModifyNewDocs"), m_bSetModifyNewDocs);
-+ m_pConfig->Write (_T("VerboseLogging"), m_bVerboseLogging);
-+ m_pConfig->Write (_T("StartupTips"), m_bShowStartupTips);
-+ m_pConfig->Write (_T("CurrentTip"), m_iCurrentTip);
-+ m_pConfig->Write (_T("UseBackgroundTasks"), m_bUseBackgroundTasks);
- #ifdef HAVE_FFTW
- const char* const pszWisdom = fftw_export_wisdom_to_string();
-- wxString strFftwWisdom (pszWisdom);
-+ wxString strFftwWisdom (pszWisdom, *wxConvCurrent);
- fftw_free ((void*) pszWisdom);
-- m_pConfig->Write ("FftwWisdom", strFftwWisdom);
-+ m_pConfig->Write (_T("FftwWisdom"), strFftwWisdom);
- #endif
-
- delete m_pConfig;
-@@ -342,7 +358,7 @@
- {
- static int untitledNumber = 1;
-
-- wxString filename ("Untitled");
-+ wxString filename (_T("Untitled"));
- filename << untitledNumber++;
-
- return (filename);
-@@ -421,7 +437,7 @@
- : wxDocMDIParentFrame(manager, NULL, id, title, pos, size, type, "MainFrame")
- #else
- MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type)
--: wxDocParentFrame(manager, frame, id, title, pos, size, type, "MainFrame")
-+: wxDocParentFrame(manager, frame, id, title, pos, size, type, _T("MainFrame"))
- #endif
- {
- m_bShuttingDown = false;
-@@ -429,14 +445,14 @@
- //// Make a menubar
- wxMenu *file_menu = new wxMenu;
-
-- file_menu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
-- file_menu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
-- file_menu->Append(wxID_OPEN, "&Open...\tCtrl-O");
-+ file_menu->Append(MAINMENU_FILE_CREATE_PHANTOM, _T("Cr&eate Phantom...\tCtrl-P"));
-+ file_menu->Append(MAINMENU_FILE_CREATE_FILTER, _T("Create &Filter...\tCtrl-F"));
-+ file_menu->Append(wxID_OPEN, _T("&Open...\tCtrl-O"));
-
- file_menu->AppendSeparator();
-- file_menu->Append (MAINMENU_IMPORT, "&Import...\tCtrl-M");
-- file_menu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
-- file_menu->Append(MAINMENU_FILE_EXIT, "E&xit");
-+ file_menu->Append (MAINMENU_IMPORT, _T("&Import...\tCtrl-M"));
-+ file_menu->Append (MAINMENU_FILE_PREFERENCES, _T("Prefere&nces..."));
-+ file_menu->Append(MAINMENU_FILE_EXIT, _T("E&xit"));
-
- // history of files visited
- theApp->getDocManager()->FileHistoryAddFilesToMenu(file_menu);
-@@ -448,21 +464,21 @@
- #endif
-
- wxMenu* help_menu = new wxMenu;
-- help_menu->Append (MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-- help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
-- help_menu->Append (IDH_QUICKSTART, "&Quick Start");
-+ help_menu->Append (MAINMENU_HELP_CONTENTS, _T("&Contents\tF1"));
-+ help_menu->Append (MAINMENU_HELP_TIPS, _T("&Tips"));
-+ help_menu->Append (IDH_QUICKSTART, _T("&Quick Start"));
- #if defined(CTSIM_WINHELP) && (defined(DEBUG) || defined(_DEBUG))
-- help_menu->Append (MAINMENU_HELP_SECONDARY, "&Secondary Help");
-+ help_menu->Append (MAINMENU_HELP_SECONDARY, _T("&Secondary Help"));
- #endif
-- help_menu->Append (MAINMENU_HELP_ABOUT, "&About");
-+ help_menu->Append (MAINMENU_HELP_ABOUT, _T("&About"));
-
- wxMenuBar* menu_bar = new wxMenuBar;
-
-- menu_bar->Append(file_menu, "&File");
-+ menu_bar->Append(file_menu, _T("&File"));
- #ifndef CTSIM_MDI
-- menu_bar->Append(m_pWindowMenu, "&Window");
-+ menu_bar->Append(m_pWindowMenu, _T("&Window"));
- #endif
-- menu_bar->Append(help_menu, "&Help");
-+ menu_bar->Append(help_menu, _T("&Help"));
-
- SetMenuBar(menu_bar);
-
-@@ -470,7 +486,7 @@
- #ifndef CTSIM_MDI
- int i;
- for (i = 0; i < MAX_WINDOW_MENUITEMS; i++) {
-- m_apWindowMenuItems[i] = new wxMenuItem (m_pWindowMenu, MAINMENU_WINDOW_BASE+i, wxString("[EMPTY]"));
-+ m_apWindowMenuItems[i] = new wxMenuItem (m_pWindowMenu, MAINMENU_WINDOW_BASE+i, _T("[EMPTY]"));
- m_pWindowMenu->Append (m_apWindowMenuItems[i]);
- m_pWindowMenu->Enable (MAINMENU_WINDOW_BASE+i, false);
- }
-@@ -552,11 +568,11 @@
- DialogGetPhantom dialogPhantom (this, m_iDefaultPhantomID);
- int dialogReturn = dialogPhantom.ShowModal();
- if (dialogReturn == wxID_OK) {
-- wxString selection (dialogPhantom.getPhantom());
-+ wxString selection (dialogPhantom.getPhantom(), *wxConvCurrent);
- if (theApp->getVerboseLogging())
-- *theApp->getLog() << "Selected phantom " << selection.c_str() << "\n";
-- wxString filename = selection + ".phm";
-- m_iDefaultPhantomID = Phantom::convertNameToPhantomID (selection.c_str());
-+ *theApp->getLog() << _T("Selected phantom ") << selection.c_str() << _T("\n");
-+ wxString filename = selection + _T(".phm");
-+ m_iDefaultPhantomID = Phantom::convertNameToPhantomID (selection.mb_str(wxConvUTF8));
- theApp->getDocManager()->CreateDocument (filename, wxDOC_SILENT);
- }
-
-@@ -568,23 +584,26 @@
- DialogGetFilterParameters dialogFilter (this, m_iDefaultFilterXSize, m_iDefaultFilterYSize, m_iDefaultFilterID, m_dDefaultFilterParam, m_dDefaultFilterBandwidth, m_iDefaultFilterDomainID, m_dDefaultFilterInputScale, m_dDefaultFilterOutputScale);
- int dialogReturn = dialogFilter.ShowModal();
- if (dialogReturn == wxID_OK) {
-- wxString strFilter (dialogFilter.getFilterName());
-- wxString strDomain (dialogFilter.getDomainName());
-- m_iDefaultFilterID = SignalFilter::convertFilterNameToID (strFilter.c_str());
-- m_iDefaultFilterDomainID = SignalFilter::convertDomainNameToID (strDomain.c_str());
-+ wxString strFilter (dialogFilter.getFilterName(), *wxConvCurrent);
-+ wxString strDomain (dialogFilter.getDomainName(), *wxConvCurrent);
-+ m_iDefaultFilterID = SignalFilter::convertFilterNameToID (strFilter.mb_str(wxConvUTF8));
-+ m_iDefaultFilterDomainID = SignalFilter::convertDomainNameToID (strDomain.mb_str(wxConvUTF8));
- m_iDefaultFilterXSize = dialogFilter.getXSize();
- m_iDefaultFilterYSize = dialogFilter.getYSize();
- m_dDefaultFilterBandwidth = dialogFilter.getBandwidth();
- m_dDefaultFilterParam= dialogFilter.getFilterParam();
- m_dDefaultFilterInputScale = dialogFilter.getInputScale();
- m_dDefaultFilterOutputScale = dialogFilter.getOutputScale();
-- std::ostringstream os;
-- os << "Generate Filter=" << strFilter.c_str()
-- << ", size=(" << static_cast<int>(m_iDefaultFilterXSize) << "," << static_cast<int>(m_iDefaultFilterYSize)
-- << "), domain=" << strDomain.c_str() << ", filterParam=" << m_dDefaultFilterParam << ", bandwidth=" << m_dDefaultFilterBandwidth
-- << ", inputScale=" << m_dDefaultFilterInputScale << ", outputScale=" << m_dDefaultFilterOutputScale;
-- *theApp->getLog() << os.str().c_str() << "\n";
-- wxString filename = "untitled.if";
-+ wxString os;
-+ os << _T("Generate Filter=") << strFilter
-+ << _T(", size=(") << static_cast<int>(m_iDefaultFilterXSize) << _T(",")
-+ << static_cast<int>(m_iDefaultFilterYSize)
-+ << _T("), domain=") << strDomain.c_str() << _T(", filterParam=")
-+ << m_dDefaultFilterParam << _T(", bandwidth=") <<
-+ m_dDefaultFilterBandwidth
-+ << _T(", inputScale=") << m_dDefaultFilterInputScale << _T(", outputScale=") << m_dDefaultFilterOutputScale;
-+ *theApp->getLog() << os << _T("\n");
-+ wxString filename = _T("untitled.if");
- ImageFileDocument* pFilterDoc = theApp->newImageDoc();
- pFilterDoc->setBadFileOpen();
- if (! pFilterDoc) {
-@@ -593,8 +612,8 @@
- }
- ImageFile& rIF = pFilterDoc->getImageFile();
- rIF.setArraySize (m_iDefaultFilterXSize, m_iDefaultFilterYSize);
-- rIF.filterResponse (strDomain.c_str(), m_dDefaultFilterBandwidth, strFilter.c_str(), m_dDefaultFilterParam, m_dDefaultFilterInputScale, m_dDefaultFilterOutputScale);
-- rIF.labelAdd (os.str().c_str());
-+ rIF.filterResponse (strDomain.mb_str(wxConvUTF8), m_dDefaultFilterBandwidth, strFilter.mb_str(wxConvUTF8), m_dDefaultFilterParam, m_dDefaultFilterInputScale, m_dDefaultFilterOutputScale);
-+ rIF.labelAdd (os.mb_str(wxConvUTF8));
- if (theApp->getAskDeleteNewDocs())
- pFilterDoc->Modify (true);
- pFilterDoc->UpdateAllViews();
-@@ -693,7 +712,7 @@
- #ifdef CTSIM_WINHELP
- m_winHelp.DisplayContents ();
- #else
-- m_htmlHelp.Display ("Contents");
-+ m_htmlHelp.Display (_T("Contents"));
- #endif
- break;
-
-@@ -724,7 +743,7 @@
- wxDocument* pDoc = static_cast<wxDocument*>(pNode->GetData());
- wxString strFilename = pDoc->GetFilename();
- if (iPos < 10) {
-- strFilename += "\tCtrl-";
-+ strFilename += _T("\tCtrl-");
- strFilename += static_cast<char>('0' + iPos);
- }
- static_cast<wxMenuItemBase*>(m_apWindowMenuItems[iPos])->SetName (strFilename);
-@@ -735,7 +754,7 @@
- }
- for (int i = iPos; i < MAX_WINDOW_MENUITEMS; i++) {
- m_pWindowMenu->Enable (MAINMENU_WINDOW_BASE+i, false);
-- static_cast<wxMenuItemBase*>(m_apWindowMenuItems[i])->SetName (wxString("[EMPTY]"));
-+ static_cast<wxMenuItemBase*>(m_apWindowMenuItems[i])->SetName (_T("[EMPTY]"));
- m_apWindowMenuData[i] = NULL;
- }
- #endif
-@@ -830,7 +849,7 @@
- const wxSize& size = wxDefaultSize,
- long style = wxSTATIC_BORDER,
- const wxValidator& validator = wxDefaultValidator,
-- const wxString& name = "BitmapCtrl");
-+ const wxString& name = _T("BitmapCtrl"));
-
-
- virtual ~BitmapControl();
-@@ -891,14 +910,14 @@
- };
-
- BitmapDialog::BitmapDialog (wxBitmap* pBitmap, char const* pszTitle)
--: wxDialog(theApp->getMainFrame(), -1, wxString(pszTitle), wxDefaultPosition, wxDefaultSize, wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE)
-+ : wxDialog(theApp->getMainFrame(), -1, wxString(pszTitle,*wxConvCurrent), wxDefaultPosition, wxDefaultSize, wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE)
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
- pTopSizer->Add (new BitmapControl (pBitmap, this), 0, wxALIGN_CENTER | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Ok");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Ok"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-
- pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER);
-@@ -916,7 +935,7 @@
- void
- MainFrame::OnPreferences (wxCommandEvent& WXUNUSED(event) )
- {
-- DialogPreferences dlg (this, "CTSim Preferences", theApp->getAdvancedOptions(),
-+ DialogPreferences dlg (this, _T("CTSim Preferences"), theApp->getAdvancedOptions(),
- theApp->getAskDeleteNewDocs(), theApp->getVerboseLogging(), theApp->getStartupTips(),
- theApp->getUseBackgroundTasks());
- if (dlg.ShowModal() == wxID_OK) {
-@@ -935,37 +954,43 @@
- if (dialogImport.ShowModal() != wxID_OK)
- return;
-
-- wxString strFormatName (dialogImport.getFormatName ());
-- m_iDefaultImportFormat = ImageFile::convertImportFormatNameToID (strFormatName.c_str());
-+ wxString strFormatName (dialogImport.getFormatName (), *wxConvCurrent);
-+ m_iDefaultImportFormat = ImageFile::convertImportFormatNameToID (strFormatName.mb_str(wxConvUTF8));
-
- wxString strExt;
- wxString strWildcard;
- if (m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_PPM) {
-- strExt = ".ppm";
-- strWildcard = "PPM Files (*.ppm)|*.ppm|PGM Files (*.pgm)|*.pgm";
-+ strExt = _T(".ppm");
-+ strWildcard = _T("PPM Files (*.ppm)|*.ppm|PGM Files (*.pgm)|*.pgm");
- }
- #ifdef HAVE_PNG
- else if (m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_PNG) {
-- strExt = ".png";
-- strWildcard = "PNG Files (*.png)|*.png";
-+ strExt = _T(".png");
-+ strWildcard = _T("PNG Files (*.png)|*.png");
- }
- #endif
- #ifdef HAVE_CTN_DICOM
- else if (m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_DICOM) {
-- strExt = "*.*";
-- strWildcard = "Dicom Files (*.*)|*.*";
-+ strExt = _T("*.*");
-+ strWildcard = _T("Dicom Files (*.*)|*.*");
- }
- #endif
- else {
- return;
- }
-
-- wxString strFilename = wxFileSelector (wxString("Import Filename"), wxString(""),
-- wxString(""), strExt, strWildcard, wxHIDE_READONLY | wxOPEN);
-+#if WXWIN_COMPATIBILITY_2_4
-+ wxString strFilename = wxFileSelector (wxString(wxConvUTF8.cMB2WX("Import Filename")), wxString(wxConvUTF8.cMB2WX("")),
-+ wxString(wxConvUTF8.cMB2WX("")), strExt, strWildcard, wxHIDE_READONLY | wxOPEN);
-+#else
-+ wxString strFilename = wxFileSelector (wxString(wxConvUTF8.cMB2WX("Import Filename")), wxString(wxConvUTF8.cMB2WX("")),
-+ wxString(wxConvUTF8.cMB2WX("")), strExt, strWildcard, wxOPEN);
-+#endif
-+
- if (! strFilename.IsEmpty()) {
- if (m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_PPM || m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_PNG) {
- ImageFile* pIF = new ImageFile;
-- if (pIF->importImage (strFormatName.c_str(), strFilename.c_str())) {
-+ if (pIF->importImage (strFormatName.mb_str(wxConvUTF8), strFilename.mb_str(wxConvUTF8))) {
- ImageFileDocument* pIFDoc = theApp->newImageDoc();
- pIFDoc->setImageFile(pIF);
- pIFDoc->getView()->getFrame()->Show(true);
-@@ -982,9 +1007,9 @@
- }
- #ifdef HAVE_CTN_DICOM
- else if (m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_DICOM) {
-- DicomImporter dicomImport (strFilename.c_str());
-+ DicomImporter dicomImport (strFilename.mb_str(wxConvUTF8));
- if (dicomImport.fail()) {
-- ::wxMessageBox (dicomImport.failMessage().c_str(), "Import Error");
-+ ::wxMessageBox (wxConvUTF8.cMB2WX(dicomImport.failMessage().c_str()), _T("Import Error"));
- } else if (dicomImport.testImage()) {
- ImageFileDocument* pIFDoc = theApp->newImageDoc();
- ImageFile* pIF = dicomImport.getImageFile();
-@@ -1011,7 +1036,7 @@
- pProjDoc->getView()->setInitialClientSize();
- pProjDoc->Activate();
- } else
-- ::wxMessageBox ("Unrecognized DICOM file contents", "Import Error");
-+ ::wxMessageBox (_T("Unrecognized DICOM file contents"), _T("Import Error"));
- }
- #endif
- else
-@@ -1024,38 +1049,38 @@
- MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
- {
- wxString strOSDesc = ::wxGetOsDescription();
-- *theApp->getLog() << "Operating System: " << strOSDesc;
-- *theApp->getLog() << ", wxWindows: " << wxVERSION_STRING;
--#ifdef __TIMESTAMP__
-- *theApp->getLog() << ", Build Date: " << __TIMESTAMP__;
-+ *theApp->getLog() << _T("Operating System: ") << strOSDesc;
-+ *theApp->getLog() << _T(", wxWindows: ") << wxVERSION_STRING;
-+#ifdef _TIMESTAMP__
-+ *theApp->getLog() << _T(", Build Date: ") << wxConvUTF8.cMB2WX(_TIMESTAMP__);
- #endif
- #if defined(DEBUG)
-- *theApp->getLog() << ", Debug version";
-+ *theApp->getLog() << _T(", Debug version");
- #else
-- *theApp->getLog() << ", Release version";
-+ *theApp->getLog() << _T(", Release version");
- #endif
- #ifdef VERSION
-- *theApp->getLog() << " " << VERSION;
-+ *theApp->getLog() << _T(" ") << wxConvUTF8.cMB2WX(VERSION);
- #elif defined(CTSIMVERSION)
-- *theApp->getLog() << " " << CTSIMVERSION;
-+ *theApp->getLog() << _T(" ") << _T(CTSIMVERSION);
- #endif
-- *theApp->getLog() << "\n";
-+ *theApp->getLog() << _T("\n");
-
- wxBitmap bmp (splash);
- if (bmp.Ok()) {
- BitmapDialog dlg (&bmp, "About CTSim");
- dlg.ShowModal();
- } else {
-- wxString msg = "CTSim\nThe Open Source Computed Tomography Simulator\n";
-+ wxString msg = _T("CTSim\nThe Open Source Computed Tomography Simulator\n");
- #ifdef VERSION
-- msg << "Version: " << VERSION << "\n\n";
-+ msg << _T("Version: ") << wxConvUTF8.cMB2WX(VERSION) << _T("\n\n");
- #elif defined(CTSIMVERSION)
-- msg << "Version: " << CTSIMVERSION << "\n\n";
-+ msg << _T("Version: ") << wxConvUTF8.cMB2WX(CTSIMVERSION) << _T("\n\n");
- #endif
-- msg += "Author: Kevin Rosenberg <kevin@rosenberg.net>\nUsage: ctsim [files-to-open..] [--help]";
-+ msg += _T("Author: Kevin Rosenberg <kevin@rosenberg.net>\nUsage: ctsim [files-to-open..] [--help]");
-
-- wxMessageBox(msg, "About CTSim", wxOK | wxICON_INFORMATION, this);
-- *theApp->getLog() << msg << "\n";
-+ wxMessageBox(msg, _T("About CTSim"), wxOK | wxICON_INFORMATION, this);
-+ *theApp->getLog() << msg << wxConvUTF8.cMB2WX("\n");
- }
- }
-
-@@ -1065,7 +1090,7 @@
- ProjectionFileDocument*
- CTSimApp::newProjectionDoc()
- {
-- ProjectionFileDocument* newDoc = dynamic_cast<ProjectionFileDocument*>(m_pDocTemplProjection->CreateDocument (""));
-+ ProjectionFileDocument* newDoc = dynamic_cast<ProjectionFileDocument*>(m_pDocTemplProjection->CreateDocument (_T("")));
- if (newDoc) {
- newDoc->SetDocumentName (m_pDocTemplProjection->GetDocumentName());
- newDoc->SetDocumentTemplate (m_pDocTemplProjection);
-@@ -1078,7 +1103,7 @@
- ImageFileDocument*
- CTSimApp::newImageDoc()
- {
-- ImageFileDocument* newDoc = dynamic_cast<ImageFileDocument*>(m_pDocTemplImage->CreateDocument (""));
-+ ImageFileDocument* newDoc = dynamic_cast<ImageFileDocument*>(m_pDocTemplImage->CreateDocument (_T("")));
- if (newDoc) {
- newDoc->SetDocumentName (m_pDocTemplImage->GetDocumentName());
- newDoc->SetDocumentTemplate (m_pDocTemplImage);
-@@ -1091,7 +1116,7 @@
- PlotFileDocument*
- CTSimApp::newPlotDoc()
- {
-- PlotFileDocument* newDoc = dynamic_cast<PlotFileDocument*>(m_pDocTemplPlot->CreateDocument (""));
-+ PlotFileDocument* newDoc = dynamic_cast<PlotFileDocument*>(m_pDocTemplPlot->CreateDocument (_T("")));
- if (newDoc) {
- newDoc->SetDocumentName (m_pDocTemplPlot->GetDocumentName());
- newDoc->SetDocumentTemplate (m_pDocTemplPlot);
-@@ -1106,9 +1131,9 @@
- CTSimApp::newTextDoc()
- {
- wxString strFilename (getUntitledFilename());
-- strFilename += ".txt";
-+ strFilename += wxString(".txt", *wxConvCurrent);
-
-- TextFileDocument* newDoc = dynamic_cast<TextFileDocument*>(m_pDocTemplText->CreateDocument (""));
-+ TextFileDocument* newDoc = dynamic_cast<TextFileDocument*>(m_pDocTemplText->CreateDocument (_T("")));
- if (newDoc) {
- newDoc->SetDocumentName (m_pDocTemplText->GetDocumentName());
- newDoc->SetDocumentTemplate (m_pDocTemplText);
-@@ -1122,7 +1147,7 @@
- PhantomFileDocument*
- CTSimApp::newPhantomDoc()
- {
-- PhantomFileDocument* newDoc = dynamic_cast<PhantomFileDocument*>(m_pDocTemplPhantom->CreateDocument (""));
-+ PhantomFileDocument* newDoc = dynamic_cast<PhantomFileDocument*>(m_pDocTemplPhantom->CreateDocument (_T("")));
- if (newDoc) {
- newDoc->SetDocumentName (m_pDocTemplPhantom->GetDocumentName());
- newDoc->SetDocumentTemplate (m_pDocTemplPhantom);
-@@ -1137,7 +1162,7 @@
- Graph3dFileDocument*
- CTSimApp::newGraph3dDoc()
- {
-- Graph3dFileDocument* newDoc = dynamic_cast<Graph3dFileDocument*>(m_pDocTemplGraph3d->CreateDocument (""));
-+ Graph3dFileDocument* newDoc = dynamic_cast<Graph3dFileDocument*>(m_pDocTemplGraph3d->CreateDocument (_T("")));
- if (newDoc) {
- newDoc->SetDocumentName (m_pDocTemplGraph3d->GetDocumentName());
- newDoc->SetDocumentTemplate (m_pDocTemplGraph3d);
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/dialogs.cpp ctsim-wx2.8/src/dialogs.cpp
---- ctsim/src/dialogs.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/dialogs.cpp 2008-07-21 10:08:10.892315253 -0600
-@@ -57,12 +57,14 @@
- // StringValueAndTitleListBox
- ///////////////////////////////////////////////////////////////////////
-
--StringValueAndTitleListBox::StringValueAndTitleListBox (wxDialog* pParent, int nChoices, const char* const aszTitle[], const char* const aszValue[])
-+StringValueAndTitleListBox::StringValueAndTitleListBox (wxDialog* pParent, int nChoices,
-+ wxChar const* const* asTitle,
-+ char const* const* aszValue)
- : wxListBox ()
- {
- wxString* psTitle = new wxString [nChoices];
- for (int i = 0; i < nChoices; i++)
-- psTitle[i] = aszTitle[i];
-+ psTitle[i] = asTitle[i];
-
- Create (pParent, -1, wxDefaultPosition, wxSize(-1,-1), nChoices, psTitle, wxLB_SINGLE | wxLB_NEEDED_SB);
-
-@@ -76,12 +78,16 @@
- return m_ppszValues[GetSelection()];
- }
-
--StringValueAndTitleRadioBox::StringValueAndTitleRadioBox (wxDialog* pParent, const wxString& strTitle, int nChoices, const char* const aszTitle[], const char* const aszValue[])
-+StringValueAndTitleRadioBox::StringValueAndTitleRadioBox (wxDialog* pParent,
-+ wxChar const* strTitle,
-+ int nChoices,
-+ char const* const* aszTitle,
-+ char const* const* aszValue)
- : wxRadioBox ()
- {
- wxString* psTitle = new wxString [nChoices];
- for (int i = 0; i < nChoices; i++)
-- psTitle[i] = aszTitle[i];
-+ psTitle[i] = wxConvUTF8.cMB2WX(aszTitle[i]);
-
- Create (pParent, -1, strTitle, wxDefaultPosition, wxDefaultSize, nChoices, psTitle, 1, wxRA_SPECIFY_COLS);
-
-@@ -89,6 +95,8 @@
- delete [] psTitle;
- };
-
-+
-+
- const char*
- StringValueAndTitleRadioBox::getSelectionStringValue () const
- {
-@@ -105,7 +113,7 @@
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Select Phantom"), 0, wxCENTER | wxALL, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Select Phantom")), 0, wxCENTER | wxALL, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
-@@ -116,9 +124,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_PHANTOM);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -149,11 +157,11 @@
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Select Theta Range"), 0, wxCENTER | wxALL, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Select Theta Range")), 0, wxCENTER | wxALL, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
-- wxString asTitle[] = {"Unconstrained", "Normalized to 2pi", "Fold to pi"};
-+ wxString asTitle[] = {_T("Unconstrained"), _T("Normalized to 2pi"), _T("Fold to pi")};
-
- m_pRadioBoxThetaRange = new wxRadioBox (this, -1, _T("Theta Range"), wxDefaultPosition, wxDefaultSize, 3, asTitle, 1, wxRA_SPECIFY_COLS);
- if (iDefaultThetaRange == ParallelRaysums::THETA_RANGE_UNCONSTRAINED)
-@@ -168,9 +176,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_THETA_RANGE);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -202,12 +210,13 @@
- // DialogGetComparisonImage
- ///////////////////////////////////////////////////////////////////////
-
--DialogGetComparisonImage::DialogGetComparisonImage (wxWindow* pParent, const char* const pszTitle, const std::vector<ImageFileDocument*>& rVecIF, bool bShowMakeDifference)
--: wxDialog (pParent, -1, pszTitle, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION), m_rVecIF(rVecIF)
-+DialogGetComparisonImage::DialogGetComparisonImage (wxWindow* pParent, wxChar const* pwszTitle,
-+ const std::vector<ImageFileDocument*>& rVecIF, bool bShowMakeDifference)
-+: wxDialog (pParent, -1, pwszTitle, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION), m_rVecIF(rVecIF)
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxALL, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, pwszTitle), 0, wxALIGN_CENTER | wxALL, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxALL, 5);
-
-@@ -226,7 +235,7 @@
- pTopSizer->Add (m_pListBoxImageChoices, 0, wxALL | wxALIGN_CENTER | wxEXPAND);
-
- if (bShowMakeDifference) {
-- m_pMakeDifferenceImage = new wxCheckBox (this, -1, "Make Difference Image");
-+ m_pMakeDifferenceImage = new wxCheckBox (this, -1, _T("Make Difference Image"));
- m_pMakeDifferenceImage->SetValue (FALSE);
- pTopSizer->Add (m_pMakeDifferenceImage, 0, wxALL | wxALIGN_CENTER | wxEXPAND);
- } else
-@@ -235,9 +244,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_COMPARISON);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -271,34 +280,35 @@
- // CLASS DiaglogPreferences Implementation
- /////////////////////////////////////////////////////////////////////
-
--DialogPreferences::DialogPreferences (wxWindow* pParent, const char* const pszTitle,
-- bool bAdvancedOptions, bool bAskDeleteNewDocs, bool bVerboseLogging, bool bStartupTips, bool bUseBackgroundTasks)
--: wxDialog (pParent, -1, _T(pszTitle), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
-+DialogPreferences::DialogPreferences (wxWindow* pParent, wxChar const* pwszTitle,
-+ bool bAdvancedOptions, bool bAskDeleteNewDocs, bool bVerboseLogging, bool bStartupTips,
-+ bool bUseBackgroundTasks)
-+: wxDialog (pParent, -1, pwszTitle, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, pwszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
-- m_pCBAdvancedOptions = new wxCheckBox (this, -1, "Advanced Options", wxDefaultPosition, wxSize(250, 25), 0);
-+ m_pCBAdvancedOptions = new wxCheckBox (this, -1, _T("Advanced Options"), wxDefaultPosition, wxSize(250, 25), 0);
- m_pCBAdvancedOptions->SetValue (bAdvancedOptions);
- pTopSizer->Add (m_pCBAdvancedOptions, 0, wxALIGN_CENTER_VERTICAL);
-
-- m_pCBAskDeleteNewDocs = new wxCheckBox (this, -1, "Ask \"Save New Documents\" Before Closing", wxDefaultPosition, wxSize(250, 25), 0);
-+ m_pCBAskDeleteNewDocs = new wxCheckBox (this, -1, _T("Ask \"Save New Documents\" Before Closing"), wxDefaultPosition, wxSize(250, 25), 0);
- m_pCBAskDeleteNewDocs->SetValue (bAskDeleteNewDocs);
- pTopSizer->Add (m_pCBAskDeleteNewDocs, 0, wxALIGN_CENTER_VERTICAL);
-
-- m_pCBVerboseLogging = new wxCheckBox (this, -1, "Verbose Logging", wxDefaultPosition, wxSize(250, 25), 0);
-+ m_pCBVerboseLogging = new wxCheckBox (this, -1, _T("Verbose Logging"), wxDefaultPosition, wxSize(250, 25), 0);
- m_pCBVerboseLogging->SetValue (bVerboseLogging);
- pTopSizer->Add (m_pCBVerboseLogging, 0, wxALIGN_CENTER_VERTICAL);
-
-- m_pCBStartupTips = new wxCheckBox (this, -1, "Show Tips at Start", wxDefaultPosition, wxSize(250, 25), 0);
-+ m_pCBStartupTips = new wxCheckBox (this, -1, _T("Show Tips at Start"), wxDefaultPosition, wxSize(250, 25), 0);
- m_pCBStartupTips->SetValue (bStartupTips);
- pTopSizer->Add (m_pCBStartupTips, 0, wxALIGN_CENTER_VERTICAL);
-
- #if HAVE_WXTHREADS && MSVC
-- m_pCBUseBackgroundTasks = new wxCheckBox (this, -1, "Put Tasks in Background", wxDefaultPosition, wxSize(250, 25), 0);
-+ m_pCBUseBackgroundTasks = new wxCheckBox (this, -1, _T("Put Tasks in Background"), wxDefaultPosition, wxSize(250, 25), 0);
- m_pCBUseBackgroundTasks->SetValue (bUseBackgroundTasks);
- pTopSizer->Add (m_pCBUseBackgroundTasks, 0, wxALIGN_CENTER_VERTICAL);
- #endif
-@@ -306,9 +316,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_PREFERENCES);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -365,35 +375,35 @@
- // CLASS DiaglogGetMinMax Implementation
- /////////////////////////////////////////////////////////////////////
-
--DialogGetMinMax::DialogGetMinMax (wxWindow* pParent, const char* const pszTitle, double dDefaultMin, double dDefaultMax)
--: wxDialog (pParent, -1, _T(pszTitle), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
-+DialogGetMinMax::DialogGetMinMax (wxWindow* pParent, wxChar const* pwszTitle, double dDefaultMin, double dDefaultMax)
-+: wxDialog (pParent, -1, pwszTitle, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, pwszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
-- std::ostringstream os;
-- os << dDefaultMin;
-- m_pTextCtrlMin = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- std::ostringstream osMax;
-- osMax << dDefaultMax;
-- m_pTextCtrlMax = new wxTextCtrl (this, -1, osMax.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-+ wxString sMin;
-+ sMin << dDefaultMin;
-+ m_pTextCtrlMin = new wxTextCtrl (this, -1, sMin, wxDefaultPosition, wxSize(100, 25), 0);
-+ wxString sMax;
-+ sMax << dDefaultMax;
-+ m_pTextCtrlMax = new wxTextCtrl (this, -1, sMax, wxDefaultPosition, wxSize(100, 25), 0);
-
- wxFlexGridSizer *pGridSizer = new wxFlexGridSizer (2);
-- pGridSizer->Add (new wxStaticText (this, -1, "Minimum"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Minimum")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlMin, 0, wxALIGN_CENTER_VERTICAL);
-- pGridSizer->Add (new wxStaticText (this, -1, "Maximum"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Maximum")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlMax, 0, wxALIGN_CENTER_VERTICAL);
- pTopSizer->Add (pGridSizer, 1, wxALL, 10);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_MINMAX);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -443,30 +453,30 @@
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Auto Scale Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Auto Scale Parameters")), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
-- wxString asTitle[] = {"Mode", "Median", "Mean"};
-+ wxString asTitle[] = {_T("Mode"), _T("Median"), _T("Mean")};
-
- m_pRadioBoxCenter = new wxRadioBox (this, -1, _T("Center"), wxDefaultPosition, wxDefaultSize, 3, asTitle, 1, wxRA_SPECIFY_COLS);
- m_pRadioBoxCenter->SetSelection (0);
- pTopSizer->Add (m_pRadioBoxCenter, 0, wxALL | wxALIGN_CENTER);
-
- wxGridSizer *pGridSizer = new wxGridSizer (2);
-- pGridSizer->Add (new wxStaticText (this, -1, "Standard Deviation Factor"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osDefaultFactor;
-- osDefaultFactor << dDefaultScaleFactor;
-- m_pTextCtrlStdDevFactor = new wxTextCtrl (this, -1, osDefaultFactor.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Standard Deviation Factor")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sDefaultFactor;
-+ sDefaultFactor << dDefaultScaleFactor;
-+ m_pTextCtrlStdDevFactor = new wxTextCtrl (this, -1, sDefaultFactor, wxDefaultPosition, wxSize(100, 25), 0);
- pGridSizer->Add (m_pTextCtrlStdDevFactor, 0, wxALIGN_CENTER_VERTICAL);
- pTopSizer->Add (pGridSizer, 1, wxALL, 10);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_AUTOSCALE);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -493,13 +503,13 @@
- wxString sStddevFactor = m_pTextCtrlStdDevFactor->GetValue();
- double dValue;
- if (! sStddevFactor.ToDouble (&dValue)) {
-- *theApp->getLog() << "Error: Non-numeric Standard Deviation Factor of " << sStddevFactor << "\n";
-+ *theApp->getLog() << _T("Error: Non-numeric Standard Deviation Factor of ") << sStddevFactor << _T("\n");
- return false;
- }
- double dHalfWidth = dValue * m_dStdDev / 2;
- *pMin = dCenter - dHalfWidth;
- *pMax = dCenter + dHalfWidth;
-- *theApp->getLog() << "Setting minimum to " << *pMin << " and maximum to " << *pMax << "\n";
-+ *theApp->getLog() << _T("Setting minimum to ") << *pMin << _T(" and maximum to ") << *pMax << _T("\n");
-
- return true;
- }
-@@ -510,7 +520,7 @@
- wxString sStddevFactor = m_pTextCtrlStdDevFactor->GetValue();
- double dValue = 1.;
- if (! sStddevFactor.ToDouble (&dValue)) {
-- *theApp->getLog() << "Error: Non-numeric Standard Deviation Factor of " << sStddevFactor << "\n";
-+ *theApp->getLog() << _T("Error: Non-numeric Standard Deviation Factor of ") << sStddevFactor << _T("\n");
- }
-
- return dValue;
-@@ -530,30 +540,30 @@
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Rasterization Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Rasterization Parameters")), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxFlexGridSizer *pGridSizer = new wxFlexGridSizer (2);
-- std::ostringstream os;
-- os << iDefaultXSize;
-- m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "X Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sXSize;
-+ sXSize << iDefaultXSize;
-+ m_pTextCtrlXSize = new wxTextCtrl (this, -1, sXSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("X Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlXSize, 0, wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osYSize;
-- osYSize << iDefaultYSize;
-- m_pTextCtrlYSize = new wxTextCtrl (this, -1, osYSize.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Y Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sYSize;
-+ sYSize << iDefaultYSize;
-+ m_pTextCtrlYSize = new wxTextCtrl (this, -1, sYSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Y Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlYSize, 0, wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osViewRatio;
-- osViewRatio << dDefaultViewRatio;
-- m_pTextCtrlViewRatio = new wxTextCtrl (this, -1, osViewRatio.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "View Ratio"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sViewRatio;
-+ sViewRatio << dDefaultViewRatio;
-+ m_pTextCtrlViewRatio = new wxTextCtrl (this, -1, sViewRatio, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("View Ratio")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlViewRatio, 0, wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osNSamples;
-- osNSamples << iDefaultNSamples;
-- m_pTextCtrlNSamples = new wxTextCtrl (this, -1, osNSamples.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Samples per Pixel"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sNSamples;
-+ sNSamples << iDefaultNSamples;
-+ m_pTextCtrlNSamples = new wxTextCtrl (this, -1, sNSamples, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Samples per Pixel")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlNSamples, 0, wxALIGN_CENTER_VERTICAL);
-
- pTopSizer->Add (pGridSizer, 1, wxALL, 10);
-@@ -561,9 +571,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_RASTERIZE);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -653,7 +663,7 @@
- m_iDefaultTrace = iDefaultTrace;
- m_iDefaultGeometry = iDefaultGeometry;
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Projection Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Projection Parameters")), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
-@@ -668,58 +678,58 @@
- pGridSizer->Add (m_pRadioBoxTrace, 0, wxALL | wxALIGN_CENTER | wxEXPAND);
-
- wxFlexGridSizer* pText1Sizer = new wxFlexGridSizer(2);
-- std::ostringstream os;
-- os << iDefaultNDet;
-- m_pTextCtrlNDet = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText1Sizer->Add (new wxStaticText (this, -1, "Detectors"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sNDet;
-+ sNDet << iDefaultNDet;
-+ m_pTextCtrlNDet = new wxTextCtrl (this, -1, sNDet, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText1Sizer->Add (new wxStaticText (this, -1, _T("Detectors")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText1Sizer->Add (m_pTextCtrlNDet, 0, wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osNView;
-- osNView << iDefaultNView;
-- m_pTextCtrlNView = new wxTextCtrl (this, -1, osNView.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText1Sizer->Add (new wxStaticText (this, -1, "Views"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sNView;
-+ sNView << iDefaultNView;
-+ m_pTextCtrlNView = new wxTextCtrl (this, -1, sNView, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText1Sizer->Add (new wxStaticText (this, -1, _T("Views")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText1Sizer->Add (m_pTextCtrlNView, 0, wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osNSamples;
-- osNSamples << iDefaultNSamples;
-- m_pTextCtrlNSamples = new wxTextCtrl (this, -1, osNSamples.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText1Sizer->Add (new wxStaticText (this, -1, "Samples per Detector"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sNSamples;
-+ sNSamples << iDefaultNSamples;
-+ m_pTextCtrlNSamples = new wxTextCtrl (this, -1, sNSamples, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText1Sizer->Add (new wxStaticText (this, -1, _T("Samples per Detector")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText1Sizer->Add (m_pTextCtrlNSamples, 0, wxALIGN_CENTER_VERTICAL);
-
- pGridSizer->Add (pText1Sizer);
-
- wxFlexGridSizer* pText2Sizer = new wxFlexGridSizer(2);
-- std::ostringstream osViewRatio;
-- osViewRatio << dDefaultViewRatio;
-- m_pTextCtrlViewRatio = new wxTextCtrl (this, -1, osViewRatio.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText2Sizer->Add (new wxStaticText (this, -1, "View Ratio"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sViewRatio;
-+ sViewRatio << dDefaultViewRatio;
-+ m_pTextCtrlViewRatio = new wxTextCtrl (this, -1, sViewRatio, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText2Sizer->Add (new wxStaticText (this, -1, _T("View Ratio")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText2Sizer->Add (m_pTextCtrlViewRatio, 0, wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osScanRatio;
-- osScanRatio << dDefaultScanRatio;
-- m_pTextCtrlScanRatio = new wxTextCtrl (this, -1, osScanRatio.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText2Sizer->Add (new wxStaticText (this, -1, "Scan Ratio"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sScanRatio;
-+ sScanRatio << dDefaultScanRatio;
-+ m_pTextCtrlScanRatio = new wxTextCtrl (this, -1, sScanRatio, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText2Sizer->Add (new wxStaticText (this, -1, _T("Scan Ratio")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText2Sizer->Add (m_pTextCtrlScanRatio, 0, wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osFocalLength;
-- osFocalLength << dDefaultFocalLength;
-- m_pTextCtrlFocalLength = new wxTextCtrl (this, -1, osFocalLength.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText2Sizer->Add (new wxStaticText (this, -1, "Focal Length Ratio"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sFocalLength;
-+ sFocalLength << dDefaultFocalLength;
-+ m_pTextCtrlFocalLength = new wxTextCtrl (this, -1, sFocalLength, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText2Sizer->Add (new wxStaticText (this, -1, _T("Focal Length Ratio")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText2Sizer->Add (m_pTextCtrlFocalLength, 0, wxALIGN_CENTER_VERTICAL);
-
- if (theApp->getAdvancedOptions()) {
-- std::ostringstream osCenterDetectorLength;
-- osCenterDetectorLength << dDefaultCenterDetectorLength;
-- m_pTextCtrlCenterDetectorLength = new wxTextCtrl (this, -1, osCenterDetectorLength.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText2Sizer->Add (new wxStaticText (this, -1, "Center-Detector Length Ratio"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sCenterDetectorLength;
-+ sCenterDetectorLength << dDefaultCenterDetectorLength;
-+ m_pTextCtrlCenterDetectorLength = new wxTextCtrl (this, -1, sCenterDetectorLength, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText2Sizer->Add (new wxStaticText (this, -1, _T("Center-Detector Length Ratio")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText2Sizer->Add (m_pTextCtrlCenterDetectorLength, 0, wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osRotAngle;
-- osRotAngle << dDefaultRotAngle;
-- m_pTextCtrlRotAngle = new wxTextCtrl (this, -1, osRotAngle.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText2Sizer->Add (new wxStaticText (this, -1, "Rotation Angle (Fraction of circle)"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sRotAngle;
-+ sRotAngle << dDefaultRotAngle;
-+ m_pTextCtrlRotAngle = new wxTextCtrl (this, -1, sRotAngle, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText2Sizer->Add (new wxStaticText (this, -1, _T("Rotation Angle (Fraction of circle)")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText2Sizer->Add (m_pTextCtrlRotAngle, 0, wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osOffsetView;
-- osOffsetView << iDefaultOffsetView;
-- m_pTextCtrlOffsetView = new wxTextCtrl (this, -1, osOffsetView.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pText2Sizer->Add (new wxStaticText (this, -1, "Gantry offset in units of 'views' "), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sOffsetView;
-+ sOffsetView << iDefaultOffsetView;
-+ m_pTextCtrlOffsetView = new wxTextCtrl (this, -1, sOffsetView, wxDefaultPosition, wxSize(100, 25), 0);
-+ pText2Sizer->Add (new wxStaticText (this, -1, _T("Gantry offset in units of 'views' ")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pText2Sizer->Add (m_pTextCtrlOffsetView, 0, wxALIGN_CENTER_VERTICAL);
-
- }
-@@ -730,9 +740,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_PROJECTIONS);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -907,7 +917,7 @@
- m_dDefaultRoiYMin = pDefaultROI->m_dYMin;
- m_dDefaultRoiYMax = pDefaultROI->m_dYMax;
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Filtered Backprojection Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Filtered Backprojection Parameters")), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxFlexGridSizer* pGridSizer = NULL;
-@@ -966,61 +976,61 @@
- pGridSizer->Add (m_pRadioBoxTrace);
-
- wxFlexGridSizer* pTextGridSizer = new wxFlexGridSizer (2);
-- std::ostringstream os;
-- os << iDefaultXSize;
-- m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pTextGridSizer->Add (new wxStaticText (this, -1, "X Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sXSize;
-+ sXSize << iDefaultXSize;
-+ m_pTextCtrlXSize = new wxTextCtrl (this, -1, sXSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pTextGridSizer->Add (new wxStaticText (this, -1, _T("X Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pTextGridSizer->Add (m_pTextCtrlXSize, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osYSize;
-- osYSize << iDefaultYSize;
-- m_pTextCtrlYSize = new wxTextCtrl (this, -1, osYSize.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pTextGridSizer->Add (new wxStaticText (this, -1, "Y Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sYSize;
-+ sYSize << iDefaultYSize;
-+ m_pTextCtrlYSize = new wxTextCtrl (this, -1, sYSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pTextGridSizer->Add (new wxStaticText (this, -1, _T("Y Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pTextGridSizer->Add (m_pTextCtrlYSize, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osHammingParam;
-- osHammingParam << dDefaultHammingParam;
-- m_pTextCtrlFilterParam = new wxTextCtrl (this, -1, osHammingParam.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pTextGridSizer->Add (new wxStaticText (this, -1, "Hamming Parameter"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sHammingParam;
-+ sHammingParam << dDefaultHammingParam;
-+ m_pTextCtrlFilterParam = new wxTextCtrl (this, -1, sHammingParam, wxDefaultPosition, wxSize(100, 25), 0);
-+ pTextGridSizer->Add (new wxStaticText (this, -1, _T("Hamming Parameter")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pTextGridSizer->Add (m_pTextCtrlFilterParam, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
- if (theApp->getAdvancedOptions()) {
-- std::ostringstream osZeropad;
-- osZeropad << iDefaultZeropad;
-- m_pTextCtrlZeropad = new wxTextCtrl (this, -1, osZeropad.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pTextGridSizer->Add (new wxStaticText (this, -1, "Zeropad"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sZeropad;
-+ sZeropad << iDefaultZeropad;
-+ m_pTextCtrlZeropad = new wxTextCtrl (this, -1, sZeropad, wxDefaultPosition, wxSize(100, 25), 0);
-+ pTextGridSizer->Add (new wxStaticText (this, -1, _T("Zeropad")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pTextGridSizer->Add (m_pTextCtrlZeropad, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
- }
- pGridSizer->Add (pTextGridSizer);
-
- #if HAVE_FREQ_PREINTERP
-- std::ostringstream osInterpParam;
-- osInterpParam << iDefaultInterpParam;
-- m_pTextCtrlInterpParam = new wxTextCtrl (this, -1, osInterpParam.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Interpolation Parameter"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sInterpParam;
-+ sInterpParam << iDefaultInterpParam;
-+ m_pTextCtrlInterpParam = new wxTextCtrl (this, -1, sInterpParam, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Interpolation Parameter")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlInterpParam, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
- #endif
-
- if (theApp->getAdvancedOptions()) {
- wxFlexGridSizer* pROIGridSizer = new wxFlexGridSizer (2);
-- std::ostringstream osRoiXMin;
-- osRoiXMin << m_dDefaultRoiXMin;
-- m_pTextCtrlRoiXMin = new wxTextCtrl (this, -1, osRoiXMin.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pROIGridSizer->Add (new wxStaticText (this, -1, "ROI XMin"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sRoiXMin;
-+ sRoiXMin << m_dDefaultRoiXMin;
-+ m_pTextCtrlRoiXMin = new wxTextCtrl (this, -1, sRoiXMin, wxDefaultPosition, wxSize(100, 25), 0);
-+ pROIGridSizer->Add (new wxStaticText (this, -1, _T("ROI XMin")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pROIGridSizer->Add (m_pTextCtrlRoiXMin, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osRoiXMax;
-- osRoiXMax << m_dDefaultRoiXMax;
-- m_pTextCtrlRoiXMax = new wxTextCtrl (this, -1, osRoiXMax.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pROIGridSizer->Add (new wxStaticText (this, -1, "ROI XMax"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sRoiXMax;
-+ sRoiXMax << m_dDefaultRoiXMax;
-+ m_pTextCtrlRoiXMax = new wxTextCtrl (this, -1, sRoiXMax, wxDefaultPosition, wxSize(100, 25), 0);
-+ pROIGridSizer->Add (new wxStaticText (this, -1, _T("ROI XMax")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pROIGridSizer->Add (m_pTextCtrlRoiXMax, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osRoiYMin;
-- osRoiYMin << m_dDefaultRoiYMin;
-- m_pTextCtrlRoiYMin = new wxTextCtrl (this, -1, osRoiYMin.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pROIGridSizer->Add (new wxStaticText (this, -1, "ROI YMin"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sRoiYMin;
-+ sRoiYMin << m_dDefaultRoiYMin;
-+ m_pTextCtrlRoiYMin = new wxTextCtrl (this, -1, sRoiYMin, wxDefaultPosition, wxSize(100, 25), 0);
-+ pROIGridSizer->Add (new wxStaticText (this, -1, _T("ROI YMin")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pROIGridSizer->Add (m_pTextCtrlRoiYMin, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osRoiYMax;
-- osRoiYMax << m_dDefaultRoiYMax;
-- m_pTextCtrlRoiYMax = new wxTextCtrl (this, -1, osRoiYMax.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pROIGridSizer->Add (new wxStaticText (this, -1, "ROI YMax"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sRoiYMax;
-+ sRoiYMax << m_dDefaultRoiYMax;
-+ m_pTextCtrlRoiYMax = new wxTextCtrl (this, -1, sRoiYMax, wxDefaultPosition, wxSize(100, 25), 0);
-+ pROIGridSizer->Add (new wxStaticText (this, -1, _T("ROI YMax")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pROIGridSizer->Add (m_pTextCtrlRoiYMax, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
- pGridSizer->Add (pROIGridSizer);
-@@ -1031,9 +1041,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_RECONSTRUCTION);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -1211,7 +1221,7 @@
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Filter Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Filter Parameters")), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxFlexGridSizer* pGridSizer = new wxFlexGridSizer (2);
-@@ -1224,40 +1234,40 @@
- m_pRadioBoxDomain->SetSelection (iDefaultDomainID);
- pGridSizer->Add (m_pRadioBoxDomain, 0, wxALL | wxALIGN_LEFT | wxEXPAND);
-
-- std::ostringstream os;
-- os << iDefaultXSize;
-- m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "X Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sXSize;
-+ sXSize << iDefaultXSize;
-+ m_pTextCtrlXSize = new wxTextCtrl (this, -1, sXSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("X Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlXSize, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osYSize;
-- osYSize << iDefaultYSize;
-- m_pTextCtrlYSize = new wxTextCtrl (this, -1, osYSize.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Y Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sYSize;
-+ sYSize << iDefaultYSize;
-+ m_pTextCtrlYSize = new wxTextCtrl (this, -1, sYSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Y Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlYSize, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osFilterParam;
-- osFilterParam << dDefaultFilterParam;
-- m_pTextCtrlFilterParam = new wxTextCtrl (this, -1, osFilterParam.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Filter Parameter"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sFilterParam;
-+ sFilterParam << dDefaultFilterParam;
-+ m_pTextCtrlFilterParam = new wxTextCtrl (this, -1, sFilterParam, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Filter Parameter")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlFilterParam, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osBandwidth;
-- osBandwidth << dDefaultBandwidth;
-- m_pTextCtrlBandwidth = new wxTextCtrl (this, -1, osBandwidth.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Bandwidth"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sBandwidth;
-+ sBandwidth << dDefaultBandwidth;
-+ m_pTextCtrlBandwidth = new wxTextCtrl (this, -1, sBandwidth, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Bandwidth")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlBandwidth, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osInputScale;
-- osInputScale << dDefaultInputScale;
-- m_pTextCtrlInputScale = new wxTextCtrl (this, -1, osInputScale.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Axis (input) Scale"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sInputScale;
-+ sInputScale << dDefaultInputScale;
-+ m_pTextCtrlInputScale = new wxTextCtrl (this, -1, sInputScale, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Axis (input) Scale")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlInputScale, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
-- std::ostringstream osOutputScale;
-- osOutputScale << dDefaultOutputScale;
-- m_pTextCtrlOutputScale = new wxTextCtrl (this, -1, osOutputScale.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pGridSizer->Add (new wxStaticText (this, -1, "Filter Output Scale"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sOutputScale;
-+ sOutputScale << dDefaultOutputScale;
-+ m_pTextCtrlOutputScale = new wxTextCtrl (this, -1, sOutputScale, wxDefaultPosition, wxSize(100, 25), 0);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Filter Output Scale")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlOutputScale, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-
- pTopSizer->Add (pGridSizer, 1, wxALL, 3);
-@@ -1265,9 +1275,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_FILTER);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -1376,7 +1386,7 @@
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Select Export Format"), 0, wxALIGN_CENTER | wxALL, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Select Export Format")), 0, wxALIGN_CENTER | wxALL, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxALL, 5);
-
-@@ -1388,9 +1398,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_EXPORT);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -1421,7 +1431,7 @@
- {
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, "Select Import Format"), 0, wxALIGN_CENTER | wxALL, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, _T("Select Import Format")), 0, wxALIGN_CENTER | wxALL, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxALL, 5);
-
-@@ -1433,9 +1443,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_IMPORT);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-@@ -1460,38 +1470,38 @@
- // CLASS DiaglogGetXYSize Implementation
- /////////////////////////////////////////////////////////////////////
-
--DialogGetXYSize::DialogGetXYSize (wxWindow* pParent, const char* const pszTitle, int iDefaultXSize, int iDefaultYSize)
--: wxDialog (pParent, -1, _T(pszTitle), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
-+DialogGetXYSize::DialogGetXYSize (wxWindow* pParent, wxChar const * pwszTitle, int iDefaultXSize, int iDefaultYSize)
-+: wxDialog (pParent, -1, pwszTitle, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
- {
- m_iDefaultXSize = iDefaultXSize;
- m_iDefaultYSize = iDefaultYSize;
-
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, pwszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
-- std::ostringstream os;
-- os << iDefaultXSize;
-- m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- std::ostringstream osYSize;
-- osYSize << iDefaultYSize;
-- m_pTextCtrlYSize = new wxTextCtrl (this, -1, osYSize.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-+ wxString sXSize;
-+ sXSize << iDefaultXSize;
-+ m_pTextCtrlXSize = new wxTextCtrl (this, -1, sXSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ wxString sYSize;
-+ sYSize << iDefaultYSize;
-+ m_pTextCtrlYSize = new wxTextCtrl (this, -1, sYSize, wxDefaultPosition, wxSize(100, 25), 0);
-
- wxFlexGridSizer *pGridSizer = new wxFlexGridSizer (2);
-- pGridSizer->Add (new wxStaticText (this, -1, "X Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("X Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlXSize, 0, wxALIGN_CENTER_VERTICAL);
-- pGridSizer->Add (new wxStaticText (this, -1, "Y Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ pGridSizer->Add (new wxStaticText (this, -1, _T("Y Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pGridSizer->Add (m_pTextCtrlYSize, 0, wxALIGN_CENTER_VERTICAL);
- pTopSizer->Add (pGridSizer, 1, wxALL, 10);
-
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
-
- pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER);
-@@ -1537,9 +1547,9 @@
- // DialogGetConvertPolarParameters
- /////////////////////////////////////////////////////////////////////
-
--DialogGetConvertPolarParameters::DialogGetConvertPolarParameters (wxWindow* pParent, const char* const pszTitle,
-+DialogGetConvertPolarParameters::DialogGetConvertPolarParameters (wxWindow* pParent, wxChar const * pwszTitle,
- int iDefaultXSize, int iDefaultYSize, int iDefaultInterpolationID, int iDefaultZeropad, int iHelpID)
--: wxDialog (pParent, -1, _T(pszTitle), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
-+: wxDialog (pParent, -1, pwszTitle, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION)
- {
- m_iDefaultXSize = iDefaultXSize;
- m_iDefaultYSize = iDefaultYSize;
-@@ -1547,7 +1557,7 @@
-
- wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL);
-
-- pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
-+ pTopSizer->Add (new wxStaticText (this, -1, pwszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5);
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxFlexGridSizer* pGridSizer = new wxFlexGridSizer (1);
-@@ -1557,21 +1567,21 @@
- pGridSizer->Add (m_pRadioBoxInterpolation, 0, wxALL | wxALIGN_CENTER);
-
- wxFlexGridSizer* pTextGridSizer = new wxFlexGridSizer (2);
-- std::ostringstream os;
-- os << iDefaultXSize;
-- m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pTextGridSizer->Add (new wxStaticText (this, -1, "X Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sXSize;
-+ sXSize << iDefaultXSize;
-+ m_pTextCtrlXSize = new wxTextCtrl (this, -1, sXSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pTextGridSizer->Add (new wxStaticText (this, -1, _T("X Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pTextGridSizer->Add (m_pTextCtrlXSize, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
-- std::ostringstream osYSize;
-- osYSize << iDefaultYSize;
-- m_pTextCtrlYSize = new wxTextCtrl (this, -1, osYSize.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pTextGridSizer->Add (new wxStaticText (this, -1, "Y Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sYSize;
-+ sYSize << iDefaultYSize;
-+ m_pTextCtrlYSize = new wxTextCtrl (this, -1, sYSize, wxDefaultPosition, wxSize(100, 25), 0);
-+ pTextGridSizer->Add (new wxStaticText (this, -1, _T("Y Size")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pTextGridSizer->Add (m_pTextCtrlYSize, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
- if (m_iDefaultZeropad >= 0) {
-- std::ostringstream osZeropad;
-- osZeropad << iDefaultZeropad;
-- m_pTextCtrlZeropad = new wxTextCtrl (this, -1, osZeropad.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0);
-- pTextGridSizer->Add (new wxStaticText (this, -1, "Zeropad"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
-+ wxString sZeropad;
-+ sZeropad << iDefaultZeropad;
-+ m_pTextCtrlZeropad = new wxTextCtrl (this, -1, sZeropad, wxDefaultPosition, wxSize(100, 25), 0);
-+ pTextGridSizer->Add (new wxStaticText (this, -1, _T("Zeropad")), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
- pTextGridSizer->Add (m_pTextCtrlZeropad, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
- }
-
-@@ -1582,9 +1592,9 @@
- pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Okay"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, iHelpID);
- pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10);
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/dialogs.h ctsim-wx2.8/src/dialogs.h
---- ctsim/src/dialogs.h 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/dialogs.h 2008-07-21 10:08:10.892315253 -0600
-@@ -44,7 +44,7 @@
- {
- public:
- CTSimHelpButton (wxWindow* parent, int id)
-- : wxButton (parent, id, "Help")
-+ : wxButton (parent, id, _T("Help"))
- {}
- };
-
-@@ -57,7 +57,12 @@
- class StringValueAndTitleListBox : public wxListBox
- {
- public:
-- StringValueAndTitleListBox (wxDialog* pParent, int nChoices, const char* const aszTitle[], const char* const aszValue[]);
-+ StringValueAndTitleListBox (wxDialog* pParent, int nChoices, wxChar const* const* asTitle,
-+ char const* const aszValue[]);
-+ StringValueAndTitleListBox (wxDialog* pParent, int nChoices, wxChar const* title,
-+ char const* const* aszTitle, char const* const* aszValue);
-+ StringValueAndTitleListBox (wxDialog* pParent, int nChoices, wxChar const* title,
-+ wxChar const* const* asTitle, char const* const* aszValue);
-
- const char* getSelectionStringValue () const;
-
-@@ -69,7 +74,7 @@
- class StringValueAndTitleRadioBox : public wxRadioBox
- {
- public:
-- StringValueAndTitleRadioBox (wxDialog* pParent, const wxString& strTitle, int nChoices, const char* const aszTitle[], const char* const aszValue[]);
-+ StringValueAndTitleRadioBox (wxDialog* pParent, wxChar const* strTitle, int nChoices, const char* const aszTitle[], const char* const aszValue[]);
-
- const char* getSelectionStringValue () const;
-
-@@ -108,7 +113,7 @@
- class DialogGetComparisonImage : public wxDialog
- {
- public:
-- DialogGetComparisonImage (wxWindow* pParent, const char* const pszTitle, const std::vector<ImageFileDocument*>& rVecIF, bool bShowMakeDifference);
-+ DialogGetComparisonImage (wxWindow* pParent, wxChar const * pwszTitle, const std::vector<ImageFileDocument*>& rVecIF, bool bShowMakeDifference);
- virtual ~DialogGetComparisonImage () {}
-
- ImageFileDocument* getImageFileDocument ();
-@@ -125,7 +130,7 @@
- class DialogPreferences : public wxDialog
- {
- public:
-- DialogPreferences (wxWindow* pParent, const char* const pszTitle, bool bAdvanced, bool bAskNewDocs,
-+ DialogPreferences (wxWindow* pParent, wxChar const* pszTitle, bool bAdvanced, bool bAskNewDocs,
- bool bVerboseLogging, bool bStartupTips, bool bUseBackgroundTasks);
- virtual ~DialogPreferences ();
-
-@@ -148,7 +153,7 @@
- class DialogGetMinMax : public wxDialog
- {
- public:
-- DialogGetMinMax (wxWindow* pParent, const char* const pszTitle, double dDefaultMin = 0., double dDefaultMax = 0.);
-+ DialogGetMinMax (wxWindow* pParent, wxChar const* pszTitle, double dDefaultMin = 0., double dDefaultMax = 0.);
- virtual ~DialogGetMinMax ();
-
- double getMinimum ();
-@@ -373,7 +378,7 @@
- class DialogGetXYSize : public wxDialog
- {
- public:
-- DialogGetXYSize (wxWindow* pParent, const char* const pszTitle, int iDefaultXSize = 1, int iDefaultYSize = 1);
-+ DialogGetXYSize (wxWindow* pParent, wxChar const * pwszTitle, int iDefaultXSize = 1, int iDefaultYSize = 1);
- virtual ~DialogGetXYSize ();
-
- unsigned int getXSize ();
-@@ -391,7 +396,7 @@
- class DialogGetConvertPolarParameters : public wxDialog
- {
- public:
-- DialogGetConvertPolarParameters (wxWindow* pParent, const char* const pszTitle, int iDefaultXSize = 0,
-+ DialogGetConvertPolarParameters (wxWindow* pParent, wxChar const * pwszTitle, int iDefaultXSize = 0,
- int iDefaultYSize = 0, int iDefaultInterpolationID = Projections::POLAR_INTERP_BILINEAR,
- int iDefaultZeropad = 3, int iHelpID = IDH_DLG_POLAR);
- virtual ~DialogGetConvertPolarParameters ();
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/dlgezplot.cpp ctsim-wx2.8/src/dlgezplot.cpp
---- ctsim/src/dlgezplot.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/dlgezplot.cpp 2008-07-21 10:08:10.900315744 -0600
-@@ -104,7 +104,7 @@
-
-
- wxEZPlotDialog::wxEZPlotDialog (wxWindow *parent, bool bCancelButton)
--: wxDialog((parent ? parent : theApp->getMainFrame()), -1, wxString("EZPlot"), wxDefaultPosition, wxDefaultSize, wxDIALOG_MODAL),
-+: wxDialog((parent ? parent : theApp->getMainFrame()), -1, _T("EZPlot"), wxDefaultPosition, wxDefaultSize, wxDIALOG_MODAL),
- m_parentTop(0)
- {
- if (! parent)
-@@ -119,10 +119,10 @@
- pTopSizer->Add (m_pEZPlotCtrl = new EZPlotControl (this), 0, wxALIGN_CENTER | wxALL, 5);
-
- wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL);
-- wxButton* pButtonOk = new wxButton (this, wxID_OK, "Ok");
-+ wxButton* pButtonOk = new wxButton (this, wxID_OK, _T("Ok"));
- pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10);
- if (bCancelButton) {
-- wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel");
-+ wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, _T("Cancel"));
- pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10);
- }
- pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER);
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/dlgezplot.h ctsim-wx2.8/src/dlgezplot.h
---- ctsim/src/dlgezplot.h 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/dlgezplot.h 2008-07-21 10:08:10.908316235 -0600
-@@ -57,7 +57,7 @@
- const wxSize& size = wxDefaultSize,
- long style = wxSTATIC_BORDER,
- const wxValidator& validator = wxDefaultValidator,
-- const wxString& name = "EZPlotCtrl");
-+ const wxString& name = _T("EZPlotCtrl"));
-
- virtual ~EZPlotControl();
-
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/dlgprojections.cpp ctsim-wx2.8/src/dlgprojections.cpp
---- ctsim/src/dlgprojections.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/dlgprojections.cpp 2008-07-21 10:08:10.916316725 -0600
-@@ -59,7 +59,7 @@
-
-
- ProjectionsDialog::ProjectionsDialog (Scanner& rScanner, Projections& rProj, const Phantom& rPhantom, const int iTrace, wxWindow *parent)
-- : wxDialog(parent, -1, "Collect Projections", wxDefaultPosition), m_rScanner(rScanner), m_rProjections(rProj), m_rPhantom(rPhantom),
-+: wxDialog(parent, -1, _T("Collect Projections"), wxDefaultPosition), m_rScanner(rScanner), m_rProjections(rProj), m_rPhantom(rPhantom),
- m_pSGPDriver(NULL), m_pSGP(NULL), m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0)
- {
- m_state = Continue;
-@@ -79,7 +79,7 @@
-
- m_btnAbort->SetConstraints(c);
-
-- m_btnPause = new wxButton (this, ID_BTN_PAUSE, wxString("Pause"));
-+ m_btnPause = new wxButton (this, ID_BTN_PAUSE, _T("Pause"));
- wxLayoutConstraints* cPause = new wxLayoutConstraints;
- cPause->right.SameAs(this, wxRight, 3*LAYOUT_X_MARGIN + sizeBtn.x);
- cPause->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN);
-@@ -87,7 +87,7 @@
- cPause->height.Absolute(sizeBtn.y);
- m_btnPause->SetConstraints(cPause);
-
-- m_btnStep = new wxButton (this, ID_BTN_STEP, wxString("Step"));
-+ m_btnStep = new wxButton (this, ID_BTN_STEP, _T("Step"));
- wxLayoutConstraints* cStep = new wxLayoutConstraints;
- cStep->right.SameAs(this, wxRight, 5*LAYOUT_X_MARGIN + sizeBtn.x * 2);
- cStep->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN);
-@@ -187,7 +187,7 @@
- showView (iViewNumber);
- wxYield(); // update the display
- if (m_iTrace >= Trace::TRACE_PLOT) {
-- ::wxUsleep(500);
-+ ::wxMilliSleep(500);
- }
- } else {
- m_state = Finished; // so that we return TRUE below and
-@@ -232,12 +232,12 @@
- m_pSGP->setDC (&m_memoryDC);
- showView (m_iLastView);
- m_state = Paused;
-- m_btnPause->SetLabel (wxString("Resume"));
-+ m_btnPause->SetLabel (_T("Resume"));
- m_pSGP->setDC (m_pDC);
- m_memoryDC.SelectObject(wxNullBitmap);
- } else if (m_state == Paused) {
- m_state = Continue;
-- m_btnPause->SetLabel (wxString("Pause"));
-+ m_btnPause->SetLabel (_T("Pause"));
- }
- }
-
-@@ -252,7 +252,7 @@
- showView (m_iLastView);
- // m_rScanner.collectProjections (m_rProjections, m_rPhantom, m_iLastView, 1, true, m_iTrace, m_pSGP);
- m_state = Paused;
-- m_btnPause->SetLabel (wxString("Resume"));
-+ m_btnPause->SetLabel (_T("Resume"));
- m_pSGP->setDC (m_pDC);
- m_memoryDC.SelectObject(wxNullBitmap);
- Refresh();
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/dlgreconstruct.cpp ctsim-wx2.8/src/dlgreconstruct.cpp
---- ctsim/src/dlgreconstruct.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/dlgreconstruct.cpp 2008-07-21 10:08:10.920316971 -0600
-@@ -67,7 +67,7 @@
-
- ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Projections& rProj,
- ImageFile& rIF, const int iTrace, wxWindow *parent)
--: wxDialog(parent, -1, "Reconstruction", wxDefaultPosition), m_rReconstructor(rReconstruct),
-+: wxDialog(parent, -1, _T("Reconstruction"), wxDefaultPosition), m_rReconstructor(rReconstruct),
- m_rProjections(rProj), m_rImageFile(rIF), m_pSGPDriver(NULL), m_pSGP(NULL),
- m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0)
- {
-@@ -77,7 +77,7 @@
- while ( m_parentTop && m_parentTop->GetParent() )
- m_parentTop = m_parentTop->GetParent();
-
-- m_btnAbort = new wxButton(this, wxID_CANCEL, _("Cancel"));
-+ m_btnAbort = new wxButton(this, wxID_CANCEL, _T("Cancel"));
- wxLayoutConstraints* c = new wxLayoutConstraints;
- c->right.SameAs(this, wxRight, 2*LAYOUT_X_MARGIN);
- c->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN);
-@@ -88,7 +88,7 @@
-
- m_btnAbort->SetConstraints(c);
-
-- m_btnPause = new wxButton (this, ID_BTN_PAUSE, wxString("Pause"));
-+ m_btnPause = new wxButton (this, ID_BTN_PAUSE, _T("Pause"));
- wxLayoutConstraints* cPause = new wxLayoutConstraints;
- cPause->right.SameAs(this, wxRight, 3*LAYOUT_X_MARGIN + sizeBtn.x);
- cPause->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN);
-@@ -96,7 +96,7 @@
- cPause->height.Absolute(sizeBtn.y);
- m_btnPause->SetConstraints(cPause);
-
-- m_btnStep = new wxButton (this, ID_BTN_STEP, wxString("Step"));
-+ m_btnStep = new wxButton (this, ID_BTN_STEP, _T("Step"));
- wxLayoutConstraints* cStep = new wxLayoutConstraints;
- cStep->right.SameAs(this, wxRight, 5*LAYOUT_X_MARGIN + sizeBtn.x * 2);
- cStep->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN);
-@@ -223,7 +223,7 @@
- showView (iViewNumber, bBackproject);
- ::wxYield(); // update the display
- if (m_iTrace >= Trace::TRACE_PLOT) {
-- ::wxUsleep(250);
-+ ::wxMilliSleep(250);
- }
- } else {
- m_state = Finished; // so that we return TRUE below and
-@@ -267,12 +267,12 @@
- m_memoryDC.SetFont (*wxSWISS_FONT);
- showView (m_iLastView, false);
- m_state = Paused;
-- m_btnPause->SetLabel (wxString("Resume"));
-+ m_btnPause->SetLabel (_T("Resume"));
- m_pSGP->setDC (m_pDC);
- m_memoryDC.SelectObject(wxNullBitmap);
- } else if (m_state == Paused) {
- m_state = Continue;
-- m_btnPause->SetLabel (wxString("Pause"));
-+ m_btnPause->SetLabel (_T("Pause"));
- }
- }
-
-@@ -288,7 +288,7 @@
- m_memoryDC.SetFont (*wxSWISS_FONT);
- showView (m_iLastView, false);
- m_state = Paused;
-- m_btnPause->SetLabel (wxString("Resume"));
-+ m_btnPause->SetLabel (_T("Resume"));
- m_pSGP->setDC (m_pDC);
- m_memoryDC.SelectObject(wxNullBitmap);
- Refresh();
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/docs.cpp ctsim-wx2.8/src/docs.cpp
---- ctsim/src/docs.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/docs.cpp 2008-07-21 10:08:10.924317216 -0600
-@@ -51,12 +51,12 @@
-
- bool ImageFileDocument::OnSaveDocument(const wxString& filename)
- {
-- if (! m_pImageFile->fileWrite (filename)) {
-- *theApp->getLog() << "Unable to write image file " << filename << "\n";
-+ if (! m_pImageFile->fileWrite (filename.mb_str(wxConvUTF8))) {
-+ *theApp->getLog() << _T("Unable to write image file ") << filename << _T("\n");
- return false;
- }
- if (theApp->getVerboseLogging())
-- *theApp->getLog() << "Wrote image file " << filename << "\n";
-+ *theApp->getLog() << _T("Wrote image file ") << filename << _T("\n");
- Modify(false);
- return true;
- }
-@@ -66,14 +66,14 @@
- if (! OnSaveModified())
- return false;
-
-- if (! m_pImageFile->fileRead (filename.c_str())) {
-- *theApp->getLog() << "Unable to read image file " << filename << "\n";
-+ if (! m_pImageFile->fileRead (filename.mb_str(wxConvUTF8))) {
-+ *theApp->getLog() << _T("Unable to read image file ") << filename << _T("\n");
- m_bBadFileOpen = true;
- return false;
- }
-
-- if (theApp->getVerboseLogging() && filename != "")
-- *theApp->getLog() << "Read image file " << filename << "\n";
-+ if (theApp->getVerboseLogging() && filename != _T(""))
-+ *theApp->getLog() << _T("Read image file ") << filename << _T("\n");
-
- SetFilename(filename, true);
- Modify(false);
-@@ -106,13 +106,13 @@
- ImageFileDocument::Revert ()
- {
- if (IsModified()) {
-- wxString msg ("Revert to saved ");
-+ wxString msg (_T("Revert to saved "));
- msg += GetFilename();
-- msg += "?";
-- wxMessageDialog dialog (getView()->getFrame(), msg, "Are you sure?", wxYES_NO | wxNO_DEFAULT);
-+ msg += _T("?");
-+ wxMessageDialog dialog (getView()->getFrame(), msg, _T("Are you sure?"), wxYES_NO | wxNO_DEFAULT);
- if (dialog.ShowModal() == wxID_YES) {
- if (theApp->getVerboseLogging())
-- *theApp->getLog() << "Reverting to saved " << GetFilename() << "\n";
-+ *theApp->getLog() << _T("Reverting to saved ") << GetFilename() << _T("\n");
- Modify (false);
- OnOpenDocument (GetFilename());
- }
-@@ -177,7 +177,7 @@
-
- while (m_vecpBackgroundSupervisors.size() > 0) {
- ::wxYield();
-- ::wxUsleep(50);
-+ ::wxMilliSleep(50);
- }
- #endif
- }
-@@ -190,12 +190,12 @@
- bool
- ProjectionFileDocument::OnSaveDocument(const wxString& filename)
- {
-- if (! m_pProjectionFile->write (filename.c_str())) {
-- *theApp->getLog() << "Unable to write projection file " << filename << "\n";
-+ if (! m_pProjectionFile->write (filename.mb_str(wxConvUTF8))) {
-+ *theApp->getLog() << _T("Unable to write projection file ") << filename << _T("\n");
- return false;
- }
- if (theApp->getVerboseLogging())
-- *theApp->getLog() << "Wrote projection file " << filename << "\n";
-+ *theApp->getLog() << _T("Wrote projection file ") << filename << _T("\n");
- Modify(false);
- return true;
- }
-@@ -213,15 +213,15 @@
- if (! OnSaveModified())
- return false;
-
-- if (! m_pProjectionFile->read (filename.c_str())) {
-- *theApp->getLog() << "Unable to read projection file " << filename << "\n";
-+ if (! m_pProjectionFile->read (filename.mb_str(wxConvUTF8))) {
-+ *theApp->getLog() << _T("Unable to read projection file ") << filename << _T("\n");
- m_bBadFileOpen = true;
- return false;
- }
- m_bBadFileOpen = false;
-
-- if (theApp->getVerboseLogging() && filename != "")
-- *theApp->getLog() << "Read projection file " << filename << "\n";
-+ if (theApp->getVerboseLogging() && filename != _T(""))
-+ *theApp->getLog() << _T("Read projection file ") << filename << _T("\n");
-
- SetFilename(filename, true);
- Modify(false);
-@@ -276,17 +276,17 @@
- wxString filename (constFilename);
-
- if (wxFile::Exists (filename)) {
-- m_phantom.createFromFile (filename);
-+ m_phantom.createFromFile (filename.mb_str(wxConvUTF8));
- if (theApp->getVerboseLogging())
-- *theApp->getLog() << "Read phantom file " << filename << "\n";
-+ *theApp->getLog() << _T("Read phantom file ") << filename << _T("\n");
- } else {
-- filename.Replace (".phm", "");
-- m_phantom.createFromPhantom (filename);
-+ filename.Replace (_T(".phm"), _T(""));
-+ m_phantom.createFromPhantom (filename.mb_str(wxConvUTF8));
- }
- m_namePhantom = filename;
- SetFilename (filename, true);
- if (m_phantom.fail()) {
-- *theApp->getLog() << "Failure creating phantom " << filename << "\n";
-+ *theApp->getLog() << _T("Failure creating phantom ") << filename << _T("\n");
- m_bBadFileOpen = true;
- return false;
- }
-@@ -301,12 +301,12 @@
- bool
- PhantomFileDocument::OnSaveDocument(const wxString& filename)
- {
-- if (! m_phantom.fileWrite (filename.c_str())) {
-- *theApp->getLog() << "Unable to write phantom file " << filename << "\n";
-+ if (! m_phantom.fileWrite (filename.mb_str(wxConvUTF8))) {
-+ *theApp->getLog() << _T("Unable to write phantom file ") << filename << _T("\n");
- return false;
- }
- if (theApp->getVerboseLogging())
-- *theApp->getLog() << "Wrote phantom file " << filename << "\n";
-+ *theApp->getLog() << _T("Wrote phantom file ") << filename << _T("\n");
- Modify(false);
- return true;
- }
-@@ -346,12 +346,12 @@
- PlotFileDocument::OnSaveDocument(const wxString& filename)
- {
- m_namePlot = filename.c_str();
-- if (! m_plot.fileWrite (filename)) {
-- *theApp->getLog() << "Unable to write plot file " << filename << "\n";
-+ if (! m_plot.fileWrite (filename.mb_str(wxConvUTF8))) {
-+ *theApp->getLog() << _T("Unable to write plot file ") << filename << _T("\n");
- return false;
- }
- if (theApp->getVerboseLogging())
-- *theApp->getLog() << "Wrote plot file " << filename << "\n";
-+ *theApp->getLog() << _T("Wrote plot file ") << filename << _T("\n");
- Modify(false);
- return true;
- }
-@@ -362,15 +362,15 @@
- if (! OnSaveModified())
- return false;
-
-- if (! m_plot.fileRead (filename.c_str())) {
-- *theApp->getLog() << "Unable to read plot file " << filename << "\n";
-+ if (! m_plot.fileRead (filename.mb_str(wxConvUTF8))) {
-+ *theApp->getLog() << _T("Unable to read plot file ") << filename << _T("\n");
- m_bBadFileOpen = true;
- return false;
- }
- m_bBadFileOpen = false;
-
-- if (theApp->getVerboseLogging() && filename != "")
-- *theApp->getLog() << "Read plot file " << filename << "\n";
-+ if (theApp->getVerboseLogging() && filename != _T(""))
-+ *theApp->getLog() << _T("Read plot file ") << filename << _T("\n");
-
- SetFilename (filename, true);
- m_namePlot = filename.c_str();
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/graph3dview.cpp ctsim-wx2.8/src/graph3dview.cpp
---- ctsim/src/graph3dview.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/graph3dview.cpp 2008-07-21 10:08:10.932317707 -0600
-@@ -154,7 +154,7 @@
- Graph3dFileView::~Graph3dFileView()
- {
- GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
-- GetDocumentManager()->ActivateView(this, false, true);
-+ GetDocumentManager()->ActivateView(this, false);
- }
-
- bool
-@@ -166,7 +166,7 @@
-
- m_pFrame->SetClientSize (m_pCanvas->GetBestSize());
- m_pCanvas->SetClientSize (m_pCanvas->GetBestSize());
-- m_pFrame->SetTitle("Graph3dFileView");
-+ m_pFrame->SetTitle(_T("Graph3dFileView"));
-
- m_pCanvas->SetCurrent();
- InitGL();
-@@ -190,7 +190,7 @@
- Graph3dFileCanvas* pCanvas = new Graph3dFileCanvas (this, parent, wxPoint(-1,-1), wxSize(-1,-1), 0);
-
- pCanvas->SetBackgroundColour(*wxWHITE);
-- pCanvas->Clear();
-+ pCanvas->ClearBackground();
-
- return pCanvas;
- }
-@@ -362,10 +362,11 @@
- void
- Graph3dFileView::OnProperties (wxCommandEvent& event)
- {
-- std::ostringstream os;
-- *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<\n";
-- wxMessageDialog dialogMsg (getFrameForChild(), os.str().c_str(),
-- "Imagefile Properties", wxOK | wxICON_INFORMATION);
-+ wxString os;
-+ *theApp->getLog() << _T(">>>>\n") << os << _T("<<<<\n");
-+ wxMessageDialog dialogMsg (getFrameForChild(), os,
-+ _T("Imagefile Properties"),
-+ wxOK | wxICON_INFORMATION);
- dialogMsg.ShowModal();
- }
-
-@@ -409,17 +410,17 @@
- if (m_pCanvas) {
- m_pCanvas->SetCurrent();
- #ifdef DEBUG
-- *theApp->getLog() << "Drawing 3d surface\n";
-+ *theApp->getLog() << _T("Drawing 3d surface\n");
- #endif
- Draw();
- m_pCanvas->SwapBuffers();
- }
-
- if (m_pStatusBar) {
-- std::ostringstream os;
-- os << "Xangle=" << m_dXRotate << ", Yangle=" << m_dYRotate
-- << ", Zangle=" << m_dZRotate;
-- m_pStatusBar->SetStatusText (os.str().c_str());
-+ wxString os;
-+ os << _T("Xangle=") << m_dXRotate << _T(", Yangle=") << m_dYRotate
-+ << _T(", Zangle=") << m_dZRotate;
-+ m_pStatusBar->SetStatusText (os);
- }
- }
-
-@@ -726,7 +727,7 @@
- if (m_bColorScaleMaxSet)
- dMax = m_dColorScaleMax;
-
-- DialogGetMinMax dialogMinMax (getFrameForChild(), "Set Color Scale Minimum & Maximum", dMin, dMax);
-+ DialogGetMinMax dialogMinMax (getFrameForChild(), _T("Set Color Scale Minimum & Maximum"), dMin, dMax);
- int retVal = dialogMinMax.ShowModal();
- if (retVal == wxID_OK) {
- m_bColorScaleMinSet = true;
-@@ -755,9 +756,9 @@
- Graph3dFileView::CreateChildFrame (wxDocument *doc, wxView *view)
- {
- #if CTSIM_MDI
-- wxDocMDIChildFrame* subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, "Graph3dFile Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocMDIChildFrame* subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, _T("Graph3dFile Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #else
-- wxDocChildFrame* subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, "Graph3dFile Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocChildFrame* subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, _T("Graph3dFile Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #endif
- theApp->setIconForFrame (subframe);
-
-@@ -770,45 +771,45 @@
-
- m_pFileMenu = new wxMenu;
-
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
-- m_pFileMenu->Append(wxID_OPEN, "&Open...\tCtrl-O");
-- m_pFileMenu->Append(wxID_CLOSE, "&Close\tCtrl-W");
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, _T("Cr&eate Phantom...\tCtrl-P"));
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, _T("Create &Filter...\tCtrl-F"));
-+ m_pFileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl-O"));
-+ m_pFileMenu->Append(wxID_CLOSE, _T("&Close\tCtrl-W"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(IFMENU_FILE_PROPERTIES, "P&roperties");
-+ m_pFileMenu->Append(IFMENU_FILE_PROPERTIES, _T("P&roperties"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(wxID_PRINT, "&Print...");
-- m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
-- m_pFileMenu->Append(wxID_PREVIEW, "Print Preview");
-+ m_pFileMenu->Append(wxID_PRINT, _T("&Print..."));
-+ m_pFileMenu->Append(wxID_PRINT_SETUP, _T("Print &Setup..."));
-+ m_pFileMenu->Append(wxID_PREVIEW, _T("Print Preview"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
-- m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
-+ m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, _T("Prefere&nces..."));
-+ m_pFileMenu->Append(MAINMENU_FILE_EXIT, _T("E&xit"));
-
- GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
- GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
-
- m_pViewMenu = new wxMenu;
-- m_pViewMenu->Append(GRAPH3D_VIEW_WIREFRAME, "Wi&reframe\tCtrl-R", "", true);
-- m_pViewMenu->Append(GRAPH3D_VIEW_SMOOTH, "S&mooth\tCtrl-M", "", true);
-- m_pViewMenu->Append(GRAPH3D_VIEW_COLOR, "Co&lor\tCtrl-L", "", true);
-- m_pViewMenu->Append(GRAPH3D_VIEW_LIGHTING, "Li&ghting\tCtrl-G", "", true);
-+ m_pViewMenu->Append(GRAPH3D_VIEW_WIREFRAME, _T("Wi&reframe\tCtrl-R"), _T(""), true);
-+ m_pViewMenu->Append(GRAPH3D_VIEW_SMOOTH, _T("S&mooth\tCtrl-M"), _T(""), true);
-+ m_pViewMenu->Append(GRAPH3D_VIEW_COLOR, _T("Co&lor\tCtrl-L"), _T(""), true);
-+ m_pViewMenu->Append(GRAPH3D_VIEW_LIGHTING, _T("Li&ghting\tCtrl-G"), _T(""), true);
- m_pViewMenu->AppendSeparator();
-- m_pViewMenu->Append(GRAPH3D_VIEW_SCALE_MINMAX, "Color Scale S&et Min/Max...\tCtrl-E");
-- m_pViewMenu->Append(GRAPH3D_VIEW_SCALE_AUTO, "Color Scale &Auto...\tCtrl-A");
-- m_pViewMenu->Append(GRAPH3D_VIEW_SCALE_FULL, "Color F&ull Scale\tCtrl-U");
-+ m_pViewMenu->Append(GRAPH3D_VIEW_SCALE_MINMAX, _T("Color Scale S&et Min/Max...\tCtrl-E"));
-+ m_pViewMenu->Append(GRAPH3D_VIEW_SCALE_AUTO, _T("Color Scale &Auto...\tCtrl-A"));
-+ m_pViewMenu->Append(GRAPH3D_VIEW_SCALE_FULL, _T("Color F&ull Scale\tCtrl-U"));
-
-
- wxMenu *help_menu = new wxMenu;
-- help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-- help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
-+ help_menu->Append(MAINMENU_HELP_CONTENTS, _T("&Contents\tF1"));
-+ help_menu->Append(MAINMENU_HELP_ABOUT, _T("&About"));
-
- wxMenuBar *menu_bar = new wxMenuBar;
-
-- menu_bar->Append(m_pFileMenu, "&File");
-- menu_bar->Append(m_pViewMenu, "&View");
-- menu_bar->Append(help_menu, "&Help");
-+ menu_bar->Append(m_pFileMenu, _T("&File"));
-+ menu_bar->Append(m_pViewMenu, _T("&View"));
-+ menu_bar->Append(help_menu, _T("&Help"));
-
- subframe->SetMenuBar(menu_bar);
-
-@@ -894,7 +895,7 @@
- return;
-
- wxCommandEvent dummyEvent;
-- switch (event.KeyCode()) {
-+ switch (event.GetKeyCode()) {
- case WXK_LEFT:
- m_pView->m_dZRotate += 15.0;
- Refresh (false);
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/threadproj.cpp ctsim-wx2.8/src/threadproj.cpp
---- ctsim/src/threadproj.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/threadproj.cpp 2008-07-21 10:08:10.936317952 -0600
-@@ -56,7 +56,7 @@
-
- ProjectorSupervisorThread::ProjectorSupervisorThread (PhantomFileView* pProjView, int iNDet, int iNView, int iOffsetView,
- const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
-- double dViewRatio, double dScanRatio, const char* const pszLabel)
-+ double dViewRatio, double dScanRatio, wxChar const* pszLabel)
- : SupervisorThread(), m_pPhantomView(pProjView), m_iNDet(iNDet), m_iNView(iNView), m_iOffsetView(iOffsetView), m_strGeometry(pszGeometry),
- m_iNSample(iNSample), m_dRotation(dRotation), m_dFocalLength(dFocalLength), m_dCenterDetectorLength(dCenterDetectorLength),
- m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_strLabel(pszLabel)
-@@ -67,7 +67,7 @@
- ProjectorSupervisorThread::Entry()
- {
- ProjectorSupervisor projSupervisor (this, m_pPhantomView, m_iNDet, m_iNView, m_iOffsetView,
-- m_strGeometry.c_str(), m_iNSample, m_dRotation, m_dFocalLength, m_dCenterDetectorLength, m_dViewRatio, m_dScanRatio, m_strLabel.c_str());
-+ m_strGeometry.c_str(), m_iNSample, m_dRotation, m_dFocalLength, m_dCenterDetectorLength, m_dViewRatio, m_dScanRatio, m_strLabel);
-
- projSupervisor.start();
- while (! projSupervisor.workersDone() && ! projSupervisor.fail() && ! projSupervisor.cancelled()) {
-@@ -75,9 +75,9 @@
- }
- if (projSupervisor.fail())
- {
-- wxString msg ("Error starting Projector supervisor: ");
-- msg += projSupervisor.getFailMessage().c_str();
-- msg += "\n";
-+ wxString msg (_T("Error starting Projector supervisor: "));
-+ msg += projSupervisor.getFailMessage();
-+ msg += _T("\n");
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-@@ -104,12 +104,12 @@
-
- ProjectorSupervisor::ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pPhantomView, int iNDet, int iNView, int iOffsetView,
- const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
-- double dViewRatio, double dScanRatio, const char* const pszLabel)
-- : BackgroundSupervisor (pThread, pPhantomView->GetFrame(), pPhantomView->GetDocument(), "Projecting", iNView),
-+ double dViewRatio, double dScanRatio, wxChar const* pszLabel)
-+ : BackgroundSupervisor (pThread, pPhantomView->GetFrame(), pPhantomView->GetDocument(), _T("Projecting"), iNView),
- m_pPhantomView(pPhantomView), m_pPhantomDoc(pPhantomView->GetDocument()),
- m_iNDet(iNDet), m_iNView(iNView), m_iOffsetView(iOffsetView), m_pszGeometry(pszGeometry), m_iNSample(iNSample),
- m_dRotation(dRotation), m_dFocalLength(dFocalLength), m_dCenterDetectorLength(dCenterDetectorLength),
-- m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_pszLabel(pszLabel)
-+ m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_strLabel(pszLabel)
- {
- m_pScanner = new Scanner (m_pPhantomDoc->getPhantom(), m_pszGeometry, m_iNDet,
- m_iNView, m_iOffsetView, m_iNSample, m_dRotation, m_dFocalLength, m_dCenterDetectorLength, m_dViewRatio, m_dScanRatio);
-@@ -151,12 +151,12 @@
- wxCriticalSectionLocker critsect (doneSection);
-
- Projections* pProjections = getProjections();
-- pProjections->setRemark (m_pszLabel);
-+ pProjections->setRemark (m_strLabel.mb_str(wxConvUTF8));
- pProjections->setCalcTime (getTimerEnd());
-
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
-- wxString msg (m_pszLabel);
-- msg += "\n";
-+ wxString msg (m_strLabel);
-+ msg += _T("\n");
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-
-@@ -218,12 +218,12 @@
- {
- const Phantom& rPhantom = m_pPhantomView->GetDocument()->getPhantom();
- bool bFail = m_pScanner->fail();
-- std::string failMsg;
-+ wxString failMsg;
- if (bFail) {
-- failMsg = "Unable to make Projector: ";
-- failMsg += m_pScanner->failMessage().c_str();
-+ failMsg = _T("Unable to make Projector: ");
-+ failMsg += wxConvUTF8.cMB2WX(m_pScanner->failMessage().c_str());
- wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
-- event.SetString( failMsg.c_str() );
-+ event.SetString( failMsg );
- wxPostEvent( theApp->getMainFrame(), event );
- }
- else
-@@ -234,7 +234,7 @@
- #ifdef DEBUG
- if (theApp->getVerboseLogging()) {
- wxString msg;
-- msg.Printf("Worker thread: Received destroy message at work unit #%d\n", iUnit);
-+ msg.Printf(_T("Worker thread: Received destroy message at work unit #%d\n"), iUnit);
- wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- event.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), event );
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/threadproj.h ctsim-wx2.8/src/threadproj.h
---- ctsim/src/threadproj.h 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/threadproj.h 2008-07-21 10:08:10.944318442 -0600
-@@ -56,12 +56,12 @@
- const double m_dCenterDetectorLength;
- const double m_dViewRatio;
- const double m_dScanRatio;
-- const std::string m_strLabel;
-+ const wxString m_strLabel;
-
- public:
- ProjectorSupervisorThread(PhantomFileView* pProjView, int iNDet, int iNView, int iOffsetView,
- const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
-- double dViewRatio, double dScanRatio, const char* const pszLabel);
-+ double dViewRatio, double dScanRatio, wxChar const* strLabel);
-
- virtual wxThread::ExitCode Entry();
-
-@@ -88,13 +88,13 @@
- const double m_dCenterDetectorLength;
- const double m_dViewRatio;
- const double m_dScanRatio;
-- const char* const m_pszLabel;
-+ const wxString m_strLabel;
-
-
- public:
- ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pProjView, int iNDet, int iNView, int iOffsetView,
- const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
-- double dViewRatio, double dScanRatio, const char* const pszLabel);
-+ double dViewRatio, double dScanRatio, wxChar const* pszLabel);
-
- virtual BackgroundWorkerThread* createWorker (int iThread, int iStartUnit, int iNumUnits);
-
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/threadraster.cpp ctsim-wx2.8/src/threadraster.cpp
---- ctsim/src/threadraster.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/threadraster.cpp 2008-07-21 10:08:10.948318688 -0600
-@@ -57,7 +57,7 @@
- /////////////////////////////////////////////////////////////////////
-
- RasterizerSupervisorThread::RasterizerSupervisorThread (PhantomFileView* pProjView, int iNX, int iNY,
-- int iNSample, double dViewRatio, const char* const pszLabel)
-+ int iNSample, double dViewRatio, wxChar const* pszLabel)
- : SupervisorThread(), m_pPhantomView(pProjView), m_iNX(iNX), m_iNY(iNY), m_iNSample(iNSample), m_dViewRatio(dViewRatio), m_strLabel(pszLabel)
- {
- }
-@@ -65,7 +65,7 @@
- wxThread::ExitCode
- RasterizerSupervisorThread::Entry()
- {
-- RasterizerSupervisor rasterSupervisor (this, m_pPhantomView, m_iNX, m_iNY, m_iNSample, m_dViewRatio, m_strLabel.c_str());
-+ RasterizerSupervisor rasterSupervisor (this, m_pPhantomView, m_iNX, m_iNY, m_iNSample, m_dViewRatio, m_strLabel);
-
- rasterSupervisor.start();
-
-@@ -75,9 +75,9 @@
-
- if (rasterSupervisor.fail())
- {
-- wxString msg ("Error starting Rasterizer supervisor: ");
-- msg += rasterSupervisor.getFailMessage().c_str();
-- msg += "\n";
-+ wxString msg (_T("Error starting Rasterizer supervisor: "));
-+ msg += rasterSupervisor.getFailMessage();
-+ msg += _T("\n");
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-@@ -103,10 +103,10 @@
- /////////////////////////////////////////////////////////////////////
-
- RasterizerSupervisor::RasterizerSupervisor (SupervisorThread* pThread, PhantomFileView* pPhantomView, int iNX, int iNY,
-- int iNSample, double dViewRatio, const char* const pszLabel)
-- : BackgroundSupervisor (pThread, pPhantomView->GetFrame(), pPhantomView->GetDocument(), "Rasterizing", iNX),
-+ int iNSample, double dViewRatio, wxChar const* pszLabel)
-+ : BackgroundSupervisor (pThread, pPhantomView->GetFrame(), pPhantomView->GetDocument(), _T("Rasterizing"), iNX),
- m_pPhantomView(pPhantomView), m_pPhantomDoc(pPhantomView->GetDocument()),
-- m_iNX(iNX), m_iNY(iNY), m_iNSample(iNSample), m_dViewRatio(dViewRatio), m_pszLabel(pszLabel)
-+ m_iNX(iNX), m_iNY(iNY), m_iNSample(iNSample), m_dViewRatio(dViewRatio), m_strLabel(pszLabel)
- {
- m_vecpChildImageFiles.reserve (getNumWorkers());
- for (int iThread = 0; iThread < getNumWorkers(); iThread++) {
-@@ -137,11 +137,11 @@
- wxCriticalSectionLocker critsect (doneSection);
-
- ImageFile* pImageFile = getImageFile();
-- pImageFile->labelAdd (m_pszLabel, getTimerEnd());
-+ pImageFile->labelAdd (m_strLabel.mb_str(wxConvUTF8), getTimerEnd());
-
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
-- wxString msg (m_pszLabel);
-- msg += "\n";
-+ wxString msg (m_strLabel);
-+ msg += _T("\n");
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-
-@@ -199,7 +199,7 @@
- #ifdef DEBUG
- if (theApp->getVerboseLogging()) {
- wxString msg;
-- msg.Printf("Worker thread: Received destroy message at work unit #%d\n", iUnit);
-+ msg.Printf(_T("Worker thread: Received destroy message at work unit #%d\n"), iUnit);
- wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- event.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), event );
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/threadraster.h ctsim-wx2.8/src/threadraster.h
---- ctsim/src/threadraster.h 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/threadraster.h 2008-07-21 10:08:10.956319178 -0600
-@@ -50,10 +50,10 @@
- const int m_iNY;
- const int m_iNSample;
- const double m_dViewRatio;
-- const std::string m_strLabel;
-+ const wxString m_strLabel;
-
- public:
-- RasterizerSupervisorThread(PhantomFileView* pProjView, int iNX, int iNY, int iNSample, double dViewRatio, const char* const pszLabel);
-+ RasterizerSupervisorThread(PhantomFileView* pProjView, int iNX, int iNY, int iNSample, double dViewRatio, wxChar const* strLabel);
-
- virtual wxThread::ExitCode Entry();
- virtual void OnExit();
-@@ -72,12 +72,12 @@
- const int m_iNY;
- const int m_iNSample;
- const double m_dViewRatio;
-- const char* const m_pszLabel;
-+ const wxString m_strLabel;
-
-
- public:
- RasterizerSupervisor (SupervisorThread* pThread, PhantomFileView* pProjView, int iNX, int iNY,
-- int iNSample, double dViewRatio, const char* const pszLabel);
-+ int iNSample, double dViewRatio, wxChar const* pszLabel);
-
- virtual BackgroundWorkerThread* createWorker (int iThread, int iStartUnit, int iNumUnits);
-
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/threadrecon.cpp ctsim-wx2.8/src/threadrecon.cpp
---- ctsim/src/threadrecon.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/threadrecon.cpp 2008-07-21 10:08:10.956319178 -0600
-@@ -54,7 +54,7 @@
- ReconstructorSupervisorThread::ReconstructorSupervisorThread (ProjectionFileView* pProjView, int iNX, int iNY,
- const char* pszFilterName, double dFilterParam, const char* pszFilterMethod, int iZeropad,
- const char* pszFilterGenerationName, const char* pszInterpName, int iInterpParam,
-- const char* pszBackprojectName, const char* const pszLabel, ReconstructionROI* pROI, bool bRebinToParallel)
-+ const char* pszBackprojectName, wxChar const* pszLabel, ReconstructionROI* pROI, bool bRebinToParallel)
- : SupervisorThread(), m_pProjView(pProjView), m_iNX(iNX), m_iNY(iNY), m_strFilterName(pszFilterName), m_dFilterParam(dFilterParam),
- m_strFilterMethod(pszFilterMethod), m_iZeropad(iZeropad), m_strFilterGenerationName(pszFilterGenerationName),
- m_strInterpName(pszInterpName), m_iInterpParam(iInterpParam), m_strBackprojectName(pszBackprojectName),
-@@ -72,7 +72,7 @@
-
- ReconstructorSupervisor reconSupervisor (this, pProj, m_pProjView, m_iNX, m_iNY,
- m_strFilterName.c_str(), m_dFilterParam, m_strFilterMethod.c_str(), m_iZeropad, m_strFilterGenerationName.c_str(),
-- m_strInterpName.c_str(), m_iInterpParam, m_strBackprojectName.c_str(), m_strLabel.c_str(), &m_reconROI);
-+ m_strInterpName.c_str(), m_iInterpParam, m_strBackprojectName.c_str(), m_strLabel, &m_reconROI);
-
- reconSupervisor.start();
- while (! reconSupervisor.workersDone() && ! reconSupervisor.fail() && ! reconSupervisor.cancelled()) {
-@@ -80,9 +80,9 @@
- }
- if (reconSupervisor.fail())
- {
-- wxString msg ("Error starting reconstructor supervisor: ");
-- msg += reconSupervisor.getFailMessage().c_str();
-- msg += "\n";
-+ wxString msg (_T("Error starting reconstructor supervisor: "));
-+ msg += reconSupervisor.getFailMessage();
-+ msg += _T("\n");
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-@@ -112,14 +112,16 @@
- ReconstructorSupervisor::ReconstructorSupervisor (SupervisorThread* pThread, Projections* pProj,
- ProjectionFileView* pProjView, int iImageNX, int iImageNY, const char* pszFilterName, double dFilterParam,
- const char* pszFilterMethod, int iZeropad, const char* pszFilterGenerationName,
-- const char* pszInterpName, int iInterpParam, const char* pszBackprojectName, const char* const pszLabel,
-+ const char* pszInterpName, int iInterpParam, const char* pszBackprojectName, wxChar const* pszLabel,
- ReconstructionROI* pROI)
-- : BackgroundSupervisor (pThread, pProjView->GetFrame(), pProjView->GetDocument(), "Reconstructing", pProjView->GetDocument()->getProjections().nView()),
-+ : BackgroundSupervisor (pThread, pProjView->GetFrame(), pProjView->GetDocument(),
-+ _T("Reconstructing"),
-+ pProjView->GetDocument()->getProjections().nView()),
- m_pProj(pProj), m_pProjView(pProjView), m_pProjDoc(pProjView->GetDocument()),
- m_iImageNX(iImageNX), m_iImageNY(iImageNY),
- m_pszFilterName(pszFilterName), m_dFilterParam(dFilterParam), m_pszFilterMethod(pszFilterMethod),
- m_iZeropad(iZeropad), m_pszFilterGenerationName(pszFilterGenerationName), m_pszInterpName(pszInterpName),
-- m_iInterpParam(iInterpParam), m_pszBackprojectName(pszBackprojectName), m_pszLabel(pszLabel),
-+ m_iInterpParam(iInterpParam), m_pszBackprojectName(pszBackprojectName), m_strLabel(pszLabel),
- m_pReconROI(pROI)
- {
- m_vecpChildImageFile.reserve (getNumWorkers());
-@@ -156,11 +158,11 @@
-
- ImageFile* pImageFile = getImageFile();
- pImageFile->labelAdd (m_pProj->getLabel());
-- pImageFile->labelAdd (m_pszLabel, getTimerEnd());
-+ pImageFile->labelAdd (m_strLabel.mb_str(wxConvUTF8), getTimerEnd());
-
- wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
-- wxString msg (m_pszLabel);
-- msg += "\n";
-+ wxString msg (m_strLabel);
-+ msg += _T("\n");
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
-
-@@ -225,12 +227,12 @@
- m_iInterpParam, m_pszBackprojectName, Trace::TRACE_NONE, m_pReconROI, false);
-
- bool bFail = pReconstructor->fail();
-- std::string failMsg;
-+ wxString failMsg;
- if (bFail) {
-- failMsg = "Unable to make reconstructor: ";
-- failMsg += pReconstructor->failMessage().c_str();
-+ failMsg = _T("Unable to make reconstructor: ");
-+ failMsg += wxConvUTF8.cMB2WX(pReconstructor->failMessage().c_str());
- wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
-- event.SetString( failMsg.c_str() );
-+ event.SetString( failMsg );
- wxPostEvent( theApp->getMainFrame(), event );
- }
- else
-@@ -241,7 +243,7 @@
- #ifdef DEBUG
- if (theApp->getVerboseLogging()) {
- wxString msg;
-- msg.Printf("Worker thread: Received destroy message at work unit #%d\n", iUnit);
-+ msg.Printf(_T("Worker thread: Received destroy message at work unit #%d\n"), iUnit);
- wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- event.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), event );
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/threadrecon.h ctsim-wx2.8/src/threadrecon.h
---- ctsim/src/threadrecon.h 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/threadrecon.h 2008-07-21 10:08:10.956319178 -0600
-@@ -59,14 +59,14 @@
- const std::string m_strInterpName;
- const int m_iInterpParam;
- const std::string m_strBackprojectName;
-- const std::string m_strLabel;
-+ const wxString m_strLabel;
- ReconstructionROI m_reconROI;
- const bool m_bRebinToParallel;
-
- public:
- ReconstructorSupervisorThread(ProjectionFileView* pProjView, int iNX, int iNY, const char* pszFilterName,
- double dFilterParam, const char* pszFilterMethod, int iZeropad, const char* pszFilterGenerationName,
-- const char* pszInterpName, int iInterpParam, const char* pszBackprojectName, const char* const pszLabel,
-+ const char* pszInterpName, int iInterpParam, const char* pszBackprojectName, wxChar const* pszLabel,
- ReconstructionROI* pROI, bool bRebinToParallel);
-
- virtual wxThread::ExitCode Entry();
-@@ -95,14 +95,14 @@
- const char* const m_pszInterpName;
- const int m_iInterpParam;
- const char* const m_pszBackprojectName;
-- const char* const m_pszLabel;
-+ const wxString m_strLabel;
- ReconstructionROI* m_pReconROI;
-
- public:
- ReconstructorSupervisor (SupervisorThread* pMyThread, Projections* pProj, ProjectionFileView* pProjView,
- int iNX, int iNY, const char* pszFilterName, double dFilterParam, const char* pszFilterMethod, int iZeropad,
- const char* pszFilterGenerationName, const char* pszInterpName, int iInterpParam,
-- const char* pszBackprojectName, const char* const pszLabel, ReconstructionROI* pReconROI);
-+ const char* pszBackprojectName, wxChar const* pszLabel, ReconstructionROI* pReconROI);
-
- virtual BackgroundWorkerThread* createWorker (int iThread, int iStartUnit, int iNumUnits);
-
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/tips.cpp ctsim-wx2.8/src/tips.cpp
---- ctsim/src/tips.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/tips.cpp 2008-07-21 10:08:10.964319669 -0600
-@@ -83,7 +83,7 @@
- size_t iThisTip = m_iCurrentTip;
- ++m_iCurrentTip;
-
-- return wxString (s_aszTips[iThisTip]);
-+ return wxString (wxConvUTF8.cMB2WX(s_aszTips[iThisTip]));
- }
-
- size_t
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/views.cpp ctsim-wx2.8/src/views.cpp
---- ctsim/src/views.cpp 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/views.cpp 2008-07-29 20:38:45.351315859 -0600
-@@ -133,20 +133,21 @@
- const int yPt = ny - 1 - pt.y;
- if (event.RightIsDown()) {
- if (pt.x >= 0 && pt.x < nx && pt.y >= 0 && pt.y < ny) {
-- std::ostringstream os;
-- os << "Image value (" << pt.x << "," << yPt << ") = " << v[pt.x][yPt];
-+ wxString os;
-+ os << _T("Image value (") << pt.x << _T(",") << yPt << _T(") = ")
-+ << v[pt.x][yPt];
- if (rIF.isComplex()) {
- double dImag = rIF.getImaginaryArray()[pt.x][yPt];
- if (dImag < 0)
-- os << " - " << -dImag;
-+ os << _T(" - ") << -dImag;
- else
-- os << " + " << dImag;
-- os << "i\n";
-+ os << _T(" + ") << dImag;
-+ os << _T("i\n");
- } else
-- os << "\n";
-- *theApp->getLog() << os.str().c_str();
-+ os << _T("\n");
-+ *theApp->getLog() << os;
- } else
-- *theApp->getLog() << "Mouse out of image range (" << pt.x << "," << yPt << ")\n";
-+ *theApp->getLog() << _T("Mouse out of image range (") << pt.x << _T(",") << yPt << _T(")\n");
- }
- else if (event.LeftIsDown() || event.LeftUp() || event.RightUp()) {
- if (pt.x >= 0 && pt.x < nx && pt.y >= 0 && pt.y < ny) {
-@@ -166,12 +167,12 @@
- pMenu->Enable (IFMENU_PLOT_FFT_COL, true);
- }
- } else
-- *theApp->getLog() << "Mouse out of image range (" << pt.x << "," << yPt << ")\n";
-+ *theApp->getLog() << _T("Mouse out of image range (") << pt.x << _T(",") << yPt << _T(")\n");
- }
- if (event.LeftUp()) {
-- std::ostringstream os;
-- os << "Selected column " << pt.x << " , row " << yPt << "\n";
-- *theApp->getLog() << os.str().c_str();
-+ wxString os;
-+ os << _T("Selected column ") << pt.x << _T(" , row ") << yPt << _T("\n");
-+ *theApp->getLog() << os;
- }
- }
-
-@@ -276,7 +277,7 @@
- ImageFileView::~ImageFileView()
- {
- GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
-- GetDocumentManager()->ActivateView(this, FALSE, TRUE);
-+ GetDocumentManager()->ActivateView(this, FALSE);
- }
-
-
-@@ -285,9 +286,9 @@
- {
- const ImageFile& rIF = GetDocument()->getImageFile();
- if (rIF.nx() == 0 || rIF.ny() == 0)
-- *theApp->getLog() << "Properties: empty imagefile\n";
-+ *theApp->getLog() << _T("Properties: empty imagefile\n");
- else {
-- const std::string rFilename = m_pFrame->GetTitle().c_str();
-+ const std::string rFilename (m_pFrame->GetTitle().mb_str(wxConvUTF8));
- std::ostringstream os;
- double min, max, mean, mode, median, stddev;
- rIF.statistics (rIF.getArray(), min, max, mean, mode, median, stddev);
-@@ -306,8 +307,8 @@
- if (rIF.nLabels() > 0) {
- rIF.printLabelsBrief (os);
- }
-- *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<\n";
-- wxMessageDialog dialogMsg (getFrameForChild(), os.str().c_str(), "Imagefile Properties", wxOK | wxICON_INFORMATION);
-+ *theApp->getLog() << _T(">>>>\n") << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("<<<<\n");
-+ wxMessageDialog dialogMsg (getFrameForChild(), wxConvUTF8.cMB2WX(os.str().c_str()), _T("Imagefile Properties"), wxOK | wxICON_INFORMATION);
- dialogMsg.ShowModal();
- }
- GetDocument()->Activate();
-@@ -349,7 +350,7 @@
- if (m_bMaxSpecified)
- max = m_dMaxPixel;
-
-- DialogGetMinMax dialogMinMax (getFrameForChild(), "Set Image Minimum & Maximum", min, max);
-+ DialogGetMinMax dialogMinMax (getFrameForChild(), _T("Set Image Minimum & Maximum"), min, max);
- int retVal = dialogMinMax.ShowModal();
- if (retVal == wxID_OK) {
- m_bMinSpecified = true;
-@@ -381,9 +382,9 @@
- theApp->getCompatibleImages (GetDocument(), vecIF);
-
- if (vecIF.size() == 0) {
-- wxMessageBox("There are no compatible image files open for comparision", "No comparison images");
-+ wxMessageBox(_T("There are no compatible image files open for comparision"), _T("No comparison images"));
- } else {
-- DialogGetComparisonImage dialogGetCompare(getFrameForChild(), "Get Comparison Image", vecIF, true);
-+ DialogGetComparisonImage dialogGetCompare(getFrameForChild(), _T("Get Comparison Image"), vecIF, true);
-
- if (dialogGetCompare.ShowModal() == wxID_OK) {
- const ImageFile& rIF = GetDocument()->getImageFile();
-@@ -392,19 +393,19 @@
- std::ostringstream os;
- double min, max, mean, mode, median, stddev;
- rIF.statistics (min, max, mean, mode, median, stddev);
-- os << GetFrame()->GetTitle().c_str() << ": minimum=" << min << ", maximum=" << max << ", mean=" << mean << ", mode=" << mode << ", median=" << median << ", stddev=" << stddev << "\n";
-+ os << m_pFrame->GetTitle().mb_str(wxConvUTF8) << ": minimum=" << min << ", maximum=" << max << ", mean=" << mean << ", mode=" << mode << ", median=" << median << ", stddev=" << stddev << "\n";
- rCompareIF.statistics (min, max, mean, mode, median, stddev);
-- os << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str() << ": minimum=" << min << ", maximum=" << max << ", mean=" << mean << ", mode=" << mode << ", median=" << median << ", stddev=" << stddev << "\n";
-+ os << dynamic_cast<wxFrame*>(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8) << ": minimum=" << min << ", maximum=" << max << ", mean=" << mean << ", mode=" << mode << ", median=" << median << ", stddev=" << stddev << "\n";
- double d, r, e;
- rIF.comparativeStatistics (rCompareIF, d, r, e);
- os << "Comparative Statistics: d=" << d << ", r=" << r << ", e=" << e << "\n";
-- *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<\n";
-+ *theApp->getLog() << _T(">>>>\n") << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("<<<<\n");
- if (dialogGetCompare.getMakeDifferenceImage()) {
- ImageFile* pDifferenceImage = new ImageFile;
-
- pDifferenceImage->setArraySize (rIF.nx(), rIF.ny());
- if (! rIF.subtractImages (rCompareIF, *pDifferenceImage)) {
-- *theApp->getLog() << "Unable to subtract images\n";
-+ *theApp->getLog() << _T("Unable to subtract images\n");
- delete pDifferenceImage;
- return;
- }
-@@ -415,13 +416,13 @@
- }
- pDifferenceDoc->setImageFile (pDifferenceImage);
-
-- wxString s = GetFrame()->GetTitle() + ": ";
-- pDifferenceImage->labelsCopy (rIF, s.c_str());
-- s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- pDifferenceImage->labelsCopy (rCompareIF, s.c_str());
-+ wxString s = m_pFrame->GetTitle() + _T(": ");
-+ pDifferenceImage->labelsCopy (rIF, s.mb_str(wxConvUTF8));
-+ s = dynamic_cast<wxFrame*>(pCompareDoc->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ pDifferenceImage->labelsCopy (rCompareIF, s.mb_str(wxConvUTF8));
- std::ostringstream osLabel;
-- osLabel << "Compare image " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str()
-- << " and " << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str() << ": "
-+ osLabel << "Compare image " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str()
-+ << " and " << dynamic_cast<wxFrame*>(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().c_str() << ": "
- << os.str().c_str();
- pDifferenceImage->labelAdd (os.str().c_str());
- if (theApp->getAskDeleteNewDocs())
-@@ -431,7 +432,7 @@
- pDifferenceDoc->getView()->setInitialClientSize();
- pDifferenceDoc->Activate();
- }
-- wxMessageBox(os.str().c_str(), "Image Comparison");
-+ wxMessageBox(wxConvUTF8.cMB2WX(os.str().c_str()), _T("Image Comparison"));
- }
- }
- }
-@@ -508,9 +509,9 @@
- theApp->getCompatibleImages (GetDocument(), vecIF);
-
- if (vecIF.size() == 0) {
-- wxMessageBox ("There are no compatible image files open for comparision", "No comparison images");
-+ wxMessageBox (_T("There are no compatible image files open for comparision"), _T("No comparison images"));
- } else {
-- DialogGetComparisonImage dialogGetCompare (getFrameForChild(), "Get Image to Add", vecIF, false);
-+ DialogGetComparisonImage dialogGetCompare (getFrameForChild(), _T("Get Image to Add"), vecIF, false);
-
- if (dialogGetCompare.ShowModal() == wxID_OK) {
- ImageFile& rIF = GetDocument()->getImageFile();
-@@ -525,14 +526,14 @@
- newImage.setArraySize (rIF.nx(), rIF.ny());
- rIF.addImages (rRHSIF, newImage);
- std::ostringstream os;
-- os << "Add image " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and "
-- << pRHSDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- wxString s = GetDocument()->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rIF, s.c_str());
-- s = pRHSDoc->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rRHSIF, s.c_str());
-+ os << "Add image " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str() << " and "
-+ << dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ wxString s = dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rIF, s.mb_str(wxConvUTF8));
-+ s = dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rRHSIF, s.mb_str(wxConvUTF8));
- newImage.labelAdd (os.str().c_str());
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- if (theApp->getAskDeleteNewDocs())
- pNewDoc->Modify (true);
- OnUpdate(this, NULL);
-@@ -550,9 +551,9 @@
- theApp->getCompatibleImages (GetDocument(), vecIF);
-
- if (vecIF.size() == 0) {
-- wxMessageBox ("There are no compatible image files open for comparision", "No comparison images");
-+ wxMessageBox (_T("There are no compatible image files open for comparision"), _T("No comparison images"));
- } else {
-- DialogGetComparisonImage dialogGetCompare (getFrameForChild(), "Get Image to Subtract", vecIF, false);
-+ DialogGetComparisonImage dialogGetCompare (getFrameForChild(), _T("Get Image to Subtract"), vecIF, false);
-
- if (dialogGetCompare.ShowModal() == wxID_OK) {
- ImageFile& rIF = GetDocument()->getImageFile();
-@@ -567,14 +568,14 @@
- newImage.setArraySize (rIF.nx(), rIF.ny());
- rIF.subtractImages (rRHSIF, newImage);
- std::ostringstream os;
-- os << "Subtract image " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and "
-- << pRHSDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- wxString s = GetDocument()->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rIF, s.c_str());
-- s = pRHSDoc->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rRHSIF, s.c_str());
-+ os << "Subtract image " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str() << " and "
-+ << dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ wxString s = dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rIF, s.mb_str(wxConvUTF8));
-+ s = dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rRHSIF, s.mb_str(wxConvUTF8));
- newImage.labelAdd (os.str().c_str());
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- if (theApp->getAskDeleteNewDocs())
- pNewDoc->Modify (true);
- OnUpdate(this, NULL);
-@@ -592,9 +593,9 @@
- theApp->getCompatibleImages (GetDocument(), vecIF);
-
- if (vecIF.size() == 0) {
-- wxMessageBox ("There are no compatible image files open for comparision", "No comparison images");
-+ wxMessageBox (_T("There are no compatible image files open for comparision"), _T("No comparison images"));
- } else {
-- DialogGetComparisonImage dialogGetCompare (getFrameForChild(), "Get Image to Multiply", vecIF, false);
-+ DialogGetComparisonImage dialogGetCompare (getFrameForChild(), _T("Get Image to Multiply"), vecIF, false);
-
- if (dialogGetCompare.ShowModal() == wxID_OK) {
- ImageFile& rIF = GetDocument()->getImageFile();
-@@ -609,14 +610,14 @@
- newImage.setArraySize (rIF.nx(), rIF.ny());
- rIF.multiplyImages (rRHSIF, newImage);
- std::ostringstream os;
-- os << "Multiply image " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and "
-- << pRHSDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- wxString s = GetDocument()->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rIF, s.c_str());
-- s = pRHSDoc->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rRHSIF, s.c_str());
-+ os << "Multiply image " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str() << " and "
-+ << dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ wxString s = dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rIF, s.mb_str(wxConvUTF8));
-+ s = dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rRHSIF, s.mb_str(wxConvUTF8));
- newImage.labelAdd (os.str().c_str());
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- if (theApp->getAskDeleteNewDocs())
- pNewDoc->Modify (true);
- OnUpdate(this, NULL);
-@@ -634,9 +635,9 @@
- theApp->getCompatibleImages (GetDocument(), vecIF);
-
- if (vecIF.size() == 0) {
-- wxMessageBox ("There are no compatible image files open for comparision", "No comparison images");
-+ wxMessageBox (_T("There are no compatible image files open for comparision"), _T("No comparison images"));
- } else {
-- DialogGetComparisonImage dialogGetCompare (getFrameForChild(), "Get Image to Divide", vecIF, false);
-+ DialogGetComparisonImage dialogGetCompare (getFrameForChild(), _T("Get Image to Divide"), vecIF, false);
-
- if (dialogGetCompare.ShowModal() == wxID_OK) {
- ImageFile& rIF = GetDocument()->getImageFile();
-@@ -651,14 +652,14 @@
- newImage.setArraySize (rIF.nx(), rIF.ny());
- rIF.divideImages (rRHSIF, newImage);
- std::ostringstream os;
-- os << "Divide image " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " by "
-- << pRHSDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- wxString s = GetDocument()->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rIF, s.c_str());
-- s = pRHSDoc->GetFirstView()->GetFrame()->GetTitle() + ": ";
-- newImage.labelsCopy (rRHSIF, s.c_str());
-+ os << "Divide image " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str() << " by "
-+ << dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ wxString s = dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rIF, s.mb_str(wxConvUTF8));
-+ s = dynamic_cast<wxFrame*>(pRHSDoc->GetFirstView()->GetFrame())->GetTitle() + _T(": ");
-+ newImage.labelsCopy (rRHSIF, s.mb_str(wxConvUTF8));
- newImage.labelAdd (os.str().c_str());
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- if (theApp->getAskDeleteNewDocs())
- pNewDoc->Modify (true);
- OnUpdate(this, NULL);
-@@ -766,7 +767,7 @@
- ImageFileView::OnFourier (wxCommandEvent& event)
- {
- ImageFile& rIF = GetDocument()->getImageFile();
-- wxProgressDialog dlgProgress (wxString("Fourier"), wxString("Fourier Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-+ wxProgressDialog dlgProgress (_T("Fourier"), _T("Fourier Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
- rIF.fourier (rIF);
- rIF.labelAdd ("Fourier Image");
- m_bMinSpecified = false;
-@@ -782,7 +783,7 @@
- ImageFileView::OnInverseFourier (wxCommandEvent& event)
- {
- ImageFile& rIF = GetDocument()->getImageFile();
-- wxProgressDialog dlgProgress (wxString("Inverse Fourier"), wxString("Inverse Fourier Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-+ wxProgressDialog dlgProgress (_T("Inverse Fourier"), _T("Inverse Fourier Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
- rIF.inverseFourier (rIF);
- rIF.labelAdd ("Inverse Fourier Image");
- m_bMinSpecified = false;
-@@ -897,7 +898,7 @@
- ImageFileCanvas* pCanvas = new ImageFileCanvas (this, parent, wxPoint(-1,-1),
- wxSize(-1,-1), 0);
- pCanvas->SetBackgroundColour(*wxWHITE);
-- pCanvas->Clear();
-+ pCanvas->ClearBackground();
-
- return pCanvas;
- }
-@@ -910,97 +911,97 @@
- ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
- {
- #if CTSIM_MDI
-- wxDocMDIChildFrame* subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, "ImageFile Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocMDIChildFrame* subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, _T("ImageFile Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #else
-- wxDocChildFrame* subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, "ImageFile Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocChildFrame* subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, _T("ImageFile Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #endif
- theApp->setIconForFrame (subframe);
-
- m_pFileMenu = new wxMenu;
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
-- m_pFileMenu->Append(wxID_OPEN, "&Open...\tCtrl-O");
-- m_pFileMenu->Append(wxID_SAVE, "&Save\tCtrl-S");
-- m_pFileMenu->Append(wxID_SAVEAS, "Save &As...");
-- m_pFileMenu->Append(wxID_CLOSE, "&Close\tCtrl-W");
-- m_pFileMenu->Append(wxID_REVERT, "Re&vert");
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, _T("Cr&eate Phantom...\tCtrl-P"));
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, _T("Create &Filter...\tCtrl-F"));
-+ m_pFileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl-O"));
-+ m_pFileMenu->Append(wxID_SAVE, _T("&Save\tCtrl-S"));
-+ m_pFileMenu->Append(wxID_SAVEAS, _T("Save &As..."));
-+ m_pFileMenu->Append(wxID_CLOSE, _T("&Close\tCtrl-W"));
-+ m_pFileMenu->Append(wxID_REVERT, _T("Re&vert"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(IFMENU_FILE_PROPERTIES, "P&roperties\tCtrl-I");
-- m_pFileMenu->Append(IFMENU_FILE_EXPORT, "Expor&t...");
-+ m_pFileMenu->Append(IFMENU_FILE_PROPERTIES, _T("P&roperties\tCtrl-I"));
-+ m_pFileMenu->Append(IFMENU_FILE_EXPORT, _T("Expor&t..."));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(wxID_PRINT, "&Print...");
-- m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
-- m_pFileMenu->Append(wxID_PREVIEW, "Print Preview");
-+ m_pFileMenu->Append(wxID_PRINT, _T("&Print..."));
-+ m_pFileMenu->Append(wxID_PRINT_SETUP, _T("Print &Setup..."));
-+ m_pFileMenu->Append(wxID_PREVIEW, _T("Print Preview"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
-+ m_pFileMenu->Append(MAINMENU_IMPORT, _T("&Import...\tCtrl-M"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
-- m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
-+ m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, _T("Prefere&nces..."));
-+ m_pFileMenu->Append(MAINMENU_FILE_EXIT, _T("E&xit"));
- GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
- GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
-
- wxMenu* edit_menu = new wxMenu;
-- edit_menu->Append(IFMENU_EDIT_COPY, "Copy\tCtrl-C");
-- edit_menu->Append(IFMENU_EDIT_CUT, "Cut\tCtrl-X");
-- edit_menu->Append(IFMENU_EDIT_PASTE, "Paste\tCtrl-V");
-+ edit_menu->Append(IFMENU_EDIT_COPY, _T("Copy\tCtrl-C"));
-+ edit_menu->Append(IFMENU_EDIT_CUT, _T("Cut\tCtrl-X"));
-+ edit_menu->Append(IFMENU_EDIT_PASTE, _T("Paste\tCtrl-V"));
-
- wxMenu *view_menu = new wxMenu;
-- view_menu->Append(IFMENU_VIEW_SCALE_MINMAX, "Display Scale S&et...\tCtrl-E");
-- view_menu->Append(IFMENU_VIEW_SCALE_AUTO, "Display Scale &Auto...\tCtrl-A");
-- view_menu->Append(IFMENU_VIEW_SCALE_FULL, "Display F&ull Scale\tCtrl-U");
-+ view_menu->Append(IFMENU_VIEW_SCALE_MINMAX, _T("Display Scale S&et...\tCtrl-E"));
-+ view_menu->Append(IFMENU_VIEW_SCALE_AUTO, _T("Display Scale &Auto...\tCtrl-A"));
-+ view_menu->Append(IFMENU_VIEW_SCALE_FULL, _T("Display F&ull Scale\tCtrl-U"));
-
- m_pFilterMenu = new wxMenu;
-- m_pFilterMenu->Append (IFMENU_FILTER_INVERTVALUES, "In&vert Values");
-- m_pFilterMenu->Append (IFMENU_FILTER_SQUARE, "&Square");
-- m_pFilterMenu->Append (IFMENU_FILTER_SQRT, "Square &Root");
-- m_pFilterMenu->Append (IFMENU_FILTER_LOG, "&Log");
-- m_pFilterMenu->Append (IFMENU_FILTER_EXP, "E&xp");
-+ m_pFilterMenu->Append (IFMENU_FILTER_INVERTVALUES, _T("In&vert Values"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_SQUARE, _T("&Square"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_SQRT, _T("Square &Root"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_LOG, _T("&Log"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_EXP, _T("E&xp"));
- m_pFilterMenu->AppendSeparator();
- #ifdef HAVE_FFT
-- m_pFilterMenu->Append (IFMENU_FILTER_FFT, "2-D &FFT\tCtrl-2");
-- m_pFilterMenu->Append (IFMENU_FILTER_IFFT, "2-D &IFFT\tAlt-2");
-- m_pFilterMenu->Append (IFMENU_FILTER_FFT_ROWS, "FFT Rows");
-- m_pFilterMenu->Append (IFMENU_FILTER_IFFT_ROWS, "IFFT Rows");
-- m_pFilterMenu->Append (IFMENU_FILTER_FFT_COLS, "FFT Columns");
-- m_pFilterMenu->Append (IFMENU_FILTER_IFFT_COLS, "IFFT Columns");
-- m_pFilterMenu->Append (IFMENU_FILTER_FOURIER, "2-D F&ourier");
-- m_pFilterMenu->Append (IFMENU_FILTER_INVERSE_FOURIER, "2-D Inverse Fo&urier");
-+ m_pFilterMenu->Append (IFMENU_FILTER_FFT, _T("2-D &FFT\tCtrl-2"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_IFFT, _T("2-D &IFFT\tAlt-2"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_FFT_ROWS, _T("FFT Rows"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_IFFT_ROWS, _T("IFFT Rows"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_FFT_COLS, _T("FFT Columns"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_IFFT_COLS, _T("IFFT Columns"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_FOURIER, _T("2-D F&ourier"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_INVERSE_FOURIER, _T("2-D Inverse Fo&urier"));
- #else
-- m_pFilterMenu->Append (IFMENU_FILTER_FOURIER, "&Fourier");
-- m_pFilterMenu->Append (IFMENU_FILTER_INVERSE_FOURIER, "&Inverse Fourier");
-+ m_pFilterMenu->Append (IFMENU_FILTER_FOURIER, _T("&Fourier"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_INVERSE_FOURIER, _T("&Inverse Fourier"));
- #endif
-- m_pFilterMenu->Append (IFMENU_FILTER_SHUFFLEFOURIERTONATURALORDER, "Shuffl&e Fourier to Natural Order");
-- m_pFilterMenu->Append (IFMENU_FILTER_SHUFFLENATURALTOFOURIERORDER, "Shuffle &Natural to Fourier Order");
-+ m_pFilterMenu->Append (IFMENU_FILTER_SHUFFLEFOURIERTONATURALORDER, _T("Shuffl&e Fourier to Natural Order"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_SHUFFLENATURALTOFOURIERORDER, _T("Shuffle &Natural to Fourier Order"));
- m_pFilterMenu->AppendSeparator();
-- m_pFilterMenu->Append (IFMENU_FILTER_MAGNITUDE, "&Magnitude");
-- m_pFilterMenu->Append (IFMENU_FILTER_PHASE, "&Phase");
-- m_pFilterMenu->Append (IFMENU_FILTER_REAL, "Re&al");
-- m_pFilterMenu->Append (IFMENU_FILTER_IMAGINARY, "Ima&ginary");
-+ m_pFilterMenu->Append (IFMENU_FILTER_MAGNITUDE, _T("&Magnitude"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_PHASE, _T("&Phase"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_REAL, _T("Re&al"));
-+ m_pFilterMenu->Append (IFMENU_FILTER_IMAGINARY, _T("Ima&ginary"));
-
- wxMenu* image_menu = new wxMenu;
-- image_menu->Append (IFMENU_IMAGE_ADD, "&Add...");
-- image_menu->Append (IFMENU_IMAGE_SUBTRACT, "&Subtract...");
-- image_menu->Append (IFMENU_IMAGE_MULTIPLY, "&Multiply...");
-- image_menu->Append (IFMENU_IMAGE_DIVIDE, "&Divide...");
-+ image_menu->Append (IFMENU_IMAGE_ADD, _T("&Add..."));
-+ image_menu->Append (IFMENU_IMAGE_SUBTRACT, _T("&Subtract..."));
-+ image_menu->Append (IFMENU_IMAGE_MULTIPLY, _T("&Multiply..."));
-+ image_menu->Append (IFMENU_IMAGE_DIVIDE, _T("&Divide..."));
- image_menu->AppendSeparator();
-- image_menu->Append (IFMENU_IMAGE_SCALESIZE, "S&cale Size...");
-+ image_menu->Append (IFMENU_IMAGE_SCALESIZE, _T("S&cale Size..."));
- #if wxUSE_GLCANVAS
-- image_menu->Append (IFMENU_IMAGE_CONVERT3D, "Convert &3-D\tCtrl-3");
-+ image_menu->Append (IFMENU_IMAGE_CONVERT3D, _T("Convert &3-D\tCtrl-3"));
- #endif
-
- m_pMenuAnalyze = new wxMenu;
-- m_pMenuAnalyze->Append (IFMENU_PLOT_ROW, "Plot &Row");
-- m_pMenuAnalyze->Append (IFMENU_PLOT_COL, "Plot &Column");
-- m_pMenuAnalyze->Append (IFMENU_PLOT_HISTOGRAM, "Plot &Histogram");
-+ m_pMenuAnalyze->Append (IFMENU_PLOT_ROW, _T("Plot &Row"));
-+ m_pMenuAnalyze->Append (IFMENU_PLOT_COL, _T("Plot &Column"));
-+ m_pMenuAnalyze->Append (IFMENU_PLOT_HISTOGRAM, _T("Plot &Histogram"));
- m_pMenuAnalyze->AppendSeparator();
-- m_pMenuAnalyze->Append (IFMENU_PLOT_FFT_ROW, "P&lot FFT Row");
-- m_pMenuAnalyze->Append (IFMENU_PLOT_FFT_COL, "Plo&t FFT Column");
-+ m_pMenuAnalyze->Append (IFMENU_PLOT_FFT_ROW, _T("P&lot FFT Row"));
-+ m_pMenuAnalyze->Append (IFMENU_PLOT_FFT_COL, _T("Plo&t FFT Column"));
- m_pMenuAnalyze->AppendSeparator();
-- m_pMenuAnalyze->Append (IFMENU_COMPARE_IMAGES, "Compare &Images...");
-- m_pMenuAnalyze->Append (IFMENU_COMPARE_ROW, "Compare Ro&w");
-- m_pMenuAnalyze->Append (IFMENU_COMPARE_COL, "Compare Colu&mn");
-+ m_pMenuAnalyze->Append (IFMENU_COMPARE_IMAGES, _T("Compare &Images..."));
-+ m_pMenuAnalyze->Append (IFMENU_COMPARE_ROW, _T("Compare Ro&w"));
-+ m_pMenuAnalyze->Append (IFMENU_COMPARE_COL, _T("Compare Colu&mn"));
- m_pMenuAnalyze->Enable (IFMENU_PLOT_ROW, false);
- m_pMenuAnalyze->Enable (IFMENU_PLOT_COL, false);
- m_pMenuAnalyze->Enable (IFMENU_COMPARE_ROW, false);
-@@ -1009,20 +1010,20 @@
- m_pMenuAnalyze->Enable (IFMENU_PLOT_FFT_COL, false);
-
- wxMenu *help_menu = new wxMenu;
-- help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-- help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
-- help_menu->Append (IDH_QUICKSTART, "&Quick Start");
-- help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
-+ help_menu->Append(MAINMENU_HELP_CONTENTS, _T("&Contents\tF1"));
-+ help_menu->Append (MAINMENU_HELP_TIPS, _T("&Tips"));
-+ help_menu->Append (IDH_QUICKSTART, _T("&Quick Start"));
-+ help_menu->Append(MAINMENU_HELP_ABOUT, _T("&About"));
-
- wxMenuBar *menu_bar = new wxMenuBar;
-
-- menu_bar->Append(m_pFileMenu, "&File");
-- menu_bar->Append(edit_menu, "&Edit");
-- menu_bar->Append(view_menu, "&View");
-- menu_bar->Append(image_menu, "&Image");
-- menu_bar->Append(m_pFilterMenu, "Fi<er");
-- menu_bar->Append(m_pMenuAnalyze, "&Analyze");
-- menu_bar->Append(help_menu, "&Help");
-+ menu_bar->Append(m_pFileMenu, _T("&File"));
-+ menu_bar->Append(edit_menu, _T("&Edit"));
-+ menu_bar->Append(view_menu, _T("&View"));
-+ menu_bar->Append(image_menu, _T("&Image"));
-+ menu_bar->Append(m_pFilterMenu, _T("Fi<er"));
-+ menu_bar->Append(m_pMenuAnalyze, _T("&Analyze"));
-+ menu_bar->Append(help_menu, _T("&Help"));
-
- subframe->SetMenuBar(menu_bar);
-
-@@ -1064,7 +1065,7 @@
- m_pCanvas = CreateCanvas (m_pFrame);
- m_pFrame->SetClientSize (m_pCanvas->GetBestSize());
- m_pCanvas->SetClientSize (m_pCanvas->GetBestSize());
-- m_pFrame->SetTitle("ImageFileView");
-+ m_pFrame->SetTitle(_T("ImageFileView"));
-
- m_pFrame->Show(true);
- Activate(true);
-@@ -1089,7 +1090,7 @@
- {
- if (m_pBitmap && m_pBitmap->Ok()) {
- #ifdef DEBUG
-- *theApp->getLog() << "Drawing bitmap\n";
-+ *theApp->getLog() << _T("Drawing bitmap\n");
- #endif
- dc->DrawBitmap(*m_pBitmap, 0, 0, false);
- }
-@@ -1147,7 +1148,7 @@
- m_pBitmap = NULL;
- }
- #ifdef DEBUG
-- *theApp->getLog() << "Making new bitmap\n";
-+ *theApp->getLog() << _T("Making new bitmap\n");
- #endif
- m_pBitmap = new wxBitmap (image);
- delete imageData;
-@@ -1281,41 +1282,46 @@
-
- DialogExportParameters dialogExport (getFrameForChild(), m_iDefaultExportFormatID);
- if (dialogExport.ShowModal() == wxID_OK) {
-- wxString strFormatName (dialogExport.getFormatName ());
-- m_iDefaultExportFormatID = ImageFile::convertExportFormatNameToID (strFormatName.c_str());
-+ wxString strFormatName (dialogExport.getFormatName (), wxConvUTF8);
-+ m_iDefaultExportFormatID = ImageFile::convertExportFormatNameToID (strFormatName.mb_str(wxConvUTF8));
-
- wxString strExt;
- wxString strWildcard;
- if (m_iDefaultExportFormatID == ImageFile::EXPORT_FORMAT_PGM || m_iDefaultExportFormatID == ImageFile::EXPORT_FORMAT_PGMASCII) {
-- strExt = ".pgm";
-- strWildcard = "PGM Files (*.pgm)|*.pgm";
-+ strExt = _T(".pgm");
-+ strWildcard = _T("PGM Files (*.pgm)|*.pgm");
- }
- #ifdef HAVE_PNG
- else if (m_iDefaultExportFormatID == ImageFile::EXPORT_FORMAT_PNG || m_iDefaultExportFormatID == ImageFile::EXPORT_FORMAT_PNG16) {
-- strExt = ".png";
-- strWildcard = "PNG Files (*.png)|*.png";
-+ strExt = _T(".png");
-+ strWildcard = _T("PNG Files (*.png)|*.png");
- }
- #endif
- #ifdef HAVE_CTN_DICOM
- else if (m_iDefaultExportFormatID == ImageFile::EXPORT_FORMAT_DICOM) {
-- strExt = "";
-- strWildcard = "DICOM Files (*.*)|*.*";
-+ strExt = _T("");
-+ strWildcard = _T("DICOM Files (*.*)|*.*");
- }
- #endif
- else if (m_iDefaultExportFormatID == ImageFile::EXPORT_FORMAT_TEXT) {
-- strExt = ".txt";
-- strWildcard = "Text (*.txt)|*.txt";
-+ strExt = _T(".txt");
-+ strWildcard = _T("Text (*.txt)|*.txt");
- }
- else {
-- strExt = "";
-- strWildcard = "Miscellaneous (*.*)|*.*";
-+ strExt = _T("");
-+ strWildcard = _T("Miscellaneous (*.*)|*.*");
- }
-
-- const wxString& strFilename = wxFileSelector (wxString("Export Filename"), wxString(""),
-- wxString(""), strExt, strWildcard, wxOVERWRITE_PROMPT | wxHIDE_READONLY | wxSAVE);
-+#if WXWIN_COMPATIBILITY_2_4
-+ const wxString& strFilename = wxFileSelector (_T("Export Filename"), _T(""),
-+ _T(""), strExt, strWildcard, wxOVERWRITE_PROMPT | wxHIDE_READONLY | wxSAVE);
-+#else
-+ const wxString& strFilename = wxFileSelector (_T("Export Filename"), _T(""),
-+ _T(""), strExt, strWildcard, wxOVERWRITE_PROMPT | wxSAVE);
-+#endif
- if (strFilename) {
-- rIF.exportImage (strFormatName.c_str(), strFilename.c_str(), 1, 1, m_dMinPixel, m_dMaxPixel);
-- *theApp->getLog() << "Exported file " << strFilename << "\n";
-+ rIF.exportImage (strFormatName.mb_str(wxConvUTF8), strFilename.mb_str(wxConvUTF8), 1, 1, m_dMinPixel, m_dMaxPixel);
-+ *theApp->getLog() << _T("Exported file ") << strFilename << _T("\n");
- }
- }
- }
-@@ -1328,7 +1334,7 @@
- unsigned int iOldNX = rIF.nx();
- unsigned int iOldNY = rIF.ny();
-
-- DialogGetXYSize dialogGetXYSize (getFrameForChild(), "Set New X & Y Dimensions", iOldNX, iOldNY);
-+ DialogGetXYSize dialogGetXYSize (getFrameForChild(), _T("Set New X & Y Dimensions"), iOldNX, iOldNY);
- if (dialogGetXYSize.ShowModal() == wxID_OK) {
- unsigned int iNewNX = dialogGetXYSize.getXSize();
- unsigned int iNewNY = dialogGetXYSize.getYSize();
-@@ -1344,7 +1350,7 @@
- rScaledIF.labelsCopy (rIF);
- rScaledIF.labelAdd (os.str().c_str());
- rIF.scaleImage (rScaledIF);
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- if (theApp->getAskDeleteNewDocs())
- pScaledDoc->Modify (true);
- OnUpdate(this, NULL);
-@@ -1376,7 +1382,7 @@
- {
- int xCursor, yCursor;
- if (! m_pCanvas->GetCurrentCursor (xCursor, yCursor)) {
-- wxMessageBox ("No row selected. Please use left mouse button on image to select column","Error");
-+ wxMessageBox (_T("No row selected. Please use left mouse button on image to select column"),_T("Error"));
- return;
- }
-
-@@ -1439,8 +1445,8 @@
- }
- for (unsigned int iL = 0; iL < rIF.nLabels(); iL++)
- rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str());
-- os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ os << " Plot of " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- }
- delete pX;
-@@ -1462,7 +1468,7 @@
- {
- int xCursor, yCursor;
- if (! m_pCanvas->GetCurrentCursor (xCursor, yCursor)) {
-- wxMessageBox ("No column selected. Please use left mouse button on image to select column","Error");
-+ wxMessageBox (_T("No column selected. Please use left mouse button on image to select column"),_T("Error"));
- return;
- }
-
-@@ -1525,8 +1531,8 @@
- }
- for (unsigned int iL = 0; iL < rIF.nLabels(); iL++)
- rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str());
-- os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ os << " Plot of " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- }
- delete pX;
-@@ -1549,7 +1555,7 @@
- {
- int xCursor, yCursor;
- if (! m_pCanvas->GetCurrentCursor (xCursor, yCursor)) {
-- wxMessageBox ("No row selected. Please use left mouse button on image to select column","Error");
-+ wxMessageBox (_T("No row selected. Please use left mouse button on image to select column"),_T("Error"));
- return;
- }
-
-@@ -1620,8 +1626,8 @@
- rPlotFile.addColumn (3, pYMag);
- for (unsigned int iL = 0; iL < rIF.nLabels(); iL++)
- rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str());
-- os << " FFT Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ os << " FFT Plot of " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- }
- delete pX;
-@@ -1643,7 +1649,7 @@
- {
- int xCursor, yCursor;
- if (! m_pCanvas->GetCurrentCursor (xCursor, yCursor)) {
-- wxMessageBox ("No column selected. Please use left mouse button on image to select column","Error");
-+ wxMessageBox (_T("No column selected. Please use left mouse button on image to select column"),_T("Error"));
- return;
- }
-
-@@ -1720,8 +1726,8 @@
- rPlotFile.addColumn (3, pYMag);
- for (unsigned int iL = 0; iL < rIF.nLabels(); iL++)
- rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str());
-- os << " FFT Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ os << " FFT Plot of " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- }
- delete pX;
-@@ -1745,17 +1751,17 @@
- {
- int xCursor, yCursor;
- if (! m_pCanvas->GetCurrentCursor (xCursor, yCursor)) {
-- wxMessageBox ("No column selected. Please use left mouse button on image to select column","Error");
-+ wxMessageBox (_T("No column selected. Please use left mouse button on image to select column"),_T("Error"));
- return;
- }
-
- std::vector<ImageFileDocument*> vecIFDoc;
- theApp->getCompatibleImages (GetDocument(), vecIFDoc);
- if (vecIFDoc.size() == 0) {
-- wxMessageBox ("No compatible images for Column Comparison", "Error");
-+ wxMessageBox (_T("No compatible images for Column Comparison"), _T("Error"));
- return;
- }
-- DialogGetComparisonImage dialogGetCompare (getFrameForChild(), "Get Comparison Image", vecIFDoc, false);
-+ DialogGetComparisonImage dialogGetCompare (getFrameForChild(), _T("Get Comparison Image"), vecIFDoc, false);
-
- if (dialogGetCompare.ShowModal() == wxID_OK) {
- ImageFileDocument* pCompareDoc = dialogGetCompare.getImageFileDocument();
-@@ -1803,20 +1809,21 @@
-
- unsigned int iL;
- for (iL = 0; iL < rIF.nLabels(); iL++) {
-- std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- s += ": ";
-- s += rIF.labelGet(iL).getLabelString();
-- rPlotFile.addDescription (s.c_str());
-+ std::ostringstream os;
-+ os << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8);
-+ os << ": " << rIF.labelGet(iL).getLabelString();
-+ rPlotFile.addDescription (os.str().c_str());
- }
- for (iL = 0; iL < rCompareIF.nLabels(); iL++) {
-- std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- s += ": ";
-- s += rCompareIF.labelGet(iL).getLabelString();
-- rPlotFile.addDescription (s.c_str());
-- }
-- os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and "
-- << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ std::ostringstream os;
-+ os << dynamic_cast<wxFrame*>(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8);
-+ os << ": ";
-+ os << rCompareIF.labelGet(iL).getLabelString();
-+ rPlotFile.addDescription (os.str().c_str());
-+ }
-+ os << " Between " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str() << " and "
-+ << dynamic_cast<wxFrame*>(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- }
- delete pX;
-@@ -1836,7 +1843,7 @@
- {
- int xCursor, yCursor;
- if (! m_pCanvas->GetCurrentCursor (xCursor, yCursor)) {
-- wxMessageBox ("No column selected. Please use left mouse button on image to select column","Error");
-+ wxMessageBox (_T("No column selected. Please use left mouse button on image to select column"),_T("Error"));
- return;
- }
-
-@@ -1844,11 +1851,11 @@
- theApp->getCompatibleImages (GetDocument(), vecIFDoc);
-
- if (vecIFDoc.size() == 0) {
-- wxMessageBox ("No compatible images for Row Comparison", "Error");
-+ wxMessageBox (_T("No compatible images for Row Comparison"), _T("Error"));
- return;
- }
-
-- DialogGetComparisonImage dialogGetCompare (getFrameForChild(), "Get Comparison Image", vecIFDoc, false);
-+ DialogGetComparisonImage dialogGetCompare (getFrameForChild(), _T("Get Comparison Image"), vecIFDoc, false);
-
- if (dialogGetCompare.ShowModal() == wxID_OK) {
- ImageFileDocument* pCompareDoc = dialogGetCompare.getImageFileDocument();
-@@ -1895,20 +1902,21 @@
- rPlotFile.addColumn (2, pY2);
- unsigned int iL;
- for (iL = 0; iL < rIF.nLabels(); iL++) {
-- std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- s += ": ";
-- s += rIF.labelGet(iL).getLabelString();
-- rPlotFile.addDescription (s.c_str());
-+ std::ostringstream os;
-+ os << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8);
-+ os << ": ";
-+ os << rIF.labelGet(iL).getLabelString();
-+ rPlotFile.addDescription (os.str().c_str());
- }
- for (iL = 0; iL < rCompareIF.nLabels(); iL++) {
-- std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- s += ": ";
-- s += rCompareIF.labelGet(iL).getLabelString();
-- rPlotFile.addDescription (s.c_str());
-- }
-- os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and "
-- << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ std::ostringstream os;
-+ os << dynamic_cast<wxFrame*>(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8) << ": "
-+ << rCompareIF.labelGet(iL).getLabelString();
-+ rPlotFile.addDescription (os.str().c_str());
-+ }
-+ os << " Between " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8) << " and "
-+ << dynamic_cast<wxFrame*>(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- }
- delete pX;
-@@ -1971,13 +1979,13 @@
- rPlotFile.addColumn (0, pX);
- rPlotFile.addColumn (1, pY);
- for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) {
-- std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- s += ": ";
-- s += rIF.labelGet(iL).getLabelString();
-- rPlotFile.addDescription (s.c_str());
-+ std::ostringstream os;
-+ os << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8);
-+ os << ": " << rIF.labelGet(iL).getLabelString();
-+ rPlotFile.addDescription (os.str().c_str());
- }
-- os << " plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ os << " plot of " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- delete pX;
- delete pY;
-@@ -2075,7 +2083,7 @@
- PhantomFileView::~PhantomFileView()
- {
- GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
-- GetDocumentManager()->ActivateView(this, FALSE, TRUE);
-+ GetDocumentManager()->ActivateView(this, FALSE);
- }
-
- void
-@@ -2090,8 +2098,8 @@
- #if DEBUG
- rPhantom.print (os);
- #endif
-- *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<\n";
-- wxMessageBox (os.str().c_str(), "Phantom Properties");
-+ *theApp->getLog() << _T(">>>>\n") << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("<<<<\n");
-+ wxMessageBox (wxConvUTF8.cMB2WX(os.str().c_str()), _T("Phantom Properties"));
- GetDocument()->Activate();
- }
-
-@@ -2117,22 +2125,22 @@
- m_dDefaultCenterDetectorLength = dialogProjection.getCenterDetectorLengthRatio();
- m_dDefaultViewRatio = dialogProjection.getViewRatio();
- m_dDefaultScanRatio = dialogProjection.getScanRatio();
-- wxString sGeometry = dialogProjection.getGeometry();
-- m_iDefaultGeometry = Scanner::convertGeometryNameToID (sGeometry.c_str());
-+ wxString sGeometry (dialogProjection.getGeometry(), wxConvUTF8);
-+ m_iDefaultGeometry = Scanner::convertGeometryNameToID (sGeometry.mb_str(wxConvUTF8));
- double dRotationRadians = m_dDefaultRotation;
- m_dDefaultRotation /= TWOPI; // convert back to fraction of a circle
-
-- if (m_iDefaultNDet <= 0 || m_iDefaultNView <= 0 || sGeometry == "")
-+ if (m_iDefaultNDet <= 0 || m_iDefaultNView <= 0 || sGeometry == _T(""))
- return;
-
- const Phantom& rPhantom = GetDocument()->getPhantom();
-- Scanner theScanner (rPhantom, sGeometry.c_str(), m_iDefaultNDet, m_iDefaultNView, m_iDefaultOffsetView, m_iDefaultNSample,
-+ Scanner theScanner (rPhantom, sGeometry.mb_str(wxConvUTF8), m_iDefaultNDet, m_iDefaultNView, m_iDefaultOffsetView, m_iDefaultNSample,
- dRotationRadians, m_dDefaultFocalLength, m_dDefaultCenterDetectorLength, m_dDefaultViewRatio, m_dDefaultScanRatio);
- if (theScanner.fail()) {
-- wxString msg = "Failed making scanner\n";
-- msg += theScanner.failMessage().c_str();
-- *theApp->getLog() << msg << "\n";
-- wxMessageBox (msg, "Error");
-+ wxString msg = _T("Failed making scanner\n");
-+ msg += wxConvUTF8.cMB2WX(theScanner.failMessage().c_str());
-+ *theApp->getLog() << msg << _T("\n");
-+ wxMessageBox (msg, _T("Error"));
- return;
- }
-
-@@ -2166,15 +2174,17 @@
- ::wxYield();
- while (dialogProjections.isPaused()) {
- ::wxYield();
-- ::wxUsleep(50);
-+ ::wxMilliSleep(50);
- }
- }
- } else {
- #if HAVE_WXTHREADS
- if (theApp->getUseBackgroundTasks()) {
-- ProjectorSupervisorThread* pProjector = new ProjectorSupervisorThread (this, m_iDefaultNDet,
-- m_iDefaultNView, m_iDefaultOffsetView, sGeometry.c_str(), m_iDefaultNSample, dRotationRadians,
-- m_dDefaultFocalLength, m_dDefaultCenterDetectorLength, m_dDefaultViewRatio, m_dDefaultScanRatio, os.str().c_str());
-+ ProjectorSupervisorThread* pProjector = new ProjectorSupervisorThread
-+ (this, m_iDefaultNDet, m_iDefaultNView, m_iDefaultOffsetView,
-+ sGeometry.mb_str(wxConvUTF8), m_iDefaultNSample, dRotationRadians,
-+ m_dDefaultFocalLength, m_dDefaultCenterDetectorLength, m_dDefaultViewRatio,
-+ m_dDefaultScanRatio, wxConvUTF8.cMB2WX(os.str().c_str()));
- if (pProjector->Create() != wxTHREAD_NO_ERROR) {
- sys_error (ERR_SEVERE, "Error creating projector thread");
- delete pProjector;
-@@ -2188,7 +2198,7 @@
- {
- pProj = new Projections;
- pProj->initFromScanner (theScanner);
-- wxProgressDialog dlgProgress (wxString("Projection"), wxString("Projection Progress"), pProj->nView() + 1, getFrameForChild(), wxPD_CAN_ABORT );
-+ wxProgressDialog dlgProgress (_T("Projection"), _T("Projection Progress"), pProj->nView() + 1, getFrameForChild(), wxPD_CAN_ABORT );
- for (int i = 0; i < pProj->nView(); i++) {
- //theScanner.collectProjections (*pProj, rPhantom, i, 1, true, m_iDefaultTrace);
- theScanner.collectProjections (*pProj, rPhantom, i, 1, theScanner.offsetView(), true, m_iDefaultTrace);
-@@ -2201,7 +2211,7 @@
- }
- }
-
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- pProj->setRemark (os.str());
- pProj->setCalcTime (timer.timerEnd());
-
-@@ -2218,8 +2228,6 @@
- pProjectionDoc->getView()->setInitialClientSize();
- pProjectionDoc->Activate();
- }
--
--
- void
- PhantomFileView::OnRasterize (wxCommandEvent& event)
- {
-@@ -2248,10 +2256,12 @@
-
- #if HAVE_WXTHREADS
- if (theApp->getUseBackgroundTasks()) {
-- RasterizerSupervisorThread* pThread = new RasterizerSupervisorThread (this, m_iDefaultRasterNX, m_iDefaultRasterNY,
-- m_iDefaultRasterNSamples, m_dDefaultRasterViewRatio, os.str().c_str());
-+ RasterizerSupervisorThread* pThread = new RasterizerSupervisorThread
-+ (this, m_iDefaultRasterNX, m_iDefaultRasterNY,
-+ m_iDefaultRasterNSamples, m_dDefaultRasterViewRatio,
-+ wxConvUTF8.cMB2WX(os.str().c_str()));
- if (pThread->Create() != wxTHREAD_NO_ERROR) {
-- *theApp->getLog() << "Error creating rasterizer thread\n";
-+ *theApp->getLog() << _T("Error creating rasterizer thread\n");
- return;
- }
- pThread->SetPriority (60);
-@@ -2261,8 +2271,8 @@
- {
- ImageFile* pImageFile = new ImageFile (m_iDefaultRasterNX, m_iDefaultRasterNY);
-
-- wxProgressDialog dlgProgress (wxString("Rasterize"),
-- wxString("Rasterization Progress"),
-+ wxProgressDialog dlgProgress (_T("Rasterize"),
-+ _T("Rasterization Progress"),
- pImageFile->nx() + 1,
- getFrameForChild(),
- wxPD_CAN_ABORT );
-@@ -2286,7 +2296,7 @@
- pRasterDoc->setImageFile (pImageFile);
- if (theApp->getAskDeleteNewDocs())
- pRasterDoc->Modify (true);
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- pImageFile->labelAdd (os.str().c_str(), timer.timerEnd());
-
- pRasterDoc->UpdateAllViews(this);
-@@ -2302,7 +2312,7 @@
- PhantomCanvas* pCanvas = new PhantomCanvas (this, parent, wxPoint(-1,-1),
- wxSize(-1,-1), 0);
- pCanvas->SetBackgroundColour(*wxWHITE);
-- pCanvas->Clear();
-+ pCanvas->ClearBackground();
-
- return pCanvas;
- }
-@@ -2315,50 +2325,50 @@
- PhantomFileView::CreateChildFrame(wxDocument *doc, wxView *view)
- {
- #if CTSIM_MDI
-- wxDocMDIChildFrame *subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, "Phantom Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocMDIChildFrame *subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, _T("Phantom Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #else
-- wxDocChildFrame *subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, "Phantom Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocChildFrame *subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, _T("Phantom Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #endif
- theApp->setIconForFrame (subframe);
-
- m_pFileMenu = new wxMenu;
-
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
-- m_pFileMenu->Append(wxID_OPEN, "&Open...\tCtrl-O");
-- m_pFileMenu->Append(wxID_SAVEAS, "Save &As...");
-- m_pFileMenu->Append(wxID_CLOSE, "&Close");
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, _T("Cr&eate Phantom...\tCtrl-P"));
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, _T("Create &Filter...\tCtrl-F"));
-+ m_pFileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl-O"));
-+ m_pFileMenu->Append(wxID_SAVEAS, _T("Save &As..."));
-+ m_pFileMenu->Append(wxID_CLOSE, _T("&Close"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(PHMMENU_FILE_PROPERTIES, "P&roperties\tCtrl-I");
-+ m_pFileMenu->Append(PHMMENU_FILE_PROPERTIES, _T("P&roperties\tCtrl-I"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(wxID_PRINT, "&Print...");
-- m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
-- m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
-+ m_pFileMenu->Append(wxID_PRINT, _T("&Print..."));
-+ m_pFileMenu->Append(wxID_PRINT_SETUP, _T("Print &Setup..."));
-+ m_pFileMenu->Append(wxID_PREVIEW, _T("Print Pre&view"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
-+ m_pFileMenu->Append(MAINMENU_IMPORT, _T("&Import...\tCtrl-M"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
-- m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
-+ m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, _T("Prefere&nces..."));
-+ m_pFileMenu->Append(MAINMENU_FILE_EXIT, _T("E&xit"));
- GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
- GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
-
- wxMenu *process_menu = new wxMenu;
-- process_menu->Append(PHMMENU_PROCESS_RASTERIZE, "&Rasterize...\tCtrl-R");
-- process_menu->Append(PHMMENU_PROCESS_PROJECTIONS, "&Projections...\tCtrl-J");
-+ process_menu->Append(PHMMENU_PROCESS_RASTERIZE, _T("&Rasterize...\tCtrl-R"));
-+ process_menu->Append(PHMMENU_PROCESS_PROJECTIONS, _T("&Projections...\tCtrl-J"));
-
- wxMenu *help_menu = new wxMenu;
-- help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-- help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
-- help_menu->Append (IDH_QUICKSTART, "&Quick Start");
-- help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
-+ help_menu->Append(MAINMENU_HELP_CONTENTS, _T("&Contents\tF1"));
-+ help_menu->Append (MAINMENU_HELP_TIPS, _T("&Tips"));
-+ help_menu->Append (IDH_QUICKSTART, _T("&Quick Start"));
-+ help_menu->Append(MAINMENU_HELP_ABOUT, _T("&About"));
-
- wxMenuBar *menu_bar = new wxMenuBar;
-
-- menu_bar->Append(m_pFileMenu, "&File");
-- menu_bar->Append(process_menu, "&Process");
-- menu_bar->Append(help_menu, "&Help");
-+ menu_bar->Append(m_pFileMenu, _T("&File"));
-+ menu_bar->Append(process_menu, _T("&Process"));
-+ menu_bar->Append(help_menu, _T("&Help"));
-
- subframe->SetMenuBar(menu_bar);
- subframe->Centre(wxBOTH);
-@@ -2382,7 +2392,7 @@
- m_pCanvas = CreateCanvas (m_pFrame);
- m_pFrame->SetClientSize (m_pCanvas->GetBestSize());
- m_pCanvas->SetClientSize (m_pCanvas->GetBestSize());
-- m_pFrame->SetTitle ("PhantomFileView");
-+ m_pFrame->SetTitle (_T("PhantomFileView"));
-
- m_pFrame->Show(true);
- Activate(true);
-@@ -2536,7 +2546,7 @@
- ProjectionFileView::~ProjectionFileView()
- {
- GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
-- GetDocumentManager()->ActivateView(this, FALSE, TRUE);;
-+ GetDocumentManager()->ActivateView(this, FALSE);;
- }
-
- void
-@@ -2545,8 +2555,8 @@
- const Projections& rProj = GetDocument()->getProjections();
- std::ostringstream os;
- rProj.printScanInfo(os);
-- *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<\n";
-- wxMessageDialog dialogMsg (getFrameForChild(), os.str().c_str(), "Projection File Properties", wxOK | wxICON_INFORMATION);
-+ *theApp->getLog() << _T(">>>>\n") << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("<<<<\n");
-+ wxMessageDialog dialogMsg (getFrameForChild(), wxConvUTF8.cMB2WX(os.str().c_str()), _T("Projection File Properties"), wxOK | wxICON_INFORMATION);
- dialogMsg.ShowModal();
- GetDocument()->Activate();
- }
-@@ -2576,8 +2586,8 @@
- pRectDoc->setImageFile (pIF);
- pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
- std::ostringstream os;
-- os << "Convert projection file " << GetFrame()->GetTitle().c_str() << " to rectangular image";
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ os << "Convert projection file " << getFrame()->GetTitle().c_str() << " to rectangular image";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- pIF->labelAdd (os.str().c_str());
- if (theApp->getAskDeleteNewDocs())
- pRectDoc->Modify (true);
-@@ -2590,19 +2600,19 @@
- ProjectionFileView::OnConvertPolar (wxCommandEvent& event)
- {
- Projections& rProj = GetDocument()->getProjections();
-- DialogGetConvertPolarParameters dialogPolar (getFrameForChild(), "Convert Polar", m_iDefaultPolarNX, m_iDefaultPolarNY,
-+ DialogGetConvertPolarParameters dialogPolar (getFrameForChild(), _T("Convert Polar"), m_iDefaultPolarNX, m_iDefaultPolarNY,
- m_iDefaultPolarInterpolation, -1, IDH_DLG_POLAR);
- if (dialogPolar.ShowModal() == wxID_OK) {
-- wxProgressDialog dlgProgress (wxString("Convert Polar"), wxString("Conversion Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-- wxString strInterpolation (dialogPolar.getInterpolationName());
-+ wxProgressDialog dlgProgress (_T("Convert Polar"), _T("Conversion Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-+ wxString strInterpolation (dialogPolar.getInterpolationName(), wxConvUTF8);
- m_iDefaultPolarNX = dialogPolar.getXSize();
- m_iDefaultPolarNY = dialogPolar.getYSize();
- ImageFile* pIF = new ImageFile (m_iDefaultPolarNX, m_iDefaultPolarNY);
-- m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str());
-+ m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.mb_str(wxConvUTF8));
-
- if (! rProj.convertPolar (*pIF, m_iDefaultPolarInterpolation)) {
- delete pIF;
-- *theApp->getLog() << "Error converting to Polar\n";
-+ *theApp->getLog() << _T("Error converting to Polar\n");
- return;
- }
-
-@@ -2614,10 +2624,10 @@
- pPolarDoc->setImageFile (pIF);
- pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
- std::ostringstream os;
-- os << "Convert projection file " << GetFrame()->GetTitle().c_str() << " to polar image: xSize="
-+ os << "Convert projection file " << getFrame()->GetTitle().c_str() << " to polar image: xSize="
- << m_iDefaultPolarNX << ", ySize=" << m_iDefaultPolarNY << ", interpolation="
- << strInterpolation.c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- pIF->labelAdd (os.str().c_str());
- if (theApp->getAskDeleteNewDocs())
- pPolarDoc->Modify (true);
-@@ -2631,20 +2641,20 @@
- ProjectionFileView::OnConvertFFTPolar (wxCommandEvent& event)
- {
- Projections& rProj = GetDocument()->getProjections();
-- DialogGetConvertPolarParameters dialogPolar (getFrameForChild(), "Convert to FFT Polar", m_iDefaultPolarNX, m_iDefaultPolarNY,
-+ DialogGetConvertPolarParameters dialogPolar (getFrameForChild(), _T("Convert to FFT Polar"), m_iDefaultPolarNX, m_iDefaultPolarNY,
- m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad, IDH_DLG_FFT_POLAR);
- if (dialogPolar.ShowModal() == wxID_OK) {
-- wxProgressDialog dlgProgress (wxString("Convert FFT Polar"), wxString("Conversion Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-- wxString strInterpolation (dialogPolar.getInterpolationName());
-+ wxProgressDialog dlgProgress (_T("Convert FFT Polar"), _T("Conversion Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-+ wxString strInterpolation (dialogPolar.getInterpolationName(), wxConvUTF8);
- m_iDefaultPolarNX = dialogPolar.getXSize();
- m_iDefaultPolarNY = dialogPolar.getYSize();
- m_iDefaultPolarZeropad = dialogPolar.getZeropad();
- ImageFile* pIF = new ImageFile (m_iDefaultPolarNX, m_iDefaultPolarNY);
-
-- m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str());
-+ m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.mb_str(wxConvUTF8));
- if (! rProj.convertFFTPolar (*pIF, m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad)) {
- delete pIF;
-- *theApp->getLog() << "Error converting to polar\n";
-+ *theApp->getLog() << _T("Error converting to polar\n");
- return;
- }
- ImageFileDocument* pPolarDoc = theApp->newImageDoc();
-@@ -2655,10 +2665,10 @@
- pPolarDoc->setImageFile (pIF);
- pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
- std::ostringstream os;
-- os << "Convert projection file " << GetFrame()->GetTitle().c_str() << " to FFT polar image: xSize="
-+ os << "Convert projection file " << getFrame()->GetTitle().c_str() << " to FFT polar image: xSize="
- << m_iDefaultPolarNX << ", ySize=" << m_iDefaultPolarNY << ", interpolation="
- << strInterpolation.c_str() << ", zeropad=" << m_iDefaultPolarZeropad;
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- pIF->labelAdd (os.str().c_str());
- if (theApp->getAskDeleteNewDocs())
- pPolarDoc->Modify (true);
-@@ -2771,8 +2781,8 @@
- rPlotFile.addColumn (0, pX);
- rPlotFile.addColumn (1, pY);
- rPlotFile.addDescription (rProj.remark());
-- os << " plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ os << " plot of " << dynamic_cast<wxFrame*>(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str();
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- rPlotFile.addDescription (os.str().c_str());
- delete pX;
- delete pY;
-@@ -2789,10 +2799,10 @@
- {
- Projections& rProj = GetDocument()->getProjections();
- if (rProj.geometry() == Scanner::GEOMETRY_PARALLEL) {
-- wxMessageBox ("Projections are already parallel", "Error");
-+ wxMessageBox (_T("Projections are already parallel"), _T("Error"));
- return;
- }
-- wxProgressDialog dlgProgress (wxString("Convert to Parallel"), wxString("Conversion Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-+ wxProgressDialog dlgProgress (_T("Convert to Parallel"), _T("Conversion Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
- Projections* pProjNew = rProj.interpolateToParallel();
- ProjectionFileDocument* pProjDocNew = theApp->newProjectionDoc();
- pProjDocNew->setProjections (pProjNew);
-@@ -2806,7 +2816,7 @@
- pFrame->SetFocus();
- pFrame->Raise();
- }
-- GetDocumentManager()->ActivateView (projView, true, false);
-+ GetDocumentManager()->ActivateView (projView, true);
- }
- if (theApp->getAskDeleteNewDocs())
- pProjDocNew-> Modify(true);
-@@ -2819,20 +2829,20 @@
- ProjectionFileView::OnReconstructFourier (wxCommandEvent& event)
- {
- Projections& rProj = GetDocument()->getProjections();
-- DialogGetConvertPolarParameters dialogPolar (getFrameForChild(), "Fourier Reconstruction", m_iDefaultPolarNX, m_iDefaultPolarNY,
-+ DialogGetConvertPolarParameters dialogPolar (getFrameForChild(), _T("Fourier Reconstruction"), m_iDefaultPolarNX, m_iDefaultPolarNY,
- m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad, IDH_DLG_RECON_FOURIER);
- if (dialogPolar.ShowModal() == wxID_OK) {
-- wxProgressDialog dlgProgress (wxString("Reconstruction Fourier"), wxString("Reconstruction Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-- wxString strInterpolation (dialogPolar.getInterpolationName());
-+ wxProgressDialog dlgProgress (_T("Reconstruction Fourier"), _T("Reconstruction Progress"), 1, getFrameForChild(), wxPD_APP_MODAL);
-+ wxString strInterpolation (dialogPolar.getInterpolationName(), wxConvUTF8);
- m_iDefaultPolarNX = dialogPolar.getXSize();
- m_iDefaultPolarNY = dialogPolar.getYSize();
- m_iDefaultPolarZeropad = dialogPolar.getZeropad();
- ImageFile* pIF = new ImageFile (m_iDefaultPolarNX, m_iDefaultPolarNY);
-
-- m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str());
-+ m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.mb_str(wxConvUTF8));
- if (! rProj.convertFFTPolar (*pIF, m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad)) {
- delete pIF;
-- *theApp->getLog() << "Error converting to polar\n";
-+ *theApp->getLog() << _T("Error converting to polar\n");
- return;
- }
- #ifdef HAVE_FFT
-@@ -2849,10 +2859,10 @@
- pPolarDoc->setImageFile (pIF);
- pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
- std::ostringstream os;
-- os << "Reconstruct Fourier " << GetFrame()->GetTitle().c_str() << ": xSize="
-+ os << "Reconstruct Fourier " << getFrame()->GetTitle().mb_str(wxConvUTF8) << ": xSize="
- << m_iDefaultPolarNX << ", ySize=" << m_iDefaultPolarNY << ", interpolation="
-- << strInterpolation.c_str() << ", zeropad=" << m_iDefaultPolarZeropad;
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ << strInterpolation.mb_str(wxConvUTF8) << ", zeropad=" << m_iDefaultPolarZeropad;
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- pIF->labelAdd (os.str().c_str());
- if (theApp->getAskDeleteNewDocs())
- pPolarDoc->Modify (true);
-@@ -2896,19 +2906,19 @@
-
- m_iDefaultNX = dialogReconstruction.getXSize();
- m_iDefaultNY = dialogReconstruction.getYSize();
-- wxString optFilterName = dialogReconstruction.getFilterName();
-- m_iDefaultFilter = SignalFilter::convertFilterNameToID (optFilterName.c_str());
-+ wxString optFilterName (dialogReconstruction.getFilterName(), wxConvUTF8);
-+ m_iDefaultFilter = SignalFilter::convertFilterNameToID (optFilterName.mb_str(wxConvUTF8));
- m_dDefaultFilterParam = dialogReconstruction.getFilterParam();
-- wxString optFilterMethodName = dialogReconstruction.getFilterMethodName();
-- m_iDefaultFilterMethod = ProcessSignal::convertFilterMethodNameToID(optFilterMethodName.c_str());
-+ wxString optFilterMethodName (dialogReconstruction.getFilterMethodName(), wxConvUTF8);
-+ m_iDefaultFilterMethod = ProcessSignal::convertFilterMethodNameToID(optFilterMethodName.mb_str(wxConvUTF8));
- m_iDefaultZeropad = dialogReconstruction.getZeropad();
-- wxString optFilterGenerationName = dialogReconstruction.getFilterGenerationName();
-- m_iDefaultFilterGeneration = ProcessSignal::convertFilterGenerationNameToID (optFilterGenerationName.c_str());
-- wxString optInterpName = dialogReconstruction.getInterpName();
-- m_iDefaultInterpolation = Backprojector::convertInterpNameToID (optInterpName.c_str());
-+ wxString optFilterGenerationName (dialogReconstruction.getFilterGenerationName(), wxConvUTF8);
-+ m_iDefaultFilterGeneration = ProcessSignal::convertFilterGenerationNameToID (optFilterGenerationName.mb_str(wxConvUTF8));
-+ wxString optInterpName (dialogReconstruction.getInterpName(), wxConvUTF8);
-+ m_iDefaultInterpolation = Backprojector::convertInterpNameToID (optInterpName.mb_str(wxConvUTF8));
- m_iDefaultInterpParam = dialogReconstruction.getInterpParam();
-- wxString optBackprojectName = dialogReconstruction.getBackprojectName();
-- m_iDefaultBackprojector = Backprojector::convertBackprojectNameToID (optBackprojectName.c_str());
-+ wxString optBackprojectName (dialogReconstruction.getBackprojectName(), wxConvUTF8);
-+ m_iDefaultBackprojector = Backprojector::convertBackprojectNameToID (optBackprojectName.mb_str(wxConvUTF8));
- m_iDefaultTrace = dialogReconstruction.getTrace();
- dialogReconstruction.getROI (&defaultROI);
-
-@@ -2916,7 +2926,7 @@
- return;
-
- std::ostringstream os;
-- os << "Reconstruct " << rProj.getFilename() << ": xSize=" << m_iDefaultNX << ", ySize=" << m_iDefaultNY << ", Filter=" << optFilterName.c_str() << ", FilterParam=" << m_dDefaultFilterParam << ", FilterMethod=" << optFilterMethodName.c_str() << ", FilterGeneration=" << optFilterGenerationName.c_str() << ", Zeropad=" << m_iDefaultZeropad << ", Interpolation=" << optInterpName.c_str() << ", InterpolationParam=" << m_iDefaultInterpParam << ", Backprojection=" << optBackprojectName.c_str();
-+ os << "Reconstruct " << rProj.getFilename() << ": xSize=" << m_iDefaultNX << ", ySize=" << m_iDefaultNY << ", Filter=" << optFilterName.mb_str(wxConvUTF8) << ", FilterParam=" << m_dDefaultFilterParam << ", FilterMethod=" << optFilterMethodName.mb_str(wxConvUTF8) << ", FilterGeneration=" << optFilterGenerationName.mb_str(wxConvUTF8) << ", Zeropad=" << m_iDefaultZeropad << ", Interpolation=" << optInterpName.mb_str(wxConvUTF8) << ", InterpolationParam=" << m_iDefaultInterpParam << ", Backprojection=" << optBackprojectName.mb_str(wxConvUTF8);
- if (bRebinToParallel)
- os << "; Interpolate to Parallel";
-
-@@ -2924,9 +2934,9 @@
- ImageFile* pImageFile = NULL;
- if (m_iDefaultTrace > Trace::TRACE_CONSOLE) {
- pImageFile = new ImageFile (m_iDefaultNX, m_iDefaultNY);
-- Reconstructor* pReconstructor = new Reconstructor (rProj, *pImageFile, optFilterName.c_str(),
-- m_dDefaultFilterParam, optFilterMethodName.c_str(), m_iDefaultZeropad, optFilterGenerationName.c_str(),
-- optInterpName.c_str(), m_iDefaultInterpParam, optBackprojectName.c_str(), m_iDefaultTrace,
-+ Reconstructor* pReconstructor = new Reconstructor (rProj, *pImageFile, optFilterName.mb_str(wxConvUTF8),
-+ m_dDefaultFilterParam, optFilterMethodName.mb_str(wxConvUTF8), m_iDefaultZeropad, optFilterGenerationName.mb_str(wxConvUTF8),
-+ optInterpName.mb_str(wxConvUTF8), m_iDefaultInterpParam, optBackprojectName.mb_str(wxConvUTF8), m_iDefaultTrace,
- &defaultROI, bRebinToParallel);
-
- ReconstructDialog* pDlgReconstruct = new ReconstructDialog (*pReconstructor, rProj, *pImageFile, m_iDefaultTrace, getFrameForChild());
-@@ -2941,7 +2951,7 @@
- ::wxYield();
- while (pDlgReconstruct->isPaused()) {
- ::wxYield();
-- ::wxUsleep(50);
-+ ::wxMilliSleep(50);
- }
- }
- pReconstructor->postProcessing();
-@@ -2950,10 +2960,13 @@
- } else {
- #if HAVE_WXTHREADS
- if (theApp->getUseBackgroundTasks()) {
-- ReconstructorSupervisorThread* pReconstructor = new ReconstructorSupervisorThread (this, m_iDefaultNX,
-- m_iDefaultNY, optFilterName.c_str(), m_dDefaultFilterParam, optFilterMethodName.c_str(),
-- m_iDefaultZeropad, optFilterGenerationName.c_str(), optInterpName.c_str(), m_iDefaultInterpParam,
-- optBackprojectName.c_str(), os.str().c_str(), &defaultROI, bRebinToParallel);
-+ ReconstructorSupervisorThread* pReconstructor = new ReconstructorSupervisorThread
-+ (this, m_iDefaultNX, m_iDefaultNY, optFilterName.mb_str(wxConvUTF8),
-+ m_dDefaultFilterParam, optFilterMethodName.mb_str(wxConvUTF8),
-+ m_iDefaultZeropad, optFilterGenerationName.mb_str(wxConvUTF8),
-+ optInterpName.mb_str(wxConvUTF8), m_iDefaultInterpParam,
-+ optBackprojectName.mb_str(wxConvUTF8),
-+ wxConvUTF8.cMB2WX(os.str().c_str()), &defaultROI, bRebinToParallel);
- if (pReconstructor->Create() != wxTHREAD_NO_ERROR) {
- sys_error (ERR_SEVERE, "Error creating reconstructor thread");
- delete pReconstructor;
-@@ -2966,10 +2979,10 @@
- #endif
- {
- pImageFile = new ImageFile (m_iDefaultNX, m_iDefaultNY);
-- wxProgressDialog dlgProgress (wxString("Reconstruction"), wxString("Reconstruction Progress"), rProj.nView() + 1, getFrameForChild(), wxPD_CAN_ABORT );
-- Reconstructor* pReconstructor = new Reconstructor (rProj, *pImageFile, optFilterName.c_str(),
-- m_dDefaultFilterParam, optFilterMethodName.c_str(), m_iDefaultZeropad, optFilterGenerationName.c_str(),
-- optInterpName.c_str(), m_iDefaultInterpParam, optBackprojectName.c_str(), m_iDefaultTrace,
-+ wxProgressDialog dlgProgress (_T("Reconstruction"), _T("Reconstruction Progress"), rProj.nView() + 1, getFrameForChild(), wxPD_CAN_ABORT );
-+ Reconstructor* pReconstructor = new Reconstructor (rProj, *pImageFile, optFilterName.mb_str(wxConvUTF8),
-+ m_dDefaultFilterParam, optFilterMethodName.mb_str(wxConvUTF8), m_iDefaultZeropad, optFilterGenerationName.mb_str(wxConvUTF8),
-+ optInterpName.mb_str(wxConvUTF8), m_iDefaultInterpParam, optBackprojectName.mb_str(wxConvUTF8), m_iDefaultTrace,
- &defaultROI, bRebinToParallel);
-
- for (int iView = 0; iView < rProj.nView(); iView++) {
-@@ -2989,7 +3002,7 @@
- sys_error (ERR_SEVERE, "Unable to create image file");
- return;
- }
-- *theApp->getLog() << os.str().c_str() << "\n";
-+ *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n");
- pImageFile->labelAdd (rProj.getLabel());
- pImageFile->labelAdd (os.str().c_str(), timerRecon.timerEnd());
-
-@@ -3019,7 +3032,7 @@
-
- pCanvas->SetScrollbars(20, 20, 50, 50);
- pCanvas->SetBackgroundColour(*wxWHITE);
-- pCanvas->Clear();
-+ pCanvas->ClearBackground();
-
- return pCanvas;
- }
-@@ -3032,69 +3045,69 @@
- ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
- {
- #ifdef CTSIM_MDI
-- wxDocMDIChildFrame *subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, "Projection Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocMDIChildFrame *subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, _T("Projection Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #else
-- wxDocChildFrame *subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, "Projection Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocChildFrame *subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, _T("Projection Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #endif
- theApp->setIconForFrame (subframe);
-
- m_pFileMenu = new wxMenu;
-
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
-- m_pFileMenu->Append(wxID_OPEN, "&Open...\tCtrl-O");
-- m_pFileMenu->Append(wxID_SAVE, "&Save\tCtrl-S");
-- m_pFileMenu->Append(wxID_SAVEAS, "Save &As...");
-- m_pFileMenu->Append(wxID_CLOSE, "&Close\tCtrl-W");
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, _T("Cr&eate Phantom...\tCtrl-P"));
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, _T("Create &Filter...\tCtrl-F"));
-+ m_pFileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl-O"));
-+ m_pFileMenu->Append(wxID_SAVE, _T("&Save\tCtrl-S"));
-+ m_pFileMenu->Append(wxID_SAVEAS, _T("Save &As..."));
-+ m_pFileMenu->Append(wxID_CLOSE, _T("&Close\tCtrl-W"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(PJMENU_FILE_PROPERTIES, "P&roperties\tCtrl-I");
-+ m_pFileMenu->Append(PJMENU_FILE_PROPERTIES, _T("P&roperties\tCtrl-I"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(wxID_PRINT, "&Print...");
-- m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
-- m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
-+ m_pFileMenu->Append(wxID_PRINT, _T("&Print..."));
-+ m_pFileMenu->Append(wxID_PRINT_SETUP, _T("Print &Setup..."));
-+ m_pFileMenu->Append(wxID_PREVIEW, _T("Print Pre&view"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
-+ m_pFileMenu->Append(MAINMENU_IMPORT, _T("&Import...\tCtrl-M"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
-- m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
-+ m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, _T("Prefere&nces..."));
-+ m_pFileMenu->Append(MAINMENU_FILE_EXIT, _T("E&xit"));
- GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
- GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
-
- m_pConvertMenu = new wxMenu;
-- m_pConvertMenu->Append (PJMENU_CONVERT_RECTANGULAR, "&Rectangular Image");
-- m_pConvertMenu->Append (PJMENU_CONVERT_POLAR, "&Polar Image...\tCtrl-L");
-- m_pConvertMenu->Append (PJMENU_CONVERT_FFT_POLAR, "FF&T->Polar Image...\tCtrl-T");
-+ m_pConvertMenu->Append (PJMENU_CONVERT_RECTANGULAR, _T("&Rectangular Image"));
-+ m_pConvertMenu->Append (PJMENU_CONVERT_POLAR, _T("&Polar Image...\tCtrl-L"));
-+ m_pConvertMenu->Append (PJMENU_CONVERT_FFT_POLAR, _T("FF&T->Polar Image...\tCtrl-T"));
- m_pConvertMenu->AppendSeparator();
-- m_pConvertMenu->Append (PJMENU_CONVERT_PARALLEL, "&Interpolate to Parallel");
-+ m_pConvertMenu->Append (PJMENU_CONVERT_PARALLEL, _T("&Interpolate to Parallel"));
-
- // wxMenu* filter_menu = new wxMenu;
-- // filter_menu->Append (PJMENU_ARTIFACT_REDUCTION, "&Artifact Reduction");
-+ // filter_menu->Append (PJMENU_ARTIFACT_REDUCTION, _T("&Artifact Reduction"));
-
- wxMenu* analyze_menu = new wxMenu;
-- analyze_menu->Append (PJMENU_PLOT_HISTOGRAM, "&Plot Histogram");
-- analyze_menu->Append (PJMENU_PLOT_TTHETA_SAMPLING, "Plot T-T&heta Sampling...\tCtrl-H");
-+ analyze_menu->Append (PJMENU_PLOT_HISTOGRAM, _T("&Plot Histogram"));
-+ analyze_menu->Append (PJMENU_PLOT_TTHETA_SAMPLING, _T("Plot T-T&heta Sampling...\tCtrl-H"));
-
- m_pReconstructMenu = new wxMenu;
-- m_pReconstructMenu->Append (PJMENU_RECONSTRUCT_FBP, "&Filtered Backprojection...\tCtrl-R", "Reconstruct image using filtered backprojection");
-- m_pReconstructMenu->Append (PJMENU_RECONSTRUCT_FBP_REBIN, "Filtered &Backprojection (Rebin to Parallel)...\tCtrl-B", "Reconstruct image using filtered backprojection");
-- m_pReconstructMenu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Inverse Fourier...\tCtrl-E", "Direct inverse Fourier");
-+ m_pReconstructMenu->Append (PJMENU_RECONSTRUCT_FBP, _T("&Filtered Backprojection...\tCtrl-R"), _T("Reconstruct image using filtered backprojection"));
-+ m_pReconstructMenu->Append (PJMENU_RECONSTRUCT_FBP_REBIN, _T("Filtered &Backprojection (Rebin to Parallel)...\tCtrl-B"), _T("Reconstruct image using filtered backprojection"));
-+ m_pReconstructMenu->Append (PJMENU_RECONSTRUCT_FOURIER, _T("&Inverse Fourier...\tCtrl-E"), _T("Direct inverse Fourier"));
-
- wxMenu *help_menu = new wxMenu;
-- help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-- help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
-- help_menu->Append (IDH_QUICKSTART, "&Quick Start");
-- help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
-+ help_menu->Append(MAINMENU_HELP_CONTENTS, _T("&Contents\tF1"));
-+ help_menu->Append (MAINMENU_HELP_TIPS, _T("&Tips"));
-+ help_menu->Append (IDH_QUICKSTART, _T("&Quick Start"));
-+ help_menu->Append(MAINMENU_HELP_ABOUT, _T("&About"));
-
- wxMenuBar *menu_bar = new wxMenuBar;
-
-- menu_bar->Append (m_pFileMenu, "&File");
-- menu_bar->Append (m_pConvertMenu, "&Convert");
-- // menu_bar->Append (filter_menu, "Fi<er");
-- menu_bar->Append (analyze_menu, "&Analyze");
-- menu_bar->Append (m_pReconstructMenu, "&Reconstruct");
-- menu_bar->Append (help_menu, "&Help");
-+ menu_bar->Append (m_pFileMenu, _T("&File"));
-+ menu_bar->Append (m_pConvertMenu, _T("&Convert"));
-+ // menu_bar->Append (filter_menu, _T("Fi<er"));
-+ menu_bar->Append (analyze_menu, _T("&Analyze"));
-+ menu_bar->Append (m_pReconstructMenu, _T("&Reconstruct"));
-+ menu_bar->Append (help_menu, _T("&Help"));
-
- subframe->SetMenuBar(menu_bar);
- subframe->Centre(wxBOTH);
-@@ -3122,7 +3135,7 @@
- m_pCanvas = CreateCanvas (m_pFrame);
- m_pFrame->SetClientSize (m_pCanvas->GetBestSize());
- m_pCanvas->SetClientSize (m_pCanvas->GetBestSize());
-- m_pFrame->SetTitle ("ProjectionFileView");
-+ m_pFrame->SetTitle (_T("ProjectionFileView"));
-
- m_pFrame->Show(true);
- Activate(true);
-@@ -3215,7 +3228,7 @@
- bool
- ProjectionFileView::OnClose (bool deleteWindow)
- {
-- //GetDocumentManager()->ActivateView (this, false, true);
-+ //GetDocumentManager()->ActivateView (this, false);
- if (! GetDocument() || ! GetDocument()->Close())
- return false;
-
-@@ -3290,7 +3303,7 @@
- delete m_pEZPlot;
-
- GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
-- GetDocumentManager()->ActivateView(this, FALSE, TRUE);
-+ GetDocumentManager()->ActivateView(this, FALSE);
- }
-
- void
-@@ -3300,8 +3313,9 @@
- std::ostringstream os;
- os << "Columns: " << rPlot.getNumColumns() << ", Records: " << rPlot.getNumRecords() << "\n";
- rPlot.printHeadersBrief (os);
-- *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<<\n";
-- wxMessageDialog dialogMsg (getFrameForChild(), os.str().c_str(), "Plot File Properties", wxOK | wxICON_INFORMATION);
-+ *theApp->getLog() << _T(">>>>\n") << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("<<<<<\n");
-+ wxMessageDialog dialogMsg (getFrameForChild(), wxConvUTF8.cMB2WX(os.str().c_str()), _T("Plot File Properties"),
-+ wxOK | wxICON_INFORMATION);
- dialogMsg.ShowModal();
- GetDocument()->Activate();
- }
-@@ -3338,7 +3352,7 @@
-
- if (! m_bMinSpecified || ! m_bMaxSpecified) {
- if (! rPlotFile.getMinMax (1, min, max)) {
-- *theApp->getLog() << "Error: unable to find Min/Max\n";
-+ *theApp->getLog() << _T("Error: unable to find Min/Max\n");
- return;
- }
- }
-@@ -3348,7 +3362,7 @@
- if (m_bMaxSpecified)
- max = m_dMaxPixel;
-
-- DialogGetMinMax dialogMinMax (getFrameForChild(), "Set Y-axis Minimum & Maximum", min, max);
-+ DialogGetMinMax dialogMinMax (getFrameForChild(), _T("Set Y-axis Minimum & Maximum"), min, max);
- int retVal = dialogMinMax.ShowModal();
- if (retVal == wxID_OK) {
- m_bMinSpecified = true;
-@@ -3379,7 +3393,7 @@
-
- pCanvas = new PlotFileCanvas (this, parent, wxPoint(-1,-1), wxSize(-1,-1), 0);
- pCanvas->SetBackgroundColour(*wxWHITE);
-- pCanvas->Clear();
-+ pCanvas->ClearBackground();
-
- return pCanvas;
- }
-@@ -3392,52 +3406,52 @@
- PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
- {
- #ifdef CTSIM_MDI
-- wxDocMDIChildFrame *subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, "Plot Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocMDIChildFrame *subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, _T("Plot Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #else
-- wxDocChildFrame *subframe = new wxDocChildFrame(doc, view, theApp->getMainFrame(), -1, "Plot Frame", wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
-+ wxDocChildFrame *subframe = new wxDocChildFrame(doc, view, theApp->getMainFrame(), -1, _T("Plot Frame"), wxPoint(-1,-1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE);
- #endif
- theApp->setIconForFrame (subframe);
-
- m_pFileMenu = new wxMenu;
-
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
-- m_pFileMenu->Append(wxID_OPEN, "&Open...\tCtrl-O");
-- m_pFileMenu->Append(wxID_SAVE, "&Save\tCtrl-S");
-- m_pFileMenu->Append(wxID_SAVEAS, "Save &As...");
-- m_pFileMenu->Append(wxID_CLOSE, "&Close\tCtrl-W");
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, _T("Cr&eate Phantom...\tCtrl-P"));
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, _T("Create &Filter...\tCtrl-F"));
-+ m_pFileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl-O"));
-+ m_pFileMenu->Append(wxID_SAVE, _T("&Save\tCtrl-S"));
-+ m_pFileMenu->Append(wxID_SAVEAS, _T("Save &As..."));
-+ m_pFileMenu->Append(wxID_CLOSE, _T("&Close\tCtrl-W"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(PLOTMENU_FILE_PROPERTIES, "P&roperties\tCtrl-I");
-+ m_pFileMenu->Append(PLOTMENU_FILE_PROPERTIES, _T("P&roperties\tCtrl-I"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(wxID_PRINT, "&Print...");
-- m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
-- m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
-+ m_pFileMenu->Append(wxID_PRINT, _T("&Print..."));
-+ m_pFileMenu->Append(wxID_PRINT_SETUP, _T("Print &Setup..."));
-+ m_pFileMenu->Append(wxID_PREVIEW, _T("Print Pre&view"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
-+ m_pFileMenu->Append(MAINMENU_IMPORT, _T("&Import...\tCtrl-M"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
-- m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
-+ m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, _T("Prefere&nces..."));
-+ m_pFileMenu->Append(MAINMENU_FILE_EXIT, _T("E&xit"));
- GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
- GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
-
- wxMenu *view_menu = new wxMenu;
-- view_menu->Append(PLOTMENU_VIEW_SCALE_MINMAX, "Display Scale &Set...\tCtrl-E");
-- view_menu->Append(PLOTMENU_VIEW_SCALE_AUTO, "Display Scale &Auto...\tCtrl-A");
-- view_menu->Append(PLOTMENU_VIEW_SCALE_FULL, "Display &Full Scale\tCtrl-U");
-+ view_menu->Append(PLOTMENU_VIEW_SCALE_MINMAX, _T("Display Scale &Set...\tCtrl-E"));
-+ view_menu->Append(PLOTMENU_VIEW_SCALE_AUTO, _T("Display Scale &Auto...\tCtrl-A"));
-+ view_menu->Append(PLOTMENU_VIEW_SCALE_FULL, _T("Display &Full Scale\tCtrl-U"));
-
- wxMenu *help_menu = new wxMenu;
-- help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-- help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
-- help_menu->Append (IDH_QUICKSTART, "&Quick Start");
-- help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
-+ help_menu->Append(MAINMENU_HELP_CONTENTS, _T("&Contents\tF1"));
-+ help_menu->Append (MAINMENU_HELP_TIPS, _T("&Tips"));
-+ help_menu->Append (IDH_QUICKSTART, _T("&Quick Start"));
-+ help_menu->Append(MAINMENU_HELP_ABOUT, _T("&About"));
-
- wxMenuBar *menu_bar = new wxMenuBar;
-
-- menu_bar->Append(m_pFileMenu, "&File");
-- menu_bar->Append(view_menu, "&View");
-- menu_bar->Append(help_menu, "&Help");
-+ menu_bar->Append(m_pFileMenu, _T("&File"));
-+ menu_bar->Append(view_menu, _T("&View"));
-+ menu_bar->Append(help_menu, _T("&Help"));
-
- subframe->SetMenuBar(menu_bar);
- subframe->Centre(wxBOTH);
-@@ -3466,7 +3480,7 @@
- m_pCanvas = CreateCanvas (m_pFrame);
- m_pFrame->SetClientSize (m_pCanvas->GetBestSize());
- m_pCanvas->SetClientSize (m_pCanvas->GetBestSize());
-- m_pFrame->SetTitle ("Plot File");
-+ m_pFrame->SetTitle (_T("Plot File"));
-
- m_pFrame->Show(true);
- Activate(true);
-@@ -3593,7 +3607,7 @@
- TextFileView::~TextFileView()
- {
- GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
-- GetDocumentManager()->ActivateView(this, FALSE, TRUE);;
-+ GetDocumentManager()->ActivateView(this, FALSE);;
- }
-
- bool TextFileView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
-@@ -3603,9 +3617,9 @@
-
- int width, height;
- m_pFrame->GetClientSize(&width, &height);
-- m_pFrame->SetTitle("TextFile");
-+ m_pFrame->SetTitle(_T("TextFile"));
- m_pCanvas = new TextFileCanvas (this, m_pFrame, wxPoint(-1,-1), wxSize(width, height), wxTE_MULTILINE | wxTE_READONLY);
-- m_pFrame->SetTitle("Log");
-+ m_pFrame->SetTitle(_T("Log"));
-
- m_pFrame->Show (true);
- Activate (true);
-@@ -3629,7 +3643,7 @@
- return false;
-
- Activate(false);
-- //GetDocumentManager()->ActivateView (this, false, true);
-+ //GetDocumentManager()->ActivateView (this, false);
- if (! GetDocument() || ! GetDocument()->Close())
- return false;
-
-@@ -3652,43 +3666,43 @@
- TextFileView::CreateChildFrame (wxDocument *doc, wxView *view)
- {
- #if CTSIM_MDI
-- wxDocMDIChildFrame* subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, "TextFile Frame", wxPoint(-1, -1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE, "Log");
-+ wxDocMDIChildFrame* subframe = new wxDocMDIChildFrame (doc, view, theApp->getMainFrame(), -1, _T("TextFile Frame"), wxPoint(-1, -1), wxSize(-1,-1), wxDEFAULT_FRAME_STYLE, _T("Log"));
- #else
-- wxDocChildFrame* subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, "TextFile Frame", wxPoint(-1, -1), wxSize(300, 150), wxDEFAULT_FRAME_STYLE, "Log");
-+ wxDocChildFrame* subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, _T("TextFile Frame"), wxPoint(-1, -1), wxSize(300, 150), wxDEFAULT_FRAME_STYLE, _T("Log"));
- #endif
- theApp->setIconForFrame (subframe);
-
- m_pFileMenu = new wxMenu;
-
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
-- m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
-- m_pFileMenu->Append(wxID_OPEN, "&Open...\tCtrl-O");
-- m_pFileMenu->Append(wxID_SAVE, "&Save\tCtrl-S");
-- m_pFileMenu->Append(wxID_SAVEAS, "Save &As...");
-- // m_pFileMenu->Append(wxID_CLOSE, "&Close\tCtrl-W");
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_PHANTOM, _T("Cr&eate Phantom...\tCtrl-P"));
-+ m_pFileMenu->Append(MAINMENU_FILE_CREATE_FILTER, _T("Create &Filter...\tCtrl-F"));
-+ m_pFileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl-O"));
-+ m_pFileMenu->Append(wxID_SAVE, _T("&Save\tCtrl-S"));
-+ m_pFileMenu->Append(wxID_SAVEAS, _T("Save &As..."));
-+ // m_pFileMenu->Append(wxID_CLOSE, _T("&Close\tCtrl-W"));
-
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(wxID_PRINT, "&Print...");
-- m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
-- m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
-+ m_pFileMenu->Append(wxID_PRINT, _T("&Print..."));
-+ m_pFileMenu->Append(wxID_PRINT_SETUP, _T("Print &Setup..."));
-+ m_pFileMenu->Append(wxID_PREVIEW, _T("Print Pre&view"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
-+ m_pFileMenu->Append(MAINMENU_IMPORT, _T("&Import...\tCtrl-M"));
- m_pFileMenu->AppendSeparator();
-- m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
-- m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
-+ m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, _T("Prefere&nces..."));
-+ m_pFileMenu->Append(MAINMENU_FILE_EXIT, _T("E&xit"));
- GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
- GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
-
- wxMenu *help_menu = new wxMenu;
-- help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-- help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
-- help_menu->Append (IDH_QUICKSTART, "&Quick Start");
-- help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
-+ help_menu->Append(MAINMENU_HELP_CONTENTS, _T("&Contents\tF1"));
-+ help_menu->Append (MAINMENU_HELP_TIPS, _T("&Tips"));
-+ help_menu->Append (IDH_QUICKSTART, _T("&Quick Start"));
-+ help_menu->Append(MAINMENU_HELP_ABOUT, _T("&About"));
-
- wxMenuBar *menu_bar = new wxMenuBar;
-
-- menu_bar->Append(m_pFileMenu, "&File");
-- menu_bar->Append(help_menu, "&Help");
-+ menu_bar->Append(m_pFileMenu, _T("&File"));
-+ menu_bar->Append(help_menu, _T("&Help"));
-
- subframe->SetMenuBar(menu_bar);
- subframe->Centre(wxBOTH);
-@@ -3699,7 +3713,7 @@
-
- // Define a constructor for my text subwindow
- TextFileCanvas::TextFileCanvas (TextFileView* v, wxFrame* frame, const wxPoint& pos, const wxSize& size, long style)
--: wxTextCtrl (frame, -1, "", pos, size, style), m_pView(v)
-+ : wxTextCtrl (frame, -1, _T(""), pos, size, style), m_pView(v)
- {
- }
-
-diff -wur --exclude=debian --exclude='configure*' --exclude=aclocal.m4 --exclude='config.*' --exclude=.git --exclude='Makefile*' ctsim/src/views.h ctsim-wx2.8/src/views.h
---- ctsim/src/views.h 2007-09-04 00:40:08.000000000 -0600
-+++ ctsim-wx2.8/src/views.h 2008-07-29 20:22:04.805299915 -0600
-@@ -67,7 +67,7 @@
-
- int m_iDefaultExportFormatID;
-
-- wxWindow* getFrameForChild()
-+ wxFrame* getFrameForChild()
- #if CTSIM_MDI
- { return theApp->getMainFrame(); }
- #else