VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVideoStreamConfigurationWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <vrvUtil/DtUnicode.h>
15 #include <QtWidgets/QWidget>
16 
17 #include <list>
18 #include <vector>
19 
20 class QCheckBox;
21 class QComboBox;
22 class QFrame;
23 class QGroupBox;
24 class QHBoxLayout;
25 class QLabel;
26 class QPushButton;
27 class QSpacerItem;
28 class QSpinBox;
29 class QVBoxLayout;
30 
31 namespace makVrv
32 {
33  class DtVideoStream;
34  class DtDe;
35  class DtVideoStreamConfigurationLogic;
36  class DtImageTaskElementWidget;
37  class DtMetadataPublisherConfigurationWidget;
38 
44  {
45  Q_OBJECT
46 
47  public:
50 
53 
55  void setupGui();
56 
59  QSize sizeHint() const;
60 
62  virtual void activate();
63 
65  virtual void setCurrentWindowName( const DtUnicode& windowName );
66 
68  virtual void addWindowName( const DtUnicode& windowName );
69 
71  virtual void removeWindowName( const DtUnicode& windowName );
72 
74  virtual void setCurrentChannelName( const DtUnicode& channelName );
75 
77  virtual void addChannelName( const DtUnicode& channelName );
78 
80  virtual void removeChannelName( const DtUnicode& channelName );
81 
83  virtual void setCurrentFrameRate( int frameRate );
84 
86  virtual void setCurrentNumBuffers( int numBuffers );
87 
89  virtual void setCurrentReadBuffer( const DtUnicode& readBuffer );
90 
93  virtual void setReadBufferValues( const std::list<DtUnicode>& data,
94  const std::list<DtUnicode>& names );
95 
100  virtual void setImageTaskTypesAndNames(
101  const std::list<DtUnicode>& taskTypes,
102  const std::list<DtUnicode>& taskNames );
103 
106  virtual void setMetadataPublisherTypesAndNames(
107  const std::list<DtUnicode>& publisherTypes,
108  const std::list<DtUnicode>& publisherNames );
109 
111  virtual void addImageTask( int index, const makArchives::DtImageTaskRecord& task );
112 
115  virtual void setImageTask( int index, const makArchives::DtImageTaskRecord& task );
116 
118  virtual void removeImageTask( int index );
119 
121  virtual void swapImageTasks( int index1, int index2 );
122 
125  virtual void setImageTaskMoveUpArrowEnabled( int index, bool enabled );
126 
129  virtual void setImageTaskMoveDownArrowEnabled( int index, bool enabled );
130 
133  virtual void setWindowChannelNameWarningLabel( bool warn );
134 
138  virtual void disableMetadataPublishers();
139 
142  virtual void setMetadataCheckBox( bool onOff );
143 
145  virtual void setMetadataPublisherVisible( bool visible );
146 
148  virtual void setMetadataPublisherType( const DtUnicode& publisherType );
149 
151  virtual void setActionButtonState(
153 
155  virtual void setVideoStreamAutoStartState( bool autoStart );
156 
158  virtual void setEnable32BitTextureReadback(bool enable);
159 
161  virtual bool enable32BitTextureReadback();
162 
163  protected slots:
164 
165  // Qt slot connected to the window name combo box
166  virtual void onWindowNameSelectionChanged( int index );
167 
168  // Qt slot connected to the channel name combo box
169  virtual void onChannelNameSelectionChanged( int index );
170 
171  // Qt slot connected to the frame rate spin box
172  virtual void onFrameRateSelectionChanged( int frameRate );
173 
174  // Qt slot connected to the numBuffers spin box
175  virtual void onNumBuffersSelectionChanged( int numBuffers );
176 
177  // Qt slot connected to the read buffer type combo box
178  virtual void onReadBufferSelectionChanged( int index );
179 
180  // Qt slot connected to the metadata publisher check box
181  virtual void onMetadataPublisherIncludedChanged( int state );
182 
183  // Qt slot connected to the metadata publisher type combo box
184  virtual void onMetadataPublisherSelectionChanged( int index );
185 
186  // Qt slot connected to the add task button
187  virtual void onAddTaskButtonClicked();
188 
189  // Qt slot connected to the action (start/stop) button
190  virtual void onActionButtonClicked();
191 
192  // Qt slot connected to the auto start button
193  virtual void onAutoStartButtonClicked();
194 
195  protected:
198 
199  virtual void setWarningLabel( QLabel* label, bool warn,
200  const QString& toolTipIfTrue );
201 
204  virtual void connectImageTaskSignals( int index,
205  DtImageTaskElementWidget* widget);
206 
209  virtual void disconnectImageTaskSignals( int index,
210  DtImageTaskElementWidget* widget );
211 
214  virtual void slot_imageTaskTypeChanged( int index,
215  const DtUnicode& taskType );
216 
219  virtual void slot_deleteImageTaskPressed( int index );
220 
223  virtual void slot_moveImageTaskUpPressed( int index );
224 
227  virtual void slot_moveImageTaskDownPressed( int index );
228 
229  protected:
233  QVBoxLayout* myLeftSideLayout;
235  QGroupBox* myPipelineBox;
250  std::list<DtUnicode> myImageTaskTypes;
251  std::list<DtUnicode> myImageTaskNames;
252  std::vector<DtImageTaskElementWidget*> myImageTaskWidgets;
254  QSpacerItem* myEndSpacerItem;
255  QVBoxLayout* myMetadataLayout;
257  };
258 
262  {
263  public:
266 
269 
270  protected:
272  virtual DtVideoStreamConfigurationInterface* create(
273  DtVideoStream& videoStream );
274 
275  protected:
277  };
278 }
279 
A DtVideoStream instance will create a single streaming video pipeline on the channel indicated by wi...
Definition: DtVideoStream.h:34
QSpacerItem * myEndSpacerItem
Definition: DtVideoStreamConfigurationWidget.h:254
A unicode string.
Definition: DtUnicode.h:33
QPushButton * myActionButton
Definition: DtVideoStreamConfigurationWidget.h:236
QComboBox * myReadBufferComboBox
Definition: DtVideoStreamConfigurationWidget.h:246
bool myEnable32BitTextureReadback
Definition: DtVideoStreamConfigurationWidget.h:256
DtDe & myDe
Definition: DtVideoStreamConfigurationWidget.h:230
QComboBox * myWindowNameComboBox
Definition: DtVideoStreamConfigurationWidget.h:240
QVBoxLayout * myPipelineElementLayout
Definition: DtVideoStreamConfigurationWidget.h:234
QComboBox * myPixelFormatComboBox
Definition: DtVideoStreamConfigurationWidget.h:244
QComboBox * myDataTypeComboBox
Definition: DtVideoStreamConfigurationWidget.h:243
QPushButton * myAutoStartButton
Definition: DtVideoStreamConfigurationWidget.h:237
Record for a sensor definition.
Definition: DtImageTaskRecord.h:20
QVBoxLayout * myMetadataLayout
Definition: DtVideoStreamConfigurationWidget.h:255
Contains the makVrv::DtVideoStreamConfigurationInterface class.
QCheckBox * myMetadataCheckBox
Definition: DtVideoStreamConfigurationWidget.h:248
Base Widget to configure process image task elements.
Definition: DtImageTaskElementWidget.h:31
QSpinBox * myNumBuffersSpinBox
Definition: DtVideoStreamConfigurationWidget.h:245
#define DT_DLL_VRVVIDEOSTREAMQT
Definition: vrvVideoStreamQt.h:20
QGroupBox * myPipelineBox
Definition: DtVideoStreamConfigurationWidget.h:235
std::list< DtUnicode > myImageTaskNames
Definition: DtVideoStreamConfigurationWidget.h:251
DtMetadataPublisherConfigurationWidget * myMetadataPublisherConfigWidget
Definition: DtVideoStreamConfigurationWidget.h:253
DtDe & myDe
Definition: DtVideoStreamConfigurationWidget.h:276
DtVideoStreamConfigurationWidgetCreator is the common base class for all creator objects that create ...
Definition: DtVideoStreamConfigurationWidgetFactory.h:26
DtVideoStreamConfigurationLogic is the logic element for the video stream configuration widget...
Definition: DtVideoStreamConfigurationLogic.h:26
DtMetadataPublisherConfigurationWidget is the common base class inherited by all metadata publisher c...
Definition: DtMetadataPublisherConfigurationWidget.h:23
Contains makVrv::DtVideoStreamConfigurationWidgetFactory class and the makVrv::DtVideoStreamConfigura...
std::vector< DtImageTaskElementWidget * > myImageTaskWidgets
Definition: DtVideoStreamConfigurationWidget.h:252
QSpinBox * myFrameRateSpinBox
Definition: DtVideoStreamConfigurationWidget.h:242
QComboBox * myMetadataPublisherComboBox
Definition: DtVideoStreamConfigurationWidget.h:249
DtVideoStreamConfigurationLogic * myLogic
Definition: DtVideoStreamConfigurationWidget.h:232
std::list< DtUnicode > myImageTaskTypes
Definition: DtVideoStreamConfigurationWidget.h:250
DtVideoStreamConfigurationWidget provides the GUI used to configure a video stream.
Definition: DtVideoStreamConfigurationWidget.h:42
QVBoxLayout * myLeftSideLayout
Definition: DtVideoStreamConfigurationWidget.h:233
VideoStreamState
Enumerate the possible video states.
Definition: DtVideoStreamConfigurationInterface.h:45
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtVideoStreamConfigurationInterface is the abstract interface for a video stream configuration widget...
Definition: DtVideoStreamConfigurationInterface.h:34
DtVideoStream & myVideoStream
Definition: DtVideoStreamConfigurationWidget.h:231
QLabel * myWindowChannelNameWarningLabel
Definition: DtVideoStreamConfigurationWidget.h:239
QPushButton * myAddTaskButton
Definition: DtVideoStreamConfigurationWidget.h:247
Creator for the video stream configuration widget.
Definition: DtVideoStreamConfigurationWidget.h:261
QLabel * myMetadataPublisherLabel
Definition: DtVideoStreamConfigurationWidget.h:238
QComboBox * myChannelNameComboBox
Definition: DtVideoStreamConfigurationWidget.h:241

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)