![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtDisplayConfigEditorWidget.h,v $ $Revision: 1.45 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvCoreQt/DtPage.h> 00016 00017 #include <commonWidgets/commonWidgets.h> 00018 #include <vrvCoreQt/DtDisplayConfigEditorInterface.h> 00019 #include <vrvCoreQt/DtDisplayConfigEditorLogic.h> 00020 #include <vrvCoreQt/DtDisplayConfigEditorUI.hpp> 00021 00022 namespace MAKCommonWidgets 00023 { 00024 class DtPropertyTypeFactory; 00025 } 00026 00027 namespace makVrv 00028 { 00029 00030 class DtDe; 00031 class DtIgUserInterface; 00032 00038 00040 class DT_DLL_VRVCOREQT DtDisplayConfigEditorWidget 00041 : public DtPage 00042 , public DtDisplayConfigEditorInterface 00043 , public Ui::DtDisplayConfigEditorUI 00044 { 00045 00046 Q_OBJECT 00047 00048 public: 00049 00051 DtDisplayConfigEditorWidget(DtDe& de, QWidget* parent = 0, 00052 Qt::WindowFlags f = Qt::Dialog | Qt::SubWindow); 00053 00055 virtual ~DtDisplayConfigEditorWidget(); 00056 00058 virtual QIcon icon(); 00059 00061 virtual QString title(); 00062 00064 virtual const std::string& pageClassName() const; 00065 00067 static const std::string& thePageClassName(); 00068 00070 virtual DtDisplayConfigEditorLogic* logic(); 00071 00073 00074 virtual void populatePropertySheet( const DtDisplayConfiguration& dec ); 00075 virtual void populatePropertySheet( const DtWindowConfiguration& wc ); 00076 virtual void populatePropertySheet( const DtChannelConfiguration& cc ); 00077 virtual void clearPropertySheet(); 00079 00081 virtual void displayTreePopupMenu(int itemFlags, const QPoint& pos); 00082 00084 virtual void enableTheseButtons(int itemFlags); 00085 00087 00088 virtual void onDisplayEnginePropertiesCommited(); 00089 virtual void onWindowPropertiesCommited(); 00090 virtual void onChannelPropertiesCommited(); 00092 00094 virtual void contextMenuEvent( QContextMenuEvent* e); 00095 00097 virtual QModelIndex selectedModelIndex(); 00098 00100 virtual void expandSubTree(QModelIndex index); 00101 00103 virtual void setItemModel(QAbstractItemModel* ); 00104 00106 virtual void observerCreateRequestComplete( const std::string& observerName ); 00107 00109 virtual void observerCreateRequestFailed( const std::string& observerName ); 00110 00111 public slots: 00112 00113 void onDisplayTreeSelectionChanged(QModelIndex index); 00114 00116 void onDelete(); 00117 void onNewDisplayEngine(); 00118 void onNewWindow(); 00119 void onNewChannel(); 00120 void onConnectToSlave(); 00121 void onDisconnectSlave(); 00122 void onSaveDisplayConfig(); 00123 void onLoadDisplayConfig(); 00124 00125 void on_myCommitChangesBtn_clicked(); 00126 00128 void onPropertyChanged(QTreeWidgetItem* item); 00129 00130 protected: 00131 00133 virtual void activate(); 00134 00136 virtual void deactivate(); 00137 00140 void updateActionByFlag( int itemFlags, unsigned int flag, QAction* action ); 00141 void updateButtonByFlag( int itemFlags, unsigned int flag, QPushButton* button ); 00142 00143 virtual bool property(QString name,int& value) const; 00144 virtual bool property(QString name,QString& value) const; 00145 virtual bool property(QString name,double& value) const; 00146 virtual bool property(QString name,bool& value) const; 00147 virtual bool property(QString name,QStringList& value) const; 00148 00149 DtWindowConfiguration::WindowType mapStringToWindowType(const QString& windowTypeString); 00150 QString mapWindowTypeToString( const DtWindowConfiguration::WindowType windowType); 00151 00152 DtChannelConfiguration::ProjectionUnits mapStringToProjectionUnits(const QString& projectionUnitsString); 00153 QString mapProjectionUnitsToString( const DtChannelConfiguration::ProjectionUnits units); 00154 00155 DtChannelConfiguration::ProjectionResizePolicy mapStringToProjectionResizePolicy(const QString& projectionResizePolicyString); 00156 QString mapProjectionResizePolicyToString( const DtChannelConfiguration::ProjectionResizePolicy projectionResizePolicy); 00157 00159 void requestNewObserverName(); 00160 00161 protected: 00162 DtDisplayConfigEditorLogic* myLogic; 00163 MAKCommonWidgets::DtPropertyTypeFactory* myPropertyTypeFactory; 00164 00165 QAction* myConnectDisplayEngineAct; 00166 QAction* myDisconnectDisplayEngineAct; 00167 QAction* myAddWindowAct; 00168 QAction* myRemoveWindowAct; 00169 QAction* myAddChannelAct; 00170 QAction* myRemoveChannelAct; 00171 QAction* myLoadDisplayEngineConfigAct; 00172 QAction* mySaveDisplayEngineConfigAct; 00173 00174 QPushButton* myConnectDisplayEngineButton; 00175 QPushButton* myDisconnectDisplayEngineButton; 00176 QPushButton* myAddWindowButton; 00177 QPushButton* myRemoveWindowButton; 00178 QPushButton* myAddChannelButton; 00179 QPushButton* myRemoveChannelButton; 00180 QPushButton* myLoadDisplayEngineConfigButton; 00181 QPushButton* mySaveDisplayEngineConfigButton; 00182 00183 QString myDisplayNameStr; 00184 QString myWireframeStr; 00185 QString myWindowNameStr; 00186 QString myChannelNameStr; 00187 QString myChannelObserverNameStr; 00188 00189 QString myViewportLeftNameStr; 00190 QString myViewportRightNameStr; 00191 QString myViewportBottomNameStr; 00192 QString myViewportTopNameStr; 00193 00194 QString myWindowPosXStr; 00195 QString myWindowTypeStr; 00196 QString myScreenNumberStr; 00197 QString myWindowPosYStr; 00198 QString myWindowWidthStr; 00199 QString myWindowHeightStr; 00200 QString myFixedSizeStr; 00201 QString myCamPosOffXStr; 00202 QString myCamPosOffYStr; 00203 QString myCamPosOffZStr; 00204 QString myCamOriOffPsiStr; 00205 QString myCamOriOffThetaStr; 00206 QString myCamOriOffPhiStr; 00207 QString myProjectionUnitsStr; 00208 QString myFrustumLeftStr; 00209 QString myFrustumRightStr; 00210 QString myFrustumBottomStr; 00211 QString myFrustumTopStr; 00212 QString myZNearStr; 00213 QString myZFarStr; 00214 00215 QString myDynamicNearFarStr; 00216 00217 QString myProjectionResizePolicyStr; 00218 QString myKeywordStr; 00219 00220 }; 00221 00224 typedef DtPageCreatorTemplate<DtDisplayConfigEditorWidget> 00225 DtDisplayConfigEditorWidgetCreator; 00226 }