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 
51 
52  protected:
55  virtual void dragEnterEvent(QDragEnterEvent* event);
56 
58  virtual void dragMoveEvent(QDragMoveEvent* event);
59 
61  virtual bool dropMimeData(QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action);
62 
63  protected:
65  };
66 
67  #define DtDoctineTaskDragType "text/x-vrlDoctrinesDraggingType@Type"
68 
71  {
72  public:
75 
77  virtual ~DtDoctrinesTreeWidget();
78 
80  virtual void setupDoctrines();
81 
83  virtual bool selectedItemIsDoctrine() const;
84 
86  virtual QTreeWidgetItem* selectedDoctrine() const;
87 
89  virtual void scriptModified(const std::string& scriptId, bool modified);
90 
92  virtual void addScriptedTask(const std::string& scriptId);
93 
94  protected:
95 
97  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const;
98 
101  virtual void dragEnterEvent(QDragEnterEvent* event);
102 
104  virtual void dragMoveEvent(QDragMoveEvent* event);
105 
107  virtual bool dropMimeData(QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action);
108 
109  protected:
110  typedef std::map<std::string, DtThemedTreeWidgetItem*> Doctrines;
112 
114  };
115 
118  {
119  Q_OBJECT
120 
121  public:
123  DtDoctrinesDialog(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& flags = 0);
124 
126  virtual ~DtDoctrinesDialog();
127 
128  virtual void removeFromDoctrine(const std::set<std::string>& scriptIds, const std::string& doctrine);
129  virtual void addToDoctrine(const std::set<std::string>& scriptIds, const std::string& doctrine);
130 
131  protected:
133  virtual void slot_receivedScriptedTasks();
134 
135  virtual void slot_onReceivedDoctrines();
136 
137  virtual void scriptedTaskModified(const std::string& s, bool b);
138  virtual void addScriptedTask(const std::string& s);
139  virtual void filterByScriptEngines();
140  virtual void setupAssignedDoctrines();
141 
142  virtual void setupDoctrinesForForceCombo(QComboBox*);
143  virtual void setAssignedDoctrine(int, std::string);
144 
145  public slots:
146  virtual void onAddDoctrine();
147  virtual void onRenameDoctrine();
148  virtual void onRemoveDoctrine();
149  virtual void onDoctrineSelectionChanged();
150  virtual void onScriptedTaskSelectionChanged();
151  virtual void onRemoveFromDoctrine();
152  virtual void onAddToDoctrine();
153 
154  protected slots:
155  virtual void changeAssignedDoctrine();
156 
157  public:
166 
170 
172  QWidget* myMoveWidget;
173  QVBoxLayout* myMoveLayout;
176 
179 
180  QGridLayout* myDataLayout;
181 
182  QHBoxLayout* myButtonLayout;
183 
186 
187  protected:
190  };
191 
194  {
195  public:
197  virtual ~DtDoctrinesDialogCreator();
198 
199  static DtDoctrinesDialogCreator& instance(makVrv::DtDe&);
200  static void registerInstance(makVrv::DtDe&, DtDoctrinesDialogCreator*);
201 
202  virtual DtDoctrinesDialog* create(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& f = 0);
203  };
204 }
QToolButton * myAddDoctrine
Definition: doctrinesDialog.h:161
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:177
QFrame * mySeparator3
Definition: doctrinesDialog.h:169
QToolButton * myRemoveDoctrine
Definition: doctrinesDialog.h:162
DtDoctrinesTreeWidget * myDoctrines
Definition: doctrinesDialog.h:158
#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:113
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:70
QLabel * myDoctrinesLabel
Definition: doctrinesDialog.h:164
QToolButton * myMoveRightButton
Definition: doctrinesDialog.h:175
Dialog that allows for the creation, removal, renaming and assignment of doctrines to scripted or rea...
Definition: doctrinesDialog.h:117
QFrame * mySeparator1
Definition: doctrinesDialog.h:167
Contains makVrv::DtVirtualBaseClass class.
QLabel * myAssignDoctrinesLabel
Definition: doctrinesDialog.h:184
QGridLayout * myDataLayout
Definition: doctrinesDialog.h:180
makVrv::DtDe & myDe
Definition: doctrinesDialog.h:188
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:193
QHBoxLayout * myButtonLayout
Definition: doctrinesDialog.h:182
QPushButton * myDoneButton
Definition: doctrinesDialog.h:171
QWidget * myMoveWidget
Definition: doctrinesDialog.h:172
QToolButton * myRenameDoctrine
Definition: doctrinesDialog.h:163
QFrame * mySeparator2
Definition: doctrinesDialog.h:168
QLabel * myDescription
Definition: doctrinesDialog.h:165
Base class to provide boost signal/slot management.
QWidget * myDoctrinesButtonsWidget
Definition: doctrinesDialog.h:159
QToolButton * myMoveLeftButton
Definition: doctrinesDialog.h:174
DtDoctrinesDialog * myParent
Definition: doctrinesDialog.h:64
Doctrines myDoctrineItems
Definition: doctrinesDialog.h:111
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:72
QHBoxLayout * myDoctrinesButtonsLayout
Definition: doctrinesDialog.h:160
QTreeWidget * myAssignDoctrines
Definition: doctrinesDialog.h:185
QVBoxLayout * myMoveLayout
Definition: doctrinesDialog.h:173
QLabel * myScriptedTasksLabel
Definition: doctrinesDialog.h:178
std::map< std::string, DtThemedTreeWidgetItem * > Doctrines
Definition: doctrinesDialog.h:110
makVrv::DtSignalConnectionManager myConnectionManager
Definition: doctrinesDialog.h:189

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)