VR-Forces 5.0.2 Developer's Guide
 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) 2021 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 
94  virtual void setCurrentEncodingMethod(bool useGPU);
95 
99  virtual void setCurrentEncodingFormat( const DtUnicode& encodingFormat );
100 
103  virtual void setReadBufferValues( const std::list<DtUnicode>& data,
104  const std::list<DtUnicode>& names );
105 
108  virtual void setEncodingMethodValues( const std::list<DtUnicode>& names );
109 
112  virtual void setEncodingFormatValues( const std::list<DtUnicode>& names );
113 
118  virtual void setImageTaskTypesAndNames(
119  const std::list<DtUnicode>& taskTypes,
120  const std::list<DtUnicode>& taskNames );
121 
124  virtual void setMetadataPublisherTypesAndNames(
125  const std::list<DtUnicode>& publisherTypes,
126  const std::list<DtUnicode>& publisherNames );
127 
129  virtual void addImageTask( int index, const makArchives::DtImageTaskRecord& task );
130 
133  virtual void setImageTask( int index, const makArchives::DtImageTaskRecord& task );
134 
136  virtual void removeImageTask( int index );
137 
139  virtual void swapImageTasks( int index1, int index2 );
140 
143  virtual void setImageTaskMoveUpArrowEnabled( int index, bool enabled );
144 
147  virtual void setImageTaskMoveDownArrowEnabled( int index, bool enabled );
148 
151  virtual void setWindowChannelNameWarningLabel( bool warn );
152 
156  virtual void disableMetadataPublishers();
157 
160  virtual void setMetadataCheckBox( bool onOff );
161 
163  virtual void setMetadataPublisherVisible( bool visible );
164 
166  virtual void setMetadataPublisherType( const DtUnicode& publisherType );
167 
169  virtual void setActionButtonState(
171 
173  virtual void setVideoStreamAutoStartState( bool autoStart );
174 
176  virtual void setEnable32BitTextureReadback(bool enable);
177 
179  virtual bool enable32BitTextureReadback();
180 
181  protected slots:
182 
183  // Qt slot connected to the window name combo box
184  virtual void onWindowNameSelectionChanged( int index );
185 
186  // Qt slot connected to the channel name combo box
187  virtual void onChannelNameSelectionChanged( int index );
188 
189  // Qt slot connected to the frame rate spin box
190  virtual void onFrameRateSelectionChanged( int frameRate );
191 
192  // Qt slot connected to the numBuffers spin box
193  virtual void onNumBuffersSelectionChanged( int numBuffers );
194 
195  // Qt slot connected to the read buffer type combo box
196  virtual void onReadBufferSelectionChanged( int index );
197 
198  // Qt slot connected to the encoding method combo box
199  virtual void onEncodingMethodSelectionChanged( int index );
200 
201  // Qt slot connected to the encoding format combo box
202  virtual void onEncodingFormatSelectionChanged( int index );
203 
204  // Qt slot connected to the metadata publisher check box
205  virtual void onMetadataPublisherIncludedChanged( int state );
206 
207  // Qt slot connected to the metadata publisher type combo box
208  virtual void onMetadataPublisherSelectionChanged( int index );
209 
210  // Qt slot connected to the add task button
211  virtual void onAddTaskButtonClicked();
212 
213  // Qt slot connected to the action (start/stop) button
214  virtual void onActionButtonClicked();
215 
216  // Qt slot connected to the auto start button
217  virtual void onAutoStartButtonClicked();
218 
219  protected:
222 
225  virtual void connectImageTaskSignals( int index,
226  DtImageTaskElementWidget* widget);
227 
230  virtual void disconnectImageTaskSignals( int index,
231  DtImageTaskElementWidget* widget );
232 
235  virtual void slot_imageTaskTypeChanged( int index,
236  const DtUnicode& taskType );
237 
240  virtual void slot_deleteImageTaskPressed( int index );
241 
244  virtual void slot_moveImageTaskUpPressed( int index );
245 
248  virtual void slot_moveImageTaskDownPressed( int index );
249 
250  protected:
254  QVBoxLayout* myLeftSideLayout;
256  QGroupBox* myPipelineBox;
273  std::list<DtUnicode> myImageTaskTypes;
274  std::list<DtUnicode> myImageTaskNames;
275  std::vector<DtImageTaskElementWidget*> myImageTaskWidgets;
277  QSpacerItem* myEndSpacerItem;
278  QVBoxLayout* myMetadataLayout;
280  };
281 
285  {
286  public:
289 
292 
293  protected:
295  virtual DtVideoStreamConfigurationInterface* create(
296  DtVideoStream& videoStream );
297 
298  protected:
300  };
301 }
302 
A DtVideoStream instance will create a single streaming video pipeline on the channel indicated by wi...
Definition: DtVideoStream.h:35
QComboBox * myEncodingMethodComboBox
Definition: DtVideoStreamConfigurationWidget.h:268
QSpacerItem * myEndSpacerItem
Definition: DtVideoStreamConfigurationWidget.h:277
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QPushButton * myActionButton
Definition: DtVideoStreamConfigurationWidget.h:257
bool myEnable32BitTextureReadback
Definition: DtVideoStreamConfigurationWidget.h:279
DtDe & myDe
Definition: DtVideoStreamConfigurationWidget.h:251
QComboBox * myWindowNameComboBox
Definition: DtVideoStreamConfigurationWidget.h:261
QVBoxLayout * myPipelineElementLayout
Definition: DtVideoStreamConfigurationWidget.h:255
QComboBox * myPixelFormatComboBox
Definition: DtVideoStreamConfigurationWidget.h:265
QComboBox * myDataTypeComboBox
Definition: DtVideoStreamConfigurationWidget.h:264
QPushButton * myAutoStartButton
Definition: DtVideoStreamConfigurationWidget.h:258
Record for a sensor definition.
Definition: DtImageTaskRecord.h:20
QComboBox * myEncodingFormatComboBox
Definition: DtVideoStreamConfigurationWidget.h:269
QVBoxLayout * myMetadataLayout
Definition: DtVideoStreamConfigurationWidget.h:278
Contains the makVrv::DtVideoStreamConfigurationInterface class.
QCheckBox * myMetadataCheckBox
Definition: DtVideoStreamConfigurationWidget.h:271
Base Widget to configure process image task elements. Using the process image task type chosen...
Definition: DtImageTaskElementWidget.h:31
QSpinBox * myNumBuffersSpinBox
Definition: DtVideoStreamConfigurationWidget.h:266
#define DT_DLL_VRVVIDEOSTREAMQT
Definition: vrvVideoStreamQt.h:20
QGroupBox * myPipelineBox
Definition: DtVideoStreamConfigurationWidget.h:256
QComboBox * myOverlaysComboBox
Definition: DtVideoStreamConfigurationWidget.h:267
std::list< DtUnicode > myImageTaskNames
Definition: DtVideoStreamConfigurationWidget.h:274
DtMetadataPublisherConfigurationWidget * myMetadataPublisherConfigWidget
Definition: DtVideoStreamConfigurationWidget.h:276
DtDe & myDe
Definition: DtVideoStreamConfigurationWidget.h:299
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:275
QSpinBox * myFrameRateSpinBox
Definition: DtVideoStreamConfigurationWidget.h:263
QComboBox * myMetadataPublisherComboBox
Definition: DtVideoStreamConfigurationWidget.h:272
DtVideoStreamConfigurationLogic * myLogic
Definition: DtVideoStreamConfigurationWidget.h:253
std::list< DtUnicode > myImageTaskTypes
Definition: DtVideoStreamConfigurationWidget.h:273
DtVideoStreamConfigurationWidget provides the GUI used to configure a video stream.
Definition: DtVideoStreamConfigurationWidget.h:42
QVBoxLayout * myLeftSideLayout
Definition: DtVideoStreamConfigurationWidget.h:254
VideoStreamState
Enumerate the possible video states.
Definition: DtVideoStreamConfigurationInterface.h:45
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
DtVideoStreamConfigurationInterface is the abstract interface for a video stream configuration widget...
Definition: DtVideoStreamConfigurationInterface.h:34
DtVideoStream & myVideoStream
Definition: DtVideoStreamConfigurationWidget.h:252
QLabel * myWindowChannelNameWarningLabel
Definition: DtVideoStreamConfigurationWidget.h:260
QPushButton * myAddTaskButton
Definition: DtVideoStreamConfigurationWidget.h:270
Creator for the video stream configuration widget.
Definition: DtVideoStreamConfigurationWidget.h:284
QLabel * myMetadataPublisherLabel
Definition: DtVideoStreamConfigurationWidget.h:259
QComboBox * myChannelNameComboBox
Definition: DtVideoStreamConfigurationWidget.h:262

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)