VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTacticalGraphicOverlayTreeWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
14 #include <vrvCore/DtStateView.h>
16 
17 #include <QtWidgets/QStyledItemDelegate>
18 
19 class QToolButton;
20 
21 namespace makVrv
22 {
23  class DtVirtualBaseClass;
24  class DtDe;
25 }
26 
27 namespace makVrf
28 {
34  {
35  Q_OBJECT
36 
37  public:
38 
41 
44 
46  virtual void addOverlay(const std::string& name);
47 
49  virtual void lockOverlay(const std::string& name, bool lock);
50 
52  virtual void removeOverlay( const std::string& ovrName );
53 
55  virtual void setOverlaySelected( const std::string& name, bool flag );
56 
57  virtual void activate();
58 
60  virtual void enableAddOverlays(bool flag);
62  virtual void enableDeleteOverlays(bool flag);
64  virtual void enableEditOverlays(bool flag);
66  virtual void enableLockOverlays(bool flag);
67 
69  virtual void setCanSaveOverlayAsShapeFile(bool flag);
70 
72  virtual void setCanImportShapeFileOntoOverlay(bool flag);
73 
75  virtual void setOverlayLayerVisible(const std::string& overlay, bool b);
76 
78  virtual void clear();
79 
81  virtual void updateUI();
82 
83  virtual QTreeWidget* treeWidget();
84 
86  virtual void removeTacticalGraphic(const makVrv::DtUniqueID& id);
87 
88  virtual void addTacticalGraphic( const makVrv::DtUniqueID& id, const std::string& name, const std::string& ovrName );
89  virtual void renameTacticalGraphic(const makVrv::DtUniqueID& id, const std::string& newName);
90  virtual QTreeWidgetItem* findOverlayParentItem( const std::string& name);
91  virtual QTreeWidgetItem* findItem(const makVrv::DtUniqueID& id);
92  virtual void moveTacticalGraphic( const makVrv::DtUniqueID& id, const std::string& toLayer );
93  virtual void clearOverlays();
94  virtual bool isOverlaySelected(const std::string& name) const;
95 
96  virtual void setOverlayFlagsForItem(QTreeWidgetItem*);
97  virtual void setAllowNameChange(bool);
98  virtual void setEditPressTime(double);
99 
100  boost::signal<void ()> signal_addOverlay;
101  boost::signal<void (const makVrv::DtUniqueID& id, const std::string& )> signal_itemMovedToOverlay;
102  boost::signal<void (const std::string&, const std::string& )> signal_renameOverlay;
103  boost::signal<void (const std::string&)> signal_removeOverlay;
104  boost::signal<void (const std::string&, bool flag)> signal_lockOverlay;
105  boost::signal<void (const std::string&)> signal_saveOverlayAsShapeFiles;
106  boost::signal<void (const std::string&)> signal_importShapeFileAsOverlay;
107  boost::signal<void (const makVrv::DtSelectionManager::IdSet&)> signal_selectItems;
108 
109  protected slots:
110 
111  virtual void onMarkingTextChanged(QTreeWidgetItem*, const QString&);
112 
114  void slot_addOverlayButtonClicked();
115 
117  void slot_removeOverlayButtonClicked();
118 
120  void slot_editOverlayButtonClicked();
121 
123  void slot_lockOverlayButtonClicked();
124 
126  void slot_saveOverlayAsShapeFilesButtonClicked();
127 
129  void slot_importShapeFileAsOverlayButtonClicked();
130 
132  void slot_itemClicked(QTreeWidgetItem* item, int column );
133 
135  void slot_itemDoubleClicked(QTreeWidgetItem* item, int column );
136 
138  void slot_currentItemChanged( QTreeWidgetItem * current, QTreeWidgetItem * previous );
139 
141  void slot_itemChanged ( QTreeWidgetItem * item, int column );
142 
144  void slot_itemMoved(const QStringList& children, std::string overlay);
145 
147  void slot_hideOverlaysStateChanged( int state );
148 
149  protected:
150 
152  virtual void updateUI(QTreeWidgetItem* current);
153  virtual void changeVisibleBasedOnExternalFilterStatus(makVrv::DtUniqueID);
154  virtual void slot_onStateAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
155  virtual void externalFiltersChanged();
156  virtual void scenarioEventUpdated(const makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*);
157  virtual void processItemSelectionChanged();
158  virtual void slot_overlayFlagsChanged(const std::string&, int);
159  virtual void slot_overlayHidden(const std::string&, bool);
160  virtual bool overlayVisible(const std::string& name);
161 
162  public:
171 
172  protected:
175  std::string myLastSelectedText;
176 
177  typedef std::map<std::string, QTreeWidgetItem*> TreeListByName;
179 
180  typedef std::map<makVrv::DtUniqueID, QTreeWidgetItem*> TreeListByID;
182 
185  {
186  PendingOverlayData() : visible(true), locked(false) {};
187  PendingOverlayData(const PendingOverlayData& orig) : visible(orig.visible), locked(orig.locked) {};
188 
189  bool visible;
190  bool locked;
191  };
192 
193  typedef std::map<std::string, PendingOverlayData> PendingOverlays;
195  };
196 
199  {
200  Q_OBJECT
201 
202  public:
205 
206  virtual QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option,
207  const QModelIndex &index) const;
208 
209  protected slots:
210  virtual void editingFinished();
211 
212  signals:
213  void markingTextChanged(QTreeWidgetItem*, const QString&);
214 
215  protected:
218  mutable bool myNameChanged;
219  };
220 }
221 

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)