![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtIndicatorVisualizer.h,v $ $Revision: 1.43 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/DtStateVisualizer.h> 00016 #include <vrvUtil/signalslib.h> 00017 #include <vrvUtil/DtUnicode.h> 00018 00019 namespace makVrv 00020 { 00021 class DtEntityInfoWidget; 00022 00028 class DT_DLL_VRVCORE DtIndicatorVisualizer : public DtStateVisualizer 00029 { 00030 public: 00032 DtIndicatorVisualizer(DtBaseConnection& simulation, DtStateListener& listener, int modelSet); 00033 00035 virtual ~DtIndicatorVisualizer(); 00036 00038 void setIndicatorVisible(bool visible); 00039 00041 bool indicatorVisible() const; 00042 00043 virtual void setWidgetEventsEnabled(bool enabled); 00044 virtual void setIndicatorPinned(bool); 00045 00046 bool infoPinned() const; 00047 virtual void setSelected(bool selected); 00048 00049 virtual void setShowInfoPopupOnSelect(bool enabled); 00050 virtual bool showInfoPopupOnSelect() const; 00051 00052 virtual void setInfoPinned(bool pinned); 00053 00055 virtual void createIndicator() = 0; 00056 00058 virtual void destroyIndicator() = 0; 00059 00060 DtEntityInfoWidget* infoWidget() const; 00061 00063 virtual void setInfoVisible(bool); 00064 00066 virtual void setInfoText(const DtUnicode& text); 00067 00069 virtual void setColor(float r,float g,float b,float a); 00070 00072 boost::signal<void (bool)> signal_infoVisibleChanged; 00073 00074 protected: 00076 virtual void postUpdate(); 00077 00078 virtual void updateIndicator(); 00079 00080 virtual void createModelAgents(); 00081 00084 virtual void destroyModelAgents(); 00085 00086 virtual void setModelDefinitionForAgents(); 00087 00088 virtual void setUniqueID(DtUniqueID id); 00089 virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef); 00090 00091 virtual void slot_mouseInChanged(bool isMouseInIndicator); 00092 00093 virtual void setUpdateInfo(bool b); 00094 00095 protected: 00097 virtual const DtUnicode& infoString() const; 00098 00100 virtual DtUnicode generateInfoString() const; 00101 00102 protected: 00103 DtEntityInfoWidget* myInfoWidget; 00104 bool myIndicatorVisible; 00105 bool myWidgetEventsEnabled; 00106 bool myIndicatorPinned; 00107 bool myShowInfoOnSelect; 00108 bool myInfoPinned; 00109 bool myInfoVisible; 00110 DtUnicode myInfoString; 00111 bool myUpdateInfo; 00112 double myR, myG, myB, myA; 00113 }; 00114 }