Slicer 5.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qMRMLSequenceBrowserPlayWidget.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Brigham and Women's Hospital
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 This file was originally developed by Laurent Chauvin, Brigham and Women's
17 Hospital. The project was supported by grants 5P01CA067165,
18 5R01CA124377, 5R01CA138586, 2R44DE019322, 7R01CA124377,
19 5R42CA137886, 5R42CA137886
20 It was then updated for the Markups module by Nicole Aucoin, BWH.
21
22==============================================================================*/
23
24#ifndef __qMRMLSequenceBrowserPlayWidget_h
25#define __qMRMLSequenceBrowserPlayWidget_h
26
27// CTK includes
28#include <ctkPimpl.h>
29#include <ctkVTKObject.h>
30
31// Slicer includes
32#include "qMRMLWidget.h"
33
34#include "qSlicerSequencesModuleWidgetsExport.h"
35
36class qMRMLSequenceBrowserPlayWidgetPrivate;
37class vtkMRMLNode;
39
40class Q_SLICER_MODULE_SEQUENCES_WIDGETS_EXPORT qMRMLSequenceBrowserPlayWidget
41: public qMRMLWidget
42{
43 Q_OBJECT
44 QVTK_OBJECT
45
49 Q_PROPERTY(bool RecordingControlsVisible READ recordingControlsVisible WRITE setRecordingControlsVisible)
50
51 Q_PROPERTY(QString PlayPauseShortcut READ playPauseShortcut WRITE setPlayPauseShortcut)
52 Q_PROPERTY(QString PreviousFrameShortcut READ previousFrameShortcut WRITE setPreviousFrameShortcut)
53 Q_PROPERTY(QString NextFrameShortcut READ nextFrameShortcut WRITE setNextFrameShortcut)
54
55
56public:
58 qMRMLSequenceBrowserPlayWidget(QWidget *newParent = 0);
60
62 QString playPauseShortcut()const;
63
65 QString previousFrameShortcut()const;
66
68 QString nextFrameShortcut()const;
69
74 bool recordingControlsVisible() const;
75
76public slots:
77 void setMRMLSequenceBrowserNode(vtkMRMLSequenceBrowserNode* browserNode);
78 void setMRMLSequenceBrowserNode(vtkMRMLNode* browserNode);
79 void setPlaybackEnabled(bool play);
80 void setRecordingEnabled(bool play);
81 void setPlaybackRateFps(double playbackRateFps);
82 void setPlaybackLoopEnabled(bool loopEnabled);
83 void setRecordingControlsVisible(bool show);
84
86 void setPlayPauseShortcut(QString keySequence);
87
89 void setPreviousFrameShortcut(QString keySequence);
90
92 void setNextFrameShortcut(QString keySequence);
93
94 void onVcrFirst();
95 void onVcrPrevious();
96 void onVcrNext();
97 void onVcrLast();
98 void onVcrPlayPause();
99 void onRecordSnapshot();
100
101protected slots:
102 void updateWidgetFromMRML();
103
104protected:
105 QScopedPointer<qMRMLSequenceBrowserPlayWidgetPrivate> d_ptr;
106
107private:
108 Q_DECLARE_PRIVATE(qMRMLSequenceBrowserPlayWidget);
109 Q_DISABLE_COPY(qMRMLSequenceBrowserPlayWidget);
110
111};
112
113#endif
Base class for any widget that requires a MRML Scene.
Definition qMRMLWidget.h:36
Abstract Superclass for all specific types of MRML nodes.