VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
doctrinesDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
14 
20 #endif
21 
22 #include <QDialog>
23 
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
29 class QPushButton;
30 class QLabel;
31 class QHBoxLayout;
32 class QGridLayout;
33 class QVBoxLayout;
34 class QComboBox;
35 class QFrame;
36 class QToolButton;
37 
38 namespace makVrf
39 {
40  class DtDoctrinesDialog;
41 
44  {
45  public:
48 
50  virtual ~DtDoctrinesScriptedTaskTreeWidget() override;
51 
52  protected:
55  virtual void dragEnterEvent(QDragEnterEvent* event) override;
56 
58  virtual void dragMoveEvent(QDragMoveEvent* event) override;
59 
61  virtual bool dropMimeData(
62  QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action) override;
63 
64  protected:
66  };
67 
68  #define DtDoctineTaskDragType "text/x-vrlDoctrinesDraggingType@Type"
69 
72  {
73  public:
76 
78  virtual ~DtDoctrinesTreeWidget() override;
79 
81  virtual void setupDoctrines();
82 
84  virtual bool selectedItemIsDoctrine() const;
85 
87  virtual QTreeWidgetItem* selectedDoctrine() const;
88 
90  virtual void scriptModified(const std::string& scriptId, bool modified) override;
91 
93  virtual void addScriptedTask(const std::string& scriptId);
94 
95  protected:
96 
98  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const override;
99 
102  virtual void dragEnterEvent(QDragEnterEvent* event) override;
103 
105  virtual void dragMoveEvent(QDragMoveEvent* event) override;
106 
108  virtual bool dropMimeData(
109  QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action) override;
110 
111  protected:
112  typedef std::map<std::string, DtThemedTreeWidgetItem*> Doctrines;
114 
116  };
117 
120  {
121  Q_OBJECT
122 
123  public:
125  DtDoctrinesDialog(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& flags = 0);
126 
128  virtual ~DtDoctrinesDialog() override;
129 
130  virtual void removeFromDoctrine(const std::set<std::string>& scriptIds, const std::string& doctrine);
131  virtual void addToDoctrine(const std::set<std::string>& scriptIds, const std::string& doctrine);
132 
133  protected:
135  virtual void slot_receivedScriptedTasks();
136 
137  virtual void slot_onReceivedDoctrines();
138 
139  virtual void scriptedTaskModified(const std::string& s, bool b);
140  virtual void addScriptedTask(const std::string& s);
141  virtual void filterByScriptEngines();
142  virtual void setupAssignedDoctrines();
143 
144  virtual void setupDoctrinesForForceCombo(QComboBox*);
145  virtual void setAssignedDoctrine(int, std::string);
146 
147  public slots:
148  virtual void onAddDoctrine();
149  virtual void onRenameDoctrine();
150  virtual void onRemoveDoctrine();
151  virtual void onDoctrineSelectionChanged();
152  virtual void onScriptedTaskSelectionChanged();
153  virtual void onRemoveFromDoctrine();
154  virtual void onAddToDoctrine();
155 
156  protected slots:
157  virtual void changeAssignedDoctrine();
158 
159  public:
168 
172 
174  QWidget* myMoveWidget;
175  QVBoxLayout* myMoveLayout;
178 
181 
182  QGridLayout* myDataLayout;
183 
184  QHBoxLayout* myButtonLayout;
185 
188 
189  protected:
192  };
193 
196  {
197  public:
199  virtual ~DtDoctrinesDialogCreator() override;
200 
201  static DtDoctrinesDialogCreator& instance(makVrv::DtDe&);
202  static void registerInstance(makVrv::DtDe&, DtDoctrinesDialogCreator*);
203 
204  virtual DtDoctrinesDialog* create(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& f = 0);
205  };
206 }
QToolButton * myAddDoctrine
Definition: doctrinesDialog.h:163
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtDoctrinesScriptedTaskTreeWidget * myScriptedTasks
Definition: doctrinesDialog.h:179
QFrame * mySeparator3
Definition: doctrinesDialog.h:171
QToolButton * myRemoveDoctrine
Definition: doctrinesDialog.h:164
DtDoctrinesTreeWidget * myDoctrines
Definition: doctrinesDialog.h:160
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
This class manages scripted tasks and allows for drag/drop of task for folder manipulation.
Definition: scriptedTasksMetaDataDialog.h:53
DtDoctrinesDialog * myParent
Definition: doctrinesDialog.h:115
Override of scripted tasks tree widget to handle drag/drop events.
Definition: doctrinesDialog.h:43
Dialog that allows for drag/drop from doctrines panel.
Definition: doctrinesDialog.h:71
QLabel * myDoctrinesLabel
Definition: doctrinesDialog.h:166
QToolButton * myMoveRightButton
Definition: doctrinesDialog.h:177
Dialog that allows for the creation, removal, renaming and assignment of doctrines to scripted or rea...
Definition: doctrinesDialog.h:119
QFrame * mySeparator1
Definition: doctrinesDialog.h:169
Contains makVrv::DtVirtualBaseClass class.
QLabel * myAssignDoctrinesLabel
Definition: doctrinesDialog.h:186
QGridLayout * myDataLayout
Definition: doctrinesDialog.h:182
makVrv::DtDe & myDe
Definition: doctrinesDialog.h:190
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Creator class. Register a subclass of this to return your own version of the DtDoctrinesDialog.
Definition: doctrinesDialog.h:195
QHBoxLayout * myButtonLayout
Definition: doctrinesDialog.h:184
QPushButton * myDoneButton
Definition: doctrinesDialog.h:173
QWidget * myMoveWidget
Definition: doctrinesDialog.h:174
QToolButton * myRenameDoctrine
Definition: doctrinesDialog.h:165
QFrame * mySeparator2
Definition: doctrinesDialog.h:170
QLabel * myDescription
Definition: doctrinesDialog.h:167
Base class to provide boost signal/slot management.
QWidget * myDoctrinesButtonsWidget
Definition: doctrinesDialog.h:161
QToolButton * myMoveLeftButton
Definition: doctrinesDialog.h:176
DtDoctrinesDialog * myParent
Definition: doctrinesDialog.h:65
Doctrines myDoctrineItems
Definition: doctrinesDialog.h:113
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
QHBoxLayout * myDoctrinesButtonsLayout
Definition: doctrinesDialog.h:162
QTreeWidget * myAssignDoctrines
Definition: doctrinesDialog.h:187
QVBoxLayout * myMoveLayout
Definition: doctrinesDialog.h:175
QLabel * myScriptedTasksLabel
Definition: doctrinesDialog.h:180
std::map< std::string, DtThemedTreeWidgetItem * > Doctrines
Definition: doctrinesDialog.h:112
makVrv::DtSignalConnectionManager myConnectionManager
Definition: doctrinesDialog.h:191

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)