r1986: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 8 May 2002 08:55:45 +0000 (08:55 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 8 May 2002 08:55:45 +0000 (08:55 +0000)
ChangeLog
libctsim/ctndicom.cpp
src/ctsim.cpp

index 05733e9ff78915eecd01a0696095a6abc20cd5d6..27019a1e8af50fbd82ba6f7d8006b8cd6c89ab93 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 May 8, 2000  Version 3.5.2
        * configure: improved CTN (DICOM) installation search
+       * src/ctsim.cpp: Fixed initial image size with import command
 
+       
 May 5, 2000  Version 3.5.1
 
        New Features:
index fff3f77edbe4dc2c980591b32892e53b6e491868..4a96d02bd1470bc097dcb2c9bf57e000b52a48f6 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctndicom.cpp,v 1.13 2002/05/08 07:00:07 kevin Exp $
+**  $Id: ctndicom.cpp,v 1.14 2002/05/08 08:55:45 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -40,12 +40,21 @@ DicomImporter::DicomImporter (const char* const pszFile)
   : m_pFile(NULL), m_strFilename(pszFile), m_bFail(false), m_iContents(DICOM_CONTENTS_INVALID), 
   m_pImageFile(NULL), m_pProjections(NULL)
 {
-  unsigned long lOptions = DCM_ORDERLITTLEENDIAN;
+  unsigned long lOptions = DCM_ORDERLITTLEENDIAN | DCM_FORMATCONVERSION;
   DCM_Debug (FALSE);
-  if (DCM_OpenFile (pszFile, lOptions, &m_pFile) != DCM_NORMAL) {
-    m_bFail = true;;
-    m_strFailMessage = "Can't open file ";
-    m_strFailMessage += m_strFilename;
+
+  CONDITION cond = DCM_OpenFile (pszFile, lOptions, &m_pFile);
+  if (cond != DCM_NORMAL) {
+    m_bFail = true;
+    char textbuf [2048]; 
+    CONDITION cond2 = COND_TopCondition (&cond, textbuf, sizeof(textbuf));
+    cond2 = DCM_NORMAL; // testing
+    if (cond2 != DCM_NORMAL) {
+      m_strFailMessage = "DCM_OpenFile failure: ";
+      m_strFailMessage += m_strFilename;
+    } else
+      m_strFailMessage = textbuf;
+
     return;
   }
 
index cf6b738a18f5cf72ca1cbbeed3a0e810b8f56647..2dbdec7cd51b8f90a0f6fc6c5338de0f4a46fd03 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctsim.cpp,v 1.110 2002/05/05 14:22:44 kevin Exp $
+**  $Id: ctsim.cpp,v 1.111 2002/05/08 08:55:45 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -70,7 +70,7 @@
 #endif
 #endif
 
-static const char* rcsindent = "$Id: ctsim.cpp,v 1.110 2002/05/05 14:22:44 kevin Exp $";
+static const char* rcsindent = "$Id: ctsim.cpp,v 1.111 2002/05/08 08:55:45 kevin Exp $";
 
 struct option CTSimApp::ctsimOptions[] = 
 {
@@ -982,15 +982,14 @@ MainFrame::OnImport (wxCommandEvent& WXUNUSED(event) )
         ImageFileDocument* pIFDoc = theApp->newImageDoc();
         ImageFile* pIF = dicomImport.getImageFile();
         pIFDoc->setImageFile (pIF);
-        pIFDoc->getView()->getFrame()->Show(true);
         std::ostringstream os;
         os << "Import file " << strFilename.c_str() << " (type " << strFormatName.c_str() << ")";
         pIF->labelAdd (os.str().c_str());
         if (theApp->getAskDeleteNewDocs())
           pIFDoc->Modify (true);
         pIFDoc->UpdateAllViews();
-        pIFDoc->GetFirstView()->OnUpdate (NULL, NULL);
-        pIFDoc->getView()->getFrame()->Show(true);
+        pIFDoc->getView()->setInitialClientSize();
+       pIFDoc->Activate();
       } else if (dicomImport.testProjections()) {
         ProjectionFileDocument* pProjDoc = theApp->newProjectionDoc();
         Projections* pProj = dicomImport.getProjections();
@@ -1002,8 +1001,8 @@ MainFrame::OnImport (wxCommandEvent& WXUNUSED(event) )
         if (theApp->getAskDeleteNewDocs())
           pProjDoc->Modify (true);
         pProjDoc->UpdateAllViews();
-        pProjDoc->GetFirstView()->OnUpdate (NULL, NULL);
-        pProjDoc->getView()->getFrame()->Show(true);
+        pProjDoc->getView()->setInitialClientSize();
+       pProjDoc->Activate();
       } else
         ::wxMessageBox ("Unrecognized DICOM file contents", "Import Error");
     }