VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtDisplayConfigEditorWidget.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)