CustusX  22.04-rc5
An IGT application
cxClippers.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef CXCLIPPERS_H
13 #define CXCLIPPERS_H
14 
15 #include "cxGuiExport.h"
16 
17 #include <QStringList>
18 #include "cxForwardDeclarations.h"
19 class QDomNode;
20 
21 namespace cx {
22 
28 class cxGui_EXPORT Clippers : public QObject
29 {
30  Q_OBJECT
31 public:
32  Clippers(VisServicesPtr services);
33  void importList(QString clippers);
34  QString exportList();
35  InteractiveClipperPtr getClipper(QString clipperName);
36  void add(QString clipperName, InteractiveClipperPtr clipper);
37  void remove(QString clipperName);
38  bool exists(QString clipperName);
39  int size() {return mClippers.size();}
40  QStringList getClipperNames();
41 
42  void parseXml(QDomNode parentNode);
43  void addXml(QDomNode &parentNode);
44 signals:
45  void changed();
46 
47 protected:
49 // PatientStorage mStorage;
50  std::map<QString, InteractiveClipperPtr> mClippers;
51  QStringList mClipperList;//remove
52 // StringPropertyPtr mClipperList;
53 
54  void createDefaultClippers();
55  QStringList getInitialClipperNames();
56 };
57 
58 }//cx
59 
60 #endif // CXCLIPPERS_H
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
VisServicesPtr mServices
Definition: cxClippers.h:48
std::map< QString, InteractiveClipperPtr > mClippers
Definition: cxClippers.h:50
int size()
Definition: cxClippers.h:39
Clipper container. Used by ClippersWidget.
Definition: cxClippers.h:28
QStringList mClipperList
Definition: cxClippers.h:51
boost::shared_ptr< class InteractiveClipper > InteractiveClipperPtr
Namespace for all CustusX production code.