3
* $Id: dicomizecommand.h 3681 2011-04-12 10:53:31Z tovar $
6
* Copyright 2008-10 MetaEmotion S.L. All rights reserved.
7
* http://ginkgo-cadx.com
9
* This file is licensed under LGPL v3 license.
10
* See License.txt for details
15
//#define _GINKGO_TRACE
16
#include <api/globals.h>
17
#include <api/icomando.h>
18
#include <api/imgproxy.h>
19
#include <api/ientorno.h>
20
#include <api/icontroladoreventos.h>
21
#include <api/imodelointegracion.h>
22
#include <fooextension/gui/importation/importationpersistentdata.h>
24
#include <wx/xml/xml.h>
25
#include <wx/thread.h>
28
namespace FooExtension {
31
//data that command uses is defined in the parameters class, this class will be deleted when command is destroyed
32
class DicomizeCommandParameters : public GNC::GCS::IComandoParams {
34
DicomizeCommandParameters(GnkPtr< ::FooExtension::GUI::ImportationPersistentData > pDatosPersistentes, GNC::GCS::IEntorno* pEntorno) ;
36
//if you reserve memory in the parameters you have to define virtual destructor
37
virtual ~DicomizeCommandParameters() ;
40
GnkPtr< ::FooExtension::GUI::ImportationPersistentData > m_pPersistentData;
41
GNC::GCS::IEntorno* m_pEntorno;
44
std::string m_errorMessage;
48
//command of dicomization, all commands has one part executed in background and another synchronized with interface
49
class DicomizeCommand : public GNC::GCS:: IComando {
51
//receives parameters used in processing
52
DicomizeCommand(DicomizeCommandParameters* pParams);
55
//this part is executed in background, it can't call interface methods neither asks for user interaction
56
virtual void Execute();
58
//this method is called after execute is performed, is synchronized with user interface
59
virtual void Update();
61
//called when command is aborted
62
virtual void OnAbort();
67
bool CopyDICOMToGinkgoCADx();
69
bool RemoveTempDir(const wxString& dirPath);
71
DicomizeCommandParameters* m_pDicomizationParameters;