NorMIT-nav  22.09
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
cx::PipelineWidgetFilterLine::mAlgoNameLabel
QLabel * mAlgoNameLabel
Definition: cxPipelineWidget.h:36
cx::TimedAlgorithmProgressBar
Show progress for a TimedBaseAlgorithm.
Definition: cxTimedAlgorithmProgressBar.h:51
cxBaseWidget.h
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cx::BaseWidget
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
cx::PipelineWidgetFilterLine::mAction
QAction * mAction
Definition: cxPipelineWidget.h:37
cx::PipelineWidget
Definition: cxPipelineWidget.h:59
cx::PipelineWidgetFilterLine::mTimedAlgorithmProgressBar
TimedAlgorithmProgressBar * mTimedAlgorithmProgressBar
Definition: cxPipelineWidget.h:38
cx::CompactFilterSetupWidget
Helper widget for displaying the input/output/options part of a Filter. Intended to be included in ot...
Definition: cxCompactFilterSetupWidget.h:35
cxPipeline.h
cx::PatientModelServicePtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Definition: cxLogicManager.h:25
cx::ViewServicePtr
boost::shared_ptr< class ViewService > ViewServicePtr
Definition: cxLogicManager.h:28
cx::PipelinePtr
boost::shared_ptr< Pipeline > PipelinePtr
Definition: cxPipeline.h:146
cx::FilterPtr
boost::shared_ptr< class Filter > FilterPtr
Definition: cxForwardDeclarations.h:153
cxCompactFilterSetupWidget.h
cx::PipelineWidgetFilterLine
Definition: cxPipelineWidget.h:29
cx::PipelineWidgetFilterLine::mRadioButton
QRadioButton * mRadioButton
Definition: cxPipelineWidget.h:35
cx::PipelineWidgetFilterLine::mFilter
FilterPtr mFilter
Definition: cxPipelineWidget.h:39