VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfGuiSymbolMapper.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 
17 #include <vrvUtil/signalslib.h>
18 #include <vrvCore/DtEntityState.h>
19 #include <vrvVrl/DtForceManager.h>
21 
22 #include <string>
23 #include <vector>
24 
25 #include <QtGui/QPixmap>
26 #include <QtGui/QImage>
27 #include <QtCore/QCache>
28 #include <QtCore/QString>
29 
30 #include <boost/unordered_map.hpp>
31 
32 namespace makVrv
33 {
34  class DtDe;
35  class DtVisualizerDefinitionSet;
36  class DtVisualizerDefinition;
37 }
38 
39 namespace makVrf
40 {
41  class DtEntityMapperKey;
42 
45  {
46  public:
48  virtual ~DtVrfGuiSymbolMapper();
49 
51  static DtVrfGuiSymbolMapper& instance(makVrv::DtDe& de);
52 
54  virtual void clear();
55 
57  virtual void clearIcons(const DtEntityMapperKey&);
58 
61  virtual QPixmap getIcon(const DtEntityMapperKey&, bool destroyed = false, int pointSize = 48, bool sizeToFont = false,
62  const makVrv::DtVrlinkSimulatedBaseState* baseState = 0, const QSize& rescaleToIconSize = QSize(), bool isSpotReport = false,
63  const QColor& milStdOutlineColor = Qt::black, bool fillMilStdSymbol = true, bool ignoreMenuIcon = false);
64 
65  virtual int addFont(const QString&);
66 
67  void setIconSize(int w, int h)
68  {
69  myIconSize = QSize(w, h);
70  }
71 
72  const QSize& iconSize() const
73  {
74  return myIconSize;
75  }
76 
78  virtual QImage iconImageForIcon(const DtEntityMapperKey&) const;
79 
80  protected:
81  typedef boost::unordered_map<std::string, std::string> PathListMap;
82 
84  virtual const makVrv::DtVisualizerDefinitionSet* visualDefinitionSetThatBestMatches(const DtEntityMapperKey&, bool isSpotReport);
85  virtual unsigned short echelonGlyphFor(const DtEntityMapperKey& key, const makVrv::DtVisualizerDefinition* set) const;
86 
87  virtual QImage milStdRender(const makVrv::DtVisualizerDefinition*, const DtEntityMapperKey& key, bool destroyed, int pointSize,
88  const QColor& outlineColor = Qt::black, bool fillMilStdSymbol = true, const makVrv::DtVrlinkSimulatedBaseState* baseState = 0) const;
89  virtual QImage imageSymbolRender(const makVrv::DtVisualizerDefinition*, const DtEntityMapperKey& key, bool destroyed,
90  const makVrv::DtVrlinkSimulatedBaseState* baseState = 0) const;
91 
92  virtual QImage imageFromModelDefinition(const std::string&) const;
93 
95  virtual DtObjectType menuItemIconIsObjectType(const DtEntityMapperKey&) const;
96 
98  virtual void composeMilStdImage(QPainter& painter, int left, int base,
99  unsigned short fillGlyph, unsigned short outlineGlyph, unsigned short echelonGlyph, unsigned short destroyedGlyph,
101 
103  virtual QImage menuItemIcon(const DtEntityMapperKey&) const;
104 
105  protected:
107  QHash<QString, QPixmap*> myIconCache;
108  QHash<int, QString> myFontMap;
109  QSize myIconSize;
110 
114  };
115 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)