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

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)