Applied initial patches for wx2.8 compatibility
[ctsim.git] / src / threadproj.cpp
index 8384defe2138133f8e36e4c614b4da52689efb6b..60931a9117a4890dc3632adb8bf4f75b6a9e6bb2 100644 (file)
@@ -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 @@ wxThread::ExitCode
 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 @@ ProjectorSupervisorThread::Entry()
   }
   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 @@ ProjectorSupervisorThread::OnExit()
 
 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 @@ ProjectorSupervisor::onDone()
   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 @@ ProjectorWorker::Entry ()
 {
   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 @@ ProjectorWorker::Entry ()
 #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 );