VR-Forces 4.10 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  Q_OBJECT
47  public:
48  DtOrbatTreeWidget(makVrv::DtDe&, QWidget*);
49 
50  virtual ~DtOrbatTreeWidget();
51 
53  virtual void addChildForCopyToVector(DtObjectListViewItem*, QStringList& nodes, std::set<DtUUID>& processed,
54  bool consideredUnparented = false) const;
55 
56  protected:
58  virtual void startDrag(Qt::DropActions supportedActions);
59 
61  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> items) const;
62 
63  virtual bool atLeastOneNotInOrbatView(DtObjectListViewItem*) const;
64 
65  protected:
67  };
68 
72  {
73  Q_OBJECT
74 
75  public:
76 
77  struct ItemData
78  {
82  };
83 
84  public:
86  DtOrbatSelectorPalette( makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = Qt::Tool);
87 
89  virtual ~DtOrbatSelectorPalette();
90 
91  virtual void setupFrom(const DtVrfGuiOrbatManager::OrbatTreeWithRwOrbatData&);
92 
93  virtual void clear();
94 
96  virtual void setFilename(const DtFilename&);
97 
98  protected:
99  virtual void setupUi();
100 
101  virtual DtOrbatTreeWidget* createOrbatTreeWidget();
102 
104  virtual void addItems(const DtVrfGuiOrbatManager::OrbatTreeWithRwOrbatData&, QTreeWidgetItem* parent);
105 
106  virtual bool sortByOrbatOrder(const DtObjectListViewItem& lhs, const DtObjectListViewItem& rhs) const;
107  virtual QVariant textColorForOrbatItem(const DtObjectListViewItem* item) const;
108 
109  virtual void orbatChanged();
110 
111  virtual void filterItems();
112 
113  virtual void setupForceRootNodes();
114 
115  virtual ItemData createItem(const DtRwOrbatData& data, const DtString& keyword);
116 
118  virtual void nullChildren(DtObjectListViewItem*);
119 
120  protected slots:
121  virtual void onImportAll();
122 
123  public:
128  QHBoxLayout* myButtonLayout;
129 
130  protected:
132  DtFilename myFilename;
133 
134  typedef std::map<DtUUID, ItemData> Items;
136 
138 
139  typedef std::map<int, ItemData> ForceRootItems;
140 
142  };
143 
146  {
147  public:
150 
153 
154  virtual DtOrbatSelectorPalette* create(QWidget* parent, const Qt::WindowFlags& flags = Qt::Tool);
155 
156  static DtOrbatSelectorPaletteCreator& instance(makVrv::DtDe& de);
157  static void registerInstance(makVrv::DtDe& de, DtOrbatSelectorPaletteCreator*);
158 
159  protected:
161  };
162 }
makVrv::DtUniqueID id
Definition: orbatSelectorPalette.h:79
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:131
QLabel * myCreateHelpText
Definition: orbatSelectorPalette.h:125
Virtual base class.
Definition: DtVirtualBaseClass.h:19
Items myItems
Definition: orbatSelectorPalette.h:135
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
std::map< DtUUID, OrbatWithRwOrbatData > OrbatTreeWithRwOrbatData
Definition: vrfGuiOrbatManager.h:67
DtObjectListViewItem * item
Definition: orbatSelectorPalette.h:81
Contains makVrv::DtStateView class.
DtOrbatTreeWidget * myOrbatTreeWidget
Definition: orbatSelectorPalette.h:124
std::map< int, ItemData > ForceRootItems
Definition: orbatSelectorPalette.h:139
Definition: orbatSelectorPalette.h:77
ForceRootItems myForceRootItems
Definition: orbatSelectorPalette.h:141
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:160
QHBoxLayout * myButtonLayout
Definition: orbatSelectorPalette.h:128
Contains makVrv::DtVirtualBaseClass class.
Definition: rwOrbatData.h:20
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:66
QPushButton * myCloseButton
Definition: orbatSelectorPalette.h:127
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtEntityState class.
Registered creator for the DtOrbatSelectorPalette class.
Definition: orbatSelectorPalette.h:145
QPushButton * myImportAllButton
Definition: orbatSelectorPalette.h:126
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
makVrv::DtVrlinkSimulatedEntityState * state
Definition: orbatSelectorPalette.h:80
std::map< DtUUID, ItemData > Items
Definition: orbatSelectorPalette.h:134
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:132
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:137
The orbat selector palette will display an orbat hierarchy, &quot;disabling&quot; items that are already in the...
Definition: orbatSelectorPalette.h:71

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)