CustusX  18.04
An IGT application
cxFilterSetupWidget.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 CXFILTERWIDGET_H
12 #define CXFILTERWIDGET_H
13 
14 #include "cxGuiExport.h"
15 
16 #include "cxBaseWidget.h"
17 #include "cxFilter.h"
18 #include "cxFilterTimedAlgorithm.h"
19 #include "cxOptionsWidget.h"
20 
21 namespace cx
22 {
23 typedef boost::shared_ptr<class WidgetObscuredListener> WidgetObscuredListenerPtr;
24 typedef boost::shared_ptr<class VisServices> VisServicesPtr;
26 class FilterPresetWidget;
27 
36 class cxGui_EXPORT FilterSetupWidget : public BaseWidget
37 {
38  Q_OBJECT
39 public:
40  FilterSetupWidget(VisServicesPtr services, QWidget* parent, XmlOptionFile options, bool addFrame);
41 
42  void setFilter(FilterPtr filter);
43  QString generateHelpText() const;
44 
45  void setCompact(bool on);
46  void toggleDetailed();
47 
48 private slots:
49  void obscuredSlot(bool obscured);
50  void showAdvancedOptions(int state);
51  void rebuildOptions();
52 
53 private:
54  void setVisibilityOfOptionsAndAdvancedOptions();
55 
56  VisServicesPtr mServices;
57  XmlOptionFile mOptions;
58  FilterPtr mCurrentFilter;
59 
60  OptionsWidget* mInputsWidget;
61  OptionsWidget* mOutputsWidget;
62  OptionsWidget* mOptionsWidget;
63  FilterPresetWidget* mPresetWidget;
64  QGroupBox* mOptionsGroupBox;
65  QCheckBox* mAdvancedButton;
66  QGroupBox* mFrame;
67  boost::shared_ptr<WidgetObscuredListener> mObscuredListener;
68 };
69 
70 }
71 
72 #endif // CXFILTERWIDGET_H
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
Show progress for a TimedBaseAlgorithm.
boost::shared_ptr< class WidgetObscuredListener > WidgetObscuredListenerPtr
boost::shared_ptr< class Filter > FilterPtr
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
Helper class for xml files used to store ssc/cx data.
Namespace for all CustusX production code.