![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtSharedVrfVrlApplicationSettings.h,v $ $Revision: 1.43 $ $EntityInstance: Exp $ 00007 ******************************************************************************/ 00008 00013 00014 #pragma once 00015 00016 #include <vrfGuiCore/vrfGuiCore.h> 00017 #include <vrfGuiCore/DtVrfExtendedEntitySettings.h> 00018 #include <vrfGuiCore/DtVrfExtendedApplicationSettings.h> 00019 00020 #include <vrvUtil/signalslib.h> 00021 #include <vrvCore/DtSharedSettings.h> 00022 #include <vrvCore/DtUniqueID.h> 00023 #include <vrvUtil/event_signal.h> 00024 #include <vrvUtil/DtVirtualBaseClass.h> 00025 00026 namespace makVrf 00027 { 00029 class DT_DLL_VRFGUICORE DtSharedVrfVrlApplicationSettings : public makVrv::DtSharedSettings 00030 { 00031 public: 00032 enum EntityStates 00033 { 00034 AwaitingMessage = 0x00000001 00035 }; 00036 00037 public: 00040 friend class makVrv::DtReadSettingsLock<DtSharedVrfVrlApplicationSettings>; 00041 friend class makVrv::DtWriteSettingsLock<DtSharedVrfVrlApplicationSettings>; 00042 friend class makVrv::DtSharedSettingsManager; 00043 00047 static std::string className(); 00048 00050 virtual ~DtSharedVrfVrlApplicationSettings(); 00051 00053 virtual void increaseDriversStarted(); 00054 virtual void decreaseDriversStarted(); 00055 00057 virtual int driversStarted() const; 00058 00060 virtual void setDisplayObjectConsoleWarningIcon(bool); 00061 virtual bool displayObjectConsoleWarningIcon() const; 00062 00065 virtual void setDisplayBoundingBoxesWhenSelected(bool); 00066 virtual bool displayBoundingBoxesWhenSelected() const; 00067 00070 virtual void setHasAwaitingMessages(makVrv::DtElementID, bool); 00071 virtual bool hasAwaitingMessages(makVrv::DtElementID) const; 00072 00074 virtual void setObserversPublished(bool); 00075 virtual bool observersPublished() const; 00076 00077 protected: 00079 virtual void setStateFlag(makVrv::DtElementID, EntityStates, bool); 00080 00082 virtual bool stateFlag(makVrv::DtElementID, EntityStates) const; 00083 00084 protected: 00085 00087 DtSharedVrfVrlApplicationSettings(makVrv::DtSharedSettingsManager& manager); 00088 00089 protected: 00090 int myDriversStarted; 00091 DtVrfExtendedEntitySettingsData myExtendedEntitySettingsData; 00092 DtVrfExtendedApplicationSettingsData myExtendedApplicationSettingsData; 00093 00094 typedef std::map<makVrv::DtElementID, EntityStates> StateFlagMap; 00095 StateFlagMap myEntityStates; 00096 }; 00097 00099 class DT_DLL_VRFGUICORE DtSharedVrfVrlSimulationSettingsSignaler : public makVrv::DtVirtualBaseClass 00100 { 00101 public: 00102 00106 static DtSharedVrfVrlSimulationSettingsSignaler& instance(const makVrv::DtSharedSettingsManager&); 00107 00110 static DtSharedVrfVrlSimulationSettingsSignaler& instance(makVrv::DtEventQueueInterface&); 00111 00115 static DtSharedVrfVrlSimulationSettingsSignaler* findInstance( 00116 makVrv::DtEventQueueInterface*); 00117 00119 virtual ~DtSharedVrfVrlSimulationSettingsSignaler(); 00120 00121 //@name Signals 00123 00125 makVrv::event_signal<void (bool)> signal_displayObjectConsoleWarningIconChanged; 00126 00129 makVrv::event_signal<void (bool)> signal_displayBoundingBoxesWhenSelectedChanged; 00130 00132 makVrv::event_signal<void (makVrv::DtElementID, DtSharedVrfVrlApplicationSettings::EntityStates, bool)> signal_entityStateChanged; 00133 00134 protected: 00135 DtSharedVrfVrlSimulationSettingsSignaler(makVrv::DtEventQueueInterface& eqi); 00136 00137 private: 00138 DtSharedVrfVrlSimulationSettingsSignaler(const DtSharedVrfVrlSimulationSettingsSignaler&); 00139 DtSharedVrfVrlSimulationSettingsSignaler& operator=(const DtSharedVrfVrlSimulationSettingsSignaler&); 00140 }; 00141 }