VR-Forces 4.2 Class Documentation
DtDoctrinesDialog.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 #include <vrvUtil/signalslib.h>
15 #include <vrvUtil/DtSignalConnectionManager.h>
16 #include <vrvUtil/DtVirtualBaseClass.h>
19 
20 #include <QDialog>
21 
22 namespace makVrv
23 {
24  class DtDe;
25 }
26 
27 class QPushButton;
28 class QLabel;
29 class QHBoxLayout;
30 class QGridLayout;
31 class QVBoxLayout;
32 class QComboBox;
33 class QFrame;
34 
35 namespace makVrf
36 {
37  class DtDoctrinesDialog;
38 
41  {
42  public:
45 
48 
49  protected:
52  virtual void dragEnterEvent(QDragEnterEvent* event);
53 
55  virtual void dragMoveEvent(QDragMoveEvent* event);
56 
58  virtual bool dropMimeData(QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action);
59 
60  protected:
62  };
63 
64  #define DtDoctineTaskDragType "text/x-vrlDoctrinesDraggingType@Type"
65 
68  {
69  public:
71  DtDoctrinesTreeWidget(makVrv::DtDe&, DtDoctrinesDialog*, QWidget* parent);
72 
74  virtual ~DtDoctrinesTreeWidget();
75 
77  virtual void setupDoctrines();
78 
80  virtual bool selectedItemIsDoctrine() const;
81 
83  virtual QTreeWidgetItem* selectedDoctrine() const;
84 
86  virtual void scriptModified(const std::string& scriptId, bool modified);
87 
89  virtual void addScriptedTask(const std::string& scriptId);
90 
91  protected:
92 
94  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const;
95 
98  virtual void dragEnterEvent(QDragEnterEvent* event);
99 
101  virtual void dragMoveEvent(QDragMoveEvent* event);
102 
104  virtual bool dropMimeData(QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action);
105 
106  protected:
107  typedef std::map<std::string, QTreeWidgetItem*> Doctrines;
109 
111  };
112 
115  {
116  Q_OBJECT
117 
118  public:
120  DtDoctrinesDialog(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& flags = 0);
121 
123  virtual ~DtDoctrinesDialog();
124 
125  virtual void removeFromDoctrine(const std::set<std::string>& scriptIds, const std::string& doctrine);
126  virtual void addToDoctrine(const std::set<std::string>& scriptIds, const std::string& doctrine);
127 
128  protected:
130  virtual void slot_receivedScriptedTasks();
131 
132  virtual void slot_onReceivedDoctrines();
133 
134  virtual void scriptedTaskModified(const std::string& s, bool b);
135  virtual void addScriptedTask(const std::string& s);
136  virtual void filterByScriptEngines();
137  virtual void setupAssignedDoctrines();
138 
139  virtual void setupDoctrinesForForceCombo(QComboBox*);
140  virtual void setAssignedDoctrine(int, std::string);
141 
142  public slots:
143  virtual void onAddDoctrine();
144  virtual void onRenameDoctrine();
145  virtual void onRemoveDoctrine();
146  virtual void onDoctrineSelectionChanged();
147  virtual void onScriptedTaskSelectionChanged();
148  virtual void onRemoveFromDoctrine();
149  virtual void onAddToDoctrine();
150 
151  protected slots:
152  virtual void changeAssignedDoctrine();
153 
154  public:
162  QLabel* myDescription;
163 
167 
170  QVBoxLayout* myMoveLayout;
173 
176 
177  QGridLayout* myDataLayout;
178 
179  QHBoxLayout* myButtonLayout;
180 
183 
184  protected:
185  makVrv::DtDe& myDe;
186  makVrv::DtSignalConnectionManager myConnectionManager;
187  };
188 
190  class DT_DLL_VRFGUICOREQT DtDoctrinesDialogCreator : public makVrv::DtVirtualBaseClass
191  {
192  public:
194  virtual ~DtDoctrinesDialogCreator();
195 
196  static DtDoctrinesDialogCreator& instance(makVrv::DtDe&);
197  static void registerInstance(makVrv::DtDe&, DtDoctrinesDialogCreator*);
198 
199  virtual DtDoctrinesDialog* create(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& f = 0);
200  };
201 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)