VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
orbatSelectorPalette.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
14 #include <vrvUtil/signalslib.h>
16 
19 #include <vrvCore/DtEntityState.h>
20 #include <vrvCore/DtStateView.h>
22 #endif
23 
24 #include <QtWidgets/QDialog>
25 #include <QtWidgets/QTreeWidget>
26 
27 namespace makVrv
28 {
29  class DtDe;
30 }
31 
32 class DtRwOrbatData;
33 class QLabel;
34 class QHBoxLayout;
35 class QPushButton;
36 
37 #define DtVrlCreateOrbatObjectFromPalette "text/x-vrlCreateOrbatObjectFromPalette@Type"
38 
39 namespace makVrf
40 {
41  class DtObjectListViewItem;
42 
45  {
46  public:
47  DtOrbatTreeWidget(makVrv::DtDe&, QWidget*);
48 
49  virtual ~DtOrbatTreeWidget();
50 
52  virtual void addChildForCopyToVector(DtObjectListViewItem*, QStringList& nodes, std::set<DtUUID>& processed,
53  bool consideredUnparented = false) const;
54 
55  protected:
57  virtual void startDrag(Qt::DropActions supportedActions);
58 
60  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> items) const;
61 
62  virtual bool atLeastOneNotInOrbatView(DtObjectListViewItem*) const;
63 
64  protected:
66  };
67 
71  {
72  Q_OBJECT
73 
74  public:
75 
76  struct ItemData
77  {
81  };
82 
83  public:
85  DtOrbatSelectorPalette( makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = Qt::Tool);
86 
88  virtual ~DtOrbatSelectorPalette();
89 
90  virtual void setupFrom(const DtVrfGuiOrbatManager::OrbatTreeWithRwOrbatData&);
91 
92  virtual void clear();
93 
95  virtual void setFilename(const DtFilename&);
96 
97  protected:
98  virtual void setupUi();
99 
100  virtual DtOrbatTreeWidget* createOrbatTreeWidget();
101 
103  virtual void addItems(const DtVrfGuiOrbatManager::OrbatTreeWithRwOrbatData&, QTreeWidgetItem* parent);
104 
105  virtual bool sortByOrbatOrder(const DtObjectListViewItem& lhs, const DtObjectListViewItem& rhs) const;
106  virtual QVariant textColorForOrbatItem(const DtObjectListViewItem* item) const;
107 
108  virtual void orbatChanged();
109 
110  virtual void filterItems();
111 
112  virtual void setupForceRootNodes();
113 
114  virtual ItemData createItem(const DtRwOrbatData& data, const DtString& keyword);
115 
117  virtual void nullChildren(DtObjectListViewItem*);
118 
119  protected slots:
120  virtual void onImportAll();
121 
122  public:
127  QHBoxLayout* myButtonLayout;
128 
129  protected:
131  DtFilename myFilename;
132 
133  typedef std::map<DtUUID, ItemData> Items;
135 
137 
138  typedef std::map<int, ItemData> ForceRootItems;
139 
141  };
142 
145  {
146  public:
149 
152 
153  virtual DtOrbatSelectorPalette* create(QWidget* parent, const Qt::WindowFlags& flags = Qt::Tool);
154 
155  static DtOrbatSelectorPaletteCreator& instance(makVrv::DtDe& de);
156  static void registerInstance(makVrv::DtDe& de, DtOrbatSelectorPaletteCreator*);
157 
158  protected:
160  };
161 }
makVrv::DtUniqueID id
Definition: orbatSelectorPalette.h:78
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:130
QLabel * myCreateHelpText
Definition: orbatSelectorPalette.h:124
Virtual base class.
Definition: DtVirtualBaseClass.h:22
Items myItems
Definition: orbatSelectorPalette.h:134
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
std::map< DtUUID, OrbatWithRwOrbatData > OrbatTreeWithRwOrbatData
Definition: vrfGuiOrbatManager.h:67
DtObjectListViewItem * item
Definition: orbatSelectorPalette.h:80
Contains makVrv::DtStateView class.
DtOrbatTreeWidget * myOrbatTreeWidget
Definition: orbatSelectorPalette.h:123
std::map< int, ItemData > ForceRootItems
Definition: orbatSelectorPalette.h:138
Definition: orbatSelectorPalette.h:76
ForceRootItems myForceRootItems
Definition: orbatSelectorPalette.h:140
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:159
QHBoxLayout * myButtonLayout
Definition: orbatSelectorPalette.h:127
Contains makVrv::DtVirtualBaseClass class.
Definition: rwOrbatData.h:20
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:65
QPushButton * myCloseButton
Definition: orbatSelectorPalette.h:126
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Contains makVrv::DtEntityState class.
Registered creator for the DtOrbatSelectorPalette class.
Definition: orbatSelectorPalette.h:144
QPushButton * myImportAllButton
Definition: orbatSelectorPalette.h:125
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
makVrv::DtVrlinkSimulatedEntityState * state
Definition: orbatSelectorPalette.h:79
std::map< DtUUID, ItemData > Items
Definition: orbatSelectorPalette.h:133
Base class to provide boost signal/slot management.
Tree widget that is used for initiating drag of items.
Definition: orbatSelectorPalette.h:44
DtFilename myFilename
Definition: orbatSelectorPalette.h:131
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: objectListViewItem.h:45
makVrv::DtSignalConnectionManager myConnections
Definition: orbatSelectorPalette.h:136
The orbat selector palette will display an orbat hierarchy, &quot;disabling&quot; items that are already in the...
Definition: orbatSelectorPalette.h:70

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)