![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 * Copyright (c) 2011 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 /****************************************************************************** 00006 * $RCSfile: DtDisConnectionWidget.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *****************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvDisQt/vrvDisQt.h> 00016 #include <vrvDisQt/DtDisConnectionInterface.h> 00017 #include <vrvDisQt/DtDisConnectionConfigurationLayout.hpp> 00018 00019 #include <vrvUtil/DtUnicode.h> 00020 00021 #include <QtGui/QWidget> 00022 00023 class QPushButton; 00024 //class QGridLayout; 00025 //class QCheckBox; 00026 //class QComboBox; 00027 //class QGroupBox; 00028 //class QLineEdit; 00029 //class QSpinBox; 00030 //class QLabel; 00031 00032 namespace makVrv 00033 { 00034 class DtDisConnectionLogic; 00035 00038 class DT_DLL_VRVDISQT DtDisConnectionWidget : public QWidget, 00039 public DtDisConnectionInterface 00040 { Q_OBJECT; 00041 public: 00042 00044 DtDisConnectionWidget( DtDe& de, QWidget* parent ); 00045 00047 virtual ~DtDisConnectionWidget(); 00048 00050 virtual void setPort( int port ); 00051 00053 virtual void setExerciseId( int exerciseId ); 00054 00056 virtual void setApplicationNumber( int appNumber ); 00057 00059 virtual void setSiteId( int siteId ); 00060 00062 virtual void useAsynchronousIO( bool asynchIO ); 00063 00065 virtual void setDisVersion( int version ); 00066 00068 virtual void setDestinationAddress( const std::string& address ); 00069 00071 virtual void setDeviceAddress( const std::string& address ); 00072 00074 virtual void setDeviceAddresses( const std::vector<std::string>& address); 00075 00077 virtual void setMulticastAddresses( const std::string& addresses ); 00078 00080 virtual void setSendBufferSize( int sendBufferSize ); 00081 00083 virtual void setReceiveBufferSize( int receiveBufferSize ); 00084 00086 virtual void setMulticastTTL( int ttl ); 00087 00089 virtual void setPublishObserver( bool isPublished ); 00090 00092 virtual void setSelfReflect(bool selfReflect); 00093 00095 virtual void setViewControl( bool isEnabled ); 00096 00098 virtual void setConnectionStatus( DtDisConnectionInterface::ConnectionStatus status ); 00099 00101 virtual void setAutoConnectEnabled( bool enabled ); 00102 00104 virtual void reportError(const DtUnicode& errorMessage); 00105 00106 protected: 00107 00110 void setupGui(); 00111 00114 QVBoxLayout* createButtonLayout(); 00115 00119 void populateDeviceAddresses(); 00120 00123 void connectToWidgetSignals(); 00124 00125 protected slots: 00126 00127 void onPortSpinBox_valueChanged( int ); 00128 void onAppNumSpinBox_valueChanged( int ); 00129 void onExerciseIdSpinBox_valueChanged( int ); 00130 void onSiteIdSpinBox_valueChanged( int ); 00131 void onDisVersionSpinBox_valueChanged( int ); 00132 void onDeviceAddrsComboBox_activated( QString ); 00133 void onMulticastAddrString_textChanged( QString ); 00134 void onSendBufferSizeSpinBox_valueChanged( int ); 00135 void onReceiveBufferSizeSpinBox_valueChanged( int ); 00136 void onMulticastTtlSpinBox_valueChanged( int ); 00137 void onUseAsyncIoCheckBox_stateChanged( int ); 00138 void onPublishObserversCheckBox_stateChanged( int ); 00139 void onListenForViewControlsCheckBox_stateChanged( int ); 00140 void onSelfReflect_checkChanged(int ); 00141 00142 void onConnectButton_clicked(); 00143 void onMakeAutoButton_clicked(); 00144 void onDestAddrString_editingFinished(); 00145 00146 void onAdvancedButton_togled(bool checked); 00147 protected: 00148 00149 Ui::DisConnectionConfigurationLayout myDisConfigurationLayout; 00150 00151 DtDisConnectionInterface::ConnectionStatus myStatus; 00152 00153 DtDisConnectionLogic* myLogic; 00154 00155 DtDe& myDe; 00156 00157 QVBoxLayout* myDataLayout; 00158 QPushButton* myConnectButton; 00159 QPushButton* myMakeAutoButton; 00160 }; 00161 00162 }