VR-Forces Developer's Guide
 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)
18 #endif
19 
20 #include <QtWidgets/QDialog>
21 #include <QtWidgets/QTreeWidget>
22 
23 namespace makVrv
24 {
25  class DtDe;
26 }
27 
28 class DtRwOrbatData;
29 class QLabel;
30 class QHBoxLayout;
31 class QPushButton;
32 
33 #define DtVrlCreateOrbatObjectFromPalette "text/x-vrlCreateOrbatObjectFromPalette@Type"
34 
35 namespace makVrf
36 {
37  class DtObjectListViewItem;
38 
41  {
42  Q_OBJECT
43  public:
44  DtOrbatTreeWidget(makVrv::DtDe&, QWidget*);
45 
46  virtual ~DtOrbatTreeWidget() override;
47 
49  virtual void addChildForCopyToVector(DtObjectListViewItem*, QStringList& nodes, std::set<DtUUID>& processed,
50  bool consideredUnparented = false) const;
51 
52  protected:
54  virtual void startDrag(Qt::DropActions supportedActions) override;
55 
57  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> items) const override;
58 
59  virtual bool atLeastOneNotInOrbatView(DtObjectListViewItem*) const;
60 
61  protected:
63  };
64 
68  {
69  Q_OBJECT
70 
71  public:
72 
73  struct ItemData
74  {
78  DtStateData* stateData = nullptr;
79  };
80 
81  public:
83  DtOrbatSelectorPalette( makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = Qt::Tool);
84 
86  virtual ~DtOrbatSelectorPalette() override;
87 
88  virtual void setupFrom(const DtVrfGuiOrbatManager::OrbatTreeWithRwOrbatData&);
89 
90  virtual void clear();
91 
93  virtual void setFilename(const DtFilename&);
94 
95  protected:
96  virtual void setupUi();
97 
98  virtual DtOrbatTreeWidget* createOrbatTreeWidget();
99 
101  virtual void addItems(const DtVrfGuiOrbatManager::OrbatTreeWithRwOrbatData&, QTreeWidgetItem* parent);
102 
103  virtual bool sortByOrbatOrder(const DtObjectListViewItem& lhs, const DtObjectListViewItem& rhs) const;
104  virtual QVariant textColorForOrbatItem(const DtObjectListViewItem* item) const;
105 
106  virtual void orbatChanged();
107 
108  virtual void filterItems();
109 
110  virtual void setupForceRootNodes();
111 
112  virtual ItemData createItem(const DtRwOrbatData& data, const DtString& keyword);
113 
115  virtual void nullChildren(DtObjectListViewItem*);
116 
117  protected slots:
118  virtual void onImportAll();
119 
120  public:
125  QHBoxLayout* myButtonLayout;
126 
127  protected:
129  DtFilename myFilename;
130 
131  typedef std::map<DtUUID, ItemData> Items;
133 
135 
136  typedef std::map<int, ItemData> ForceRootItems;
137 
139  };
140 
143  {
144  public:
147 
149  virtual ~DtOrbatSelectorPaletteCreator() override;
150 
151  virtual DtOrbatSelectorPalette* create(QWidget* parent, const Qt::WindowFlags& flags = Qt::Tool);
152 
153  static DtOrbatSelectorPaletteCreator& instance(makVrv::DtDe& de);
154  static void registerInstance(makVrv::DtDe& de, DtOrbatSelectorPaletteCreator*);
155 
156  protected:
158  };
159 }
makVrv::DtUniqueID id
Definition: orbatSelectorPalette.h:75
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:128
QLabel * myCreateHelpText
Definition: orbatSelectorPalette.h:122
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Items myItems
Definition: orbatSelectorPalette.h:132
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
std::map< DtUUID, OrbatWithRwOrbatData > OrbatTreeWithRwOrbatData
Definition: vrfGuiOrbatManager.h:64
DtObjectListViewItem * item
Definition: orbatSelectorPalette.h:77
DtOrbatTreeWidget * myOrbatTreeWidget
Definition: orbatSelectorPalette.h:121
std::map< int, ItemData > ForceRootItems
Definition: orbatSelectorPalette.h:136
Definition: orbatSelectorPalette.h:73
ForceRootItems myForceRootItems
Definition: orbatSelectorPalette.h:138
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:157
QHBoxLayout * myButtonLayout
Definition: orbatSelectorPalette.h:125
Contains makVrv::DtVirtualBaseClass class.
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
Definition: rwOrbatData.h:20
makVrv::DtDe & myDe
Definition: orbatSelectorPalette.h:62
QPushButton * myCloseButton
Definition: orbatSelectorPalette.h:124
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Registered creator for the DtOrbatSelectorPalette class.
Definition: orbatSelectorPalette.h:142
QPushButton * myImportAllButton
Definition: orbatSelectorPalette.h:123
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::map< DtUUID, ItemData > Items
Definition: orbatSelectorPalette.h:131
Base class to provide boost signal/slot management.
Tree widget that is used for initiating drag of items.
Definition: orbatSelectorPalette.h:40
DtFilename myFilename
Definition: orbatSelectorPalette.h:129
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
This tree widget item can be used in any tree that wants to display an icon next to the name of an ob...
Definition: objectListViewItem.h:45
makVrv::DtSignalConnectionManager myConnections
Definition: orbatSelectorPalette.h:134
DtSimObjectReference state
Definition: orbatSelectorPalette.h:76
The orbat selector palette will display an orbat hierarchy, &quot;disabling&quot; items that are already in the...
Definition: orbatSelectorPalette.h:67

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)