![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtStealthControlWidgetLogic.h,v $ $Revision: 1.19 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00012 #pragma once 00013 #include <vrvCoreQt/vrvCoreQt.h> 00014 #include <vrvCore/DtObserver.h> 00015 #include <vrvCore/DtSubjectObserver.h> 00016 00017 namespace makVrv 00018 { 00019 class DtDe; 00020 class DtStealthControlWidgetInterface; 00021 class DtInputDriver; 00022 class DtObserver; 00023 00027 class DT_DLL_VRVCOREQT DtStealthControlWidgetLogic : public DtDeObserver 00028 { 00029 00030 public: 00031 00033 static DtStealthControlWidgetLogic* create(DtDe& de, 00034 DtStealthControlWidgetInterface* iFace); 00035 00037 virtual ~DtStealthControlWidgetLogic(); 00038 00040 void setCurrentObserver( const std::string& displayName, 00041 const DtUniqueID& id ); 00042 00045 void onObserverCreationRequested(const std::string& observerName); 00046 00049 void onObserverDeletionRequested(const std::string& observerName); 00050 00051 DtObserver* currentObserver(); 00052 00054 virtual void setAutoHide(bool); 00055 00056 bool autoHide() const; 00057 00058 protected: 00059 00061 DtStealthControlWidgetLogic(DtDe& de, DtStealthControlWidgetInterface* iFace); 00062 00064 void onInputDriverCreated( DtInputDriver* inputDriver ); 00065 00067 void onInputDriverAboutToBeDestroyed( DtInputDriver* inputDriver ); 00068 00070 void onObserverCreated( DtInputDriver* inputDriver, 00071 DtObserver* observer ); 00072 00074 void onObserverAboutToBeDestroyed( DtInputDriver* inputDriver, 00075 DtObserver* observer ); 00076 00077 void onCurrentObserverChanged( DtInputDriver* inputDriver, 00078 DtObserver* observer ); 00079 00080 virtual void slot_activate(DtDe* subject); 00081 00082 virtual void slot_deactivate(DtDe* subject); 00083 00085 virtual void checkVisibility(); 00086 00087 protected: 00088 00089 DtDe& myDe; 00090 DtStealthControlWidgetInterface* myInterface; 00091 DtInputDriver* myInputDriver; 00092 std::string myCurrentObserverName; 00093 bool myAutoHide; 00094 }; 00095 }