11 #if !defined(Q_MOC_RUN)
21 #include <boost/signals2.hpp>
23 #include <QtWidgets/QTreeWidget>
24 #include <QtWidgets/QHeaderView>
25 #include <QtWidgets/QStyledItemDelegate>
47 #define planPasteType "text/x-myPlanText@Type"
48 #define planTopLevelPasteType "text/x-myPlanText@TopType"
52 class DtPlanStatementItem;
53 class DtPlanListBoxItem;
54 class DtPlanTriggerItem;
61 Q_PROPERTY(QColor DropLineColor MEMBER myDropLineColor USER
true)
62 Q_PROPERTY(QColor BlockActiveColor MEMBER myBlockActiveColor USER true)
63 Q_PROPERTY(QColor MainBlockBackgroundColor MEMBER myMainBlockBackgroundColor USER true)
64 Q_PROPERTY(QColor TriggerBlockBackgroundColor MEMBER myTriggerBlockBackgroundColor USER true)
74 virtual
void setExecutingTriggers(const std::vector<
DtUUID>&);
75 virtual
bool triggerIsExecuting(const DtUUID&) const;
77 virtual
void setRegisteredTriggers(const std::vector<DtUUID>&);
78 virtual
bool triggerIsRegistered(const DtUUID&) const;
80 virtual
void setExecutingTriggerStatementIds(const std::vector<
int>&);
81 virtual
bool triggerStatementIdIsBeingExecuted(
int) const;
96 virtual
void setName(const DtUUID&);
97 const DtUUID& name() const;
100 virtual
void displayPlan(
bool andSelectStatement = true);
104 virtual
void setIsGlobalPlan(
bool);
107 virtual
void clearAllStatements();
110 virtual
void clearPlan();
113 virtual
void copySelectedPlanStatementToClipboard();
116 virtual
void copyPlanToClipboard();
120 virtual
void addStatementsToPlan(const std::vector<
DtSimStatement*>&,
bool append,
bool redisplay = true);
123 virtual
void addStatementAfter(DtSimStatement* stmt,
124 const DtPlanStatementItem* listItem = 0,
bool redisplay = true,
bool addAtEndOfParentBlock = false,
125 DtSimStatement* lastStatementAdded =
nullptr);
128 virtual
void replaceStatement(DtSimStatement* stmt, DtPlanStatementItem* item);
133 virtual
void setPlan(
DtPlan*);
134 virtual DtPlan* plan() const;
135 virtual DtPlan* plan() {
return getOrCreatePlan(); };
138 virtual void selectTrigger(
const DtUUID&);
146 virtual DtPlan* getOrCreatePlan();
149 virtual void setCanDropOn(
int,
bool);
150 virtual bool canDropOn(
int)
const;
152 virtual bool canDropOnCurrentItem()
const;
162 virtual void setIsComplete(
bool);
166 virtual void addPlanMimeDataAfter(
const QMimeData*,
DtPlanStatementItem*,
bool copy =
true,
bool redisplay =
true,
bool reselectCurrentItem =
true);
171 virtual void setPlanTitle(
const QString&);
172 virtual const QString& planTitle()
const;
174 virtual bool planIsModified()
const;
175 virtual void clearPlanIsModified();
176 virtual void markPlanIsModified();
190 virtual void setShowRightClickMenu(
bool);
193 virtual QString planDescriptiveName()
const;
196 virtual void removeTrigger(
const DtUUID&);
199 virtual void renameTrigger(
const DtUUID& uuid,
const DtString& newName);
205 virtual bool clearing()
const;
208 virtual void selectLastStatement();
214 virtual void setPlanIsModified(
bool);
226 virtual void displayTriggers();
229 virtual std::map<DtUUID, bool> clearTriggers();
232 virtual void addSeparator(
const QString&);
235 virtual void computeUnusedTriggers();
239 return myUnusedTriggers;
242 virtual bool triggerIsUnused(
const DtUUID&)
const;
244 virtual void setPlanLocked(
bool);
251 virtual void internalComputeUnusedTriggers();
256 virtual void initializeRightClickMenu();
258 virtual void resizeEvent(QResizeEvent*)
override;
261 virtual void dragEnterEvent(QDragEnterEvent* event)
override;
262 virtual void dragMoveEvent(QDragMoveEvent* event)
override;
263 virtual bool dropMimeData(
265 virtual void dropEvent(QDropEvent* event)
override;
266 virtual void dragLeaveEvent(QDragLeaveEvent*)
override;
272 virtual void startDrag(Qt::DropActions supportedActions)
override;
275 virtual void itemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int col)
override;
279 virtual void uuidChanged();
281 virtual void storeCurrentContext();
282 virtual void restoreCurrentContext();
283 virtual void clearCurrentContext();
290 void editCurrentlySelectedPlanStatement();
291 void deleteCurrentlySelectedPlanStatement();
292 void copyCurrentlySelectedPlanStatement();
293 void pastePlanStatement();
294 void planRightClickMenuCreated(
QMenu*);
295 void rightClickToBeShown(
bool&);
296 void editCurrentlySelectedTrigger();
297 void addNewTriggerBlock();
298 void removeTriggerBlock(
const DtUUID&);
299 void editTriggerBlock(
const DtUUID&);
328 bool myPlanLocked =
false;
338 selectedStatementId = 0;
340 executingStatementId = 0;
344 int selectedStatementId = 0;
347 int executingStatementId = 0;
399 virtual void paint(QPainter *painter,
400 const QStyleOptionViewItem &option,
401 const QModelIndex &index)
const override;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Definition: planStatementItem.h:35
class DtStmtIndex:
Definition: stmtIndex.h:24
Contains the DtUUID class declaration.
void print(double **a, int r, int c, const char *str)
class DtSimBlock:
Definition: simBlock.h:27
static const DtUUID & nullUUID()
Contains makVrv::DtVirtualBaseClass class.
This item will be the root node for a plan item – this will create children of type DtPlanStatementIt...
Definition: planListBoxItem.h:32
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
class DtPlan:
Definition: plan.h:92
Base class to provide boost signal/slot management.
class DtSimStatement:
Definition: simStatement.h:38
Contains makVrv::DtUniqueID type.
This item will be the root node for a trigger item – this will create children of type DtPlanStatemen...
Definition: planTriggerItem.h:42
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
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21