CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxStringPropertySelectCoordinateSystem.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 #ifndef CXSTRINGPROPERTYSELECTCOORDINATESYSTEM_H
12 #define CXSTRINGPROPERTYSELECTCOORDINATESYSTEM_H
13 
14 #include "cxResourceExport.h"
15 
16 #include "cxStringPropertyBase.h"
17 #include "cxForwardDeclarations.h"
19 
26 namespace cx
27 {
28 
32 {
33  Q_OBJECT
34 public:
37 
38 public: // basic methods
39 
40 public: // optional methods
41  virtual QStringList getValueRange() const;
42  virtual QString convertInternal2Display(QString internal);
43 };
44 typedef boost::shared_ptr<class StringPropertySelectCoordinateSystemBase> StringPropertySelectCoordinateSystemBasePtr;
45 
46 
47 typedef boost::shared_ptr<class StringPropertySelectCoordinateSystem> StringPropertySelectCoordinateSystemPtr;
48 
57 {
58  Q_OBJECT
59 public:
60  static StringPropertySelectCoordinateSystemPtr New(TrackingServicePtr trackingService) { return StringPropertySelectCoordinateSystemPtr(new StringPropertySelectCoordinateSystem(trackingService)); }
63 
64 public: // basic methods
65  virtual QString getDisplayName() const;
66  virtual bool setValue(const QString& value);
67  virtual QString getValue() const;
68 
69 public: // optional methods
70  virtual QString getHelp() const;
71 
72 public: // interface extension
73  COORDINATE_SYSTEM getCoordinateSystem();
74 
75 private slots: //interface extension
76  void setDefaultSlot();
77 
78 private:
79  COORDINATE_SYSTEM mCoordinateSystem;
80  QString mValueName;
81  TrackingServicePtr mTrackingService;
82 };
83 
84 
85 } // namespace cx
86 
87 
92 #endif // CXSTRINGPROPERTYSELECTCOORDINATESYSTEM_H
boost::shared_ptr< class StringPropertySelectCoordinateSystem > StringPropertySelectCoordinateSystemPtr
boost::shared_ptr< class TrackingService > TrackingServicePtr
static StringPropertySelectCoordinateSystemPtr New(TrackingServicePtr trackingService)
Adapter that selects and stores a coordinate systems. The coordinatesystem is stored internally in th...
Abstract interface for interaction with internal string-valued data.
boost::shared_ptr< class StringPropertySelectCoordinateSystemBase > StringPropertySelectCoordinateSystemBasePtr
Namespace for all CustusX production code.