CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxPipelineWidget.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 CXPIPELINEWIDGET_H
12 #define CXPIPELINEWIDGET_H
13 
14 #include "cxResourceWidgetsExport.h"
15 
16 #include "cxBaseWidget.h"
17 #include "cxPipeline.h"
18 class QButtonGroup;
19 class QRadioButton;
20 class QAction;
21 //#include "cxFilterWidget.h"
23 
24 namespace cx
25 {
26 class TimedAlgorithmProgressBar;
27 
28 
29 class cxResourceWidgets_EXPORT PipelineWidgetFilterLine : public BaseWidget
30 {
31  Q_OBJECT
32 public:
33  PipelineWidgetFilterLine(QWidget* parent, FilterPtr filter, QButtonGroup *buttonGroup);
34 
35  QRadioButton* mRadioButton;
36  QLabel* mAlgoNameLabel;
37  QAction* mAction;
40 
41 signals:
42  void requestRunFilter();
43  void filterSelected(QString uid);
44 
45 private slots:
46  void radioButtonSelectedSlot(bool on);
47  void requestRunFilterSlot();
48 protected:
49  virtual void mousePressEvent(QMouseEvent* event);
50 };
51 
59 class cxResourceWidgets_EXPORT PipelineWidget : public BaseWidget
60 {
61  Q_OBJECT
62 public:
63  PipelineWidget(ViewServicePtr viewService, PatientModelServicePtr patientModelService, QWidget* parent, PipelinePtr pipeline);
64 private slots:
65  void runFilterSlot();
66  void filterSelectedSlot(QString uid);
67 private:
68  void selectFilter(int index);
69  PipelinePtr mPipeline;
70  QButtonGroup* mButtonGroup;
71  std::vector<PipelineWidgetFilterLine*> mAlgoLines;
72  CompactFilterSetupWidget* mSetupWidget;
73 };
74 
75 
76 } // namespace cx
77 
78 #endif // CXPIPELINEWIDGET_H
Helper widget for displaying the input/output/options part of a Filter. Intended to be included in ot...
boost::shared_ptr< class ViewService > ViewServicePtr
Show progress for a TimedBaseAlgorithm.
boost::shared_ptr< class Filter > FilterPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
TimedAlgorithmProgressBar * mTimedAlgorithmProgressBar
Namespace for all CustusX production code.
boost::shared_ptr< Pipeline > PipelinePtr
Definition: cxPipeline.h:146