VR-Forces 4.7 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 #include <vrvUtil/signalslib.h>
15 
18 #include <vrvCore/DtEntityState.h>
19 #include <vrvCore/DtStateView.h>
21 
22 #include <QtWidgets/QDialog>
23 #include <QtWidgets/QTreeWidget>
24 
25 namespace makVrv
26 {
27  class DtDe;
28 }
29 
30 class DtRwOrbatData;
31 class QLabel;
32 class QHBoxLayout;
33 class QPushButton;
34 
35 #define DtVrlCreateOrbatObjectFromPalette "text/x-vrlCreateOrbatObjectFromPalette@Type"
36 
37 namespace makVrf
38 {
39  class DtVrfObjectListViewItem;
40 
43  {
44  public:
45  DtOrbatTreeWidget(makVrv::DtDe&, QWidget*);
46 
47  virtual ~DtOrbatTreeWidget();
48 
50  virtual void addChildForCopyToVector(DtVrfObjectListViewItem*, QStringList& nodes, std::set<DtUUID>& processed,
51  bool consideredUnparented = false) const;
52 
53  protected:
55  virtual void startDrag(Qt::DropActions supportedActions);
56 
58  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> items) const;
59 
60  virtual bool atLeastOneNotInOrbatView(DtVrfObjectListViewItem*) const;
61 
62  protected:
64  };
65 
69  {
70  Q_OBJECT
71 
72  public:
73 
74  struct ItemData
75  {
79  };
80 
81  public:
83  DtOrbatSelectorPalette( makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = Qt::Tool);
84 
86  virtual ~DtOrbatSelectorPalette();
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 DtVrfObjectListViewItem& lhs, const DtVrfObjectListViewItem& rhs) const;
104  virtual QVariant textColorForOrbatItem(const DtVrfObjectListViewItem* 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(DtVrfObjectListViewItem*);
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 
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 }

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)