VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtObserverSettingsPage.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtObserverSettingsPage.h,v $ $Revision: 1.8 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvCoreQt/vrvCoreQt.h>
00015 #include <vrvCoreQt/DtPage.h>
00016 #include <vrvCoreQt/DtObserverSettingsInterface.h>
00017 
00018 class QComboBox;
00019 class QTreeWidget;
00020 class QTreeWidgetItem;
00021 class QSlider;
00022 class QDoubleSpinBox;
00023 
00024 namespace makVrv
00025 {
00026    class DtDe;
00027    class DtSelectInstanceWidget;
00028    class DtObserverSettingsLogic;
00029    class DtPersistenceToolbarWidget;
00030 
00033    class DT_DLL_VRVCOREQT DtObserverSettingsPage : public DtPage
00034       , public DtObserverSettingsInterface
00035    {
00036       Q_OBJECT
00037 
00038    public:
00039 
00041       DtObserverSettingsPage(DtDe& de, QWidget* parent, Qt::WindowFlags f = 0);
00042 
00044       virtual ~DtObserverSettingsPage();
00045 
00047       virtual QIcon icon();
00048 
00050       virtual QString title();
00051 
00053       virtual const std::string& pageClassName() const;
00054 
00056       static const std::string& thePageClassName();
00057 
00060       virtual int currentObserverIndex() const;
00061 
00064       virtual std::string currentObserverName() const;
00065 
00068       virtual int findObserverInstanceIndex(const std::string& instanceName);
00069 
00071       virtual void setObserverInstanceNames(const std::list<std::string>& instanceNames);
00072 
00075       virtual void setCurrentObserverIndex(int i);
00076 
00080       virtual void setCurrentObserverInstanceName(const std::string& instanceName) ;
00081 
00086       virtual void addObserverInstance(std::string name, int index = -1);
00087 
00093       virtual void removeObserverInstance(int i);
00094 
00096       virtual void setDeleteObserverEnabled( bool enabled );
00097 
00100       virtual int currentObserverModeIndex() const;
00101 
00104       virtual std::string currentObserverModeName() const;
00105 
00108       virtual int findObserverModeInstanceIndex( const std::string& instanceName );
00109 
00111       virtual void setObserverModeInstanceNames( const std::list<std::string>& instanceNames );
00112 
00115       virtual void setCurrentObserverModeIndex( int i );
00116 
00120       virtual void setCurrentObserverModeInstanceName( const std::string& instanceName );
00121 
00126       virtual void addObserverModeInstance( std::string name, int index = -1 );
00127 
00128 
00134       virtual void removeObserverModeInstance( int i );
00135 
00136       virtual void observerCreateRequestFailed( const std::string& observerName );
00137 
00138       virtual void addModelSet( int modelSet, const std::string& displayName );
00139       virtual void setCurrentProjection( const std::string& projectionName );
00140       
00141       virtual void setCurrentModelSet( int modelSet );   
00142       virtual void addProjection( const std::string& displayName );
00143       
00144       virtual void addKeyMap( const std::string& displayName );      
00145       virtual void setCurrentKeyMap( const std::string& keyMapName );
00146 
00147       virtual void setOrbitSpeedGainSlider( int gain );
00148       virtual void setRotationSpeedGainSlider( int gain );
00149       virtual void setLinearSpeedGainSlider( int gain );
00150       virtual void setSliderGainPrecision( int precision );
00151 
00152       virtual void setModelScaleFactorSlider( int factor );
00153       virtual void enableModelScaleFactorSlider( bool enable );
00154       virtual void setModelScaleFactorSliderMaximum( int maximum );
00155 
00156       virtual void setModelScaleTypeSelector( DtObserverObject::ScaleType scaleType );
00157       virtual void enableModelScaleTypeSelector( bool enable );
00158 
00159       virtual void setMaxModelScaleFactorSpinBox( double maxScaleFactor );
00160       virtual void enableMaxModelScaleFactorSpinBox( bool enable );
00161 
00162       virtual void clearObserverSettings();
00163       virtual void addObserverSetting( int key, const std::string& displayName );
00164       virtual void setObserverSetting(const std::string& displayName, bool checked );
00165           
00166    protected:
00167 
00169       void setupGui();
00170 
00172       virtual void activate();
00173 
00175       virtual void deactivate();
00176       
00178       QString askForObserverModeName(QString initial, const QString& title);
00179       
00181       QString askForObserverName(QString initial, const QString& title);
00182       
00183       // ** boost signal receivers (from selectObserverInstanceWidget)
00184       
00185       virtual void onObserverChanged( int index, const std::string& observerName );
00186  
00187       virtual void onRenameObserverRequested();
00188 
00189       virtual void onNewObserverRequested();
00190 
00191       virtual void onDeleteObserverRequested();
00192       
00193       // ** boost signal receivers (from selectObserverModeInstanceWidget)
00194       
00195       virtual void onObserverModeChanged( int index, const std::string& modeName );
00196  
00197       virtual void onRenameObserverModeRequested();
00198 
00199       virtual void onNewObserverModeRequested();
00200 
00201       virtual void onDeleteObserverModeRequested();
00202 
00203      // ** Qt signal receivers (from other Qt components)
00204      
00205    protected slots:
00206 
00207       virtual void onModelSetChanged( int index );
00208       virtual void onKeyMapChanged( int index );
00209       virtual void onProjectionChanged( int index );
00210       virtual void onTreeItemChanged( QTreeWidgetItem* item, int column );
00211       virtual void onLinearSpeedGainSliderChanged( int value );
00212       virtual void onRotationSpeedGainSliderChanged( int value );
00213       virtual void onOrbitSpeedGainSliderChanged( int value );
00214       virtual void onModelScaleFactorSliderChanged( int value );
00215       virtual void onModelScaleTypeChanged( int index );
00216       virtual void onMaxModelScaleFactorSpinBoxChanged( double value );
00217 
00218 
00219    protected:
00220 
00221       DtDe& myDe;
00222       DtObserverSettingsLogic* myLogic;
00223 
00224       DtSelectInstanceWidget* myObserverSelectInstanceWidget;
00225       DtSelectInstanceWidget* myObserverModeSelectInstanceWidget;
00226       DtPersistenceToolbarWidget* myPersistenceToolbar;
00227 
00228       QComboBox* myProjectionComboBox;
00229       QComboBox* myKeyMapComboBox;
00230       QComboBox* myModelSetComboBox;
00231       QSlider* myLinearSpeedGainSlider;
00232       QSlider* myRotationSpeedGainSlider;
00233       QSlider* myOrbitSpeedGainSlider;
00234       QSlider* myModelScaleFactorSlider;
00235       QComboBox* myModelScaleTypeComboBox;
00236       QDoubleSpinBox* myMaxModelScaleFactorSpinBox;
00237 
00238       QTreeWidget* myVariableSettingsWidget;
00239    };
00240 
00243    typedef DtPageCreatorTemplate<DtObserverSettingsPage> 
00244       DtObserverSettingsPageCreator;
00245 }
00246 

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)