19 #include <QtWidgets/QTreeWidget>
20 #include <QtWidgets/QHeaderView>
39 #define planPasteType "text/x-myPlanText@Type"
40 #define planTopLevelPasteType "text/x-myPlanText@TopType"
44 class DtPlanListBoxItem;
69 virtual void setName(
const DtUUID&);
70 const DtUUID& name()
const;
73 virtual void displayPlan(
bool andSelectStatement =
true);
77 virtual void setIsGlobalPlan(
bool);
80 virtual void clearAllStatements();
83 virtual void copySelectedPlanStatementToClipboard();
86 virtual void copyPlanToClipboard();
90 virtual void addStatementsToPlan(
const std::vector<DtSimStatement*>&,
bool append,
bool redisplay =
true);
94 const DtPlanListBoxItem* listItem = 0,
bool redisplay =
true,
bool addAtEndOfParentBlock =
false);
105 virtual void setPlan(
DtPlan*);
109 virtual DtPlan* getOrCreatePlan();
112 virtual void setCanDropOn(
int,
bool);
113 virtual bool canDropOn(
int)
const;
115 virtual bool canDropOnCurrentItem()
const;
120 virtual DtSimStatement* selectStatement(
int,
bool andMakeCurrent =
false);
124 virtual DtPlanListBoxItem* findItemByIndex(
int statementIndex,
int subBlock = 0);
127 virtual void setIsComplete(
bool);
134 virtual DtPlanListBoxItem* findLastItemByIndex(
int statementIndex,
int subBlock = 0);
136 virtual void setPlanTitle(
const QString&);
137 virtual const QString& planTitle()
const;
139 virtual bool planIsModified()
const;
140 virtual void clearPlanIsModified();
141 virtual void markPlanIsModified();
155 virtual void setShowRightClickMenu(
bool);
158 virtual QString planDescriptiveName()
const;
161 virtual void removeTrigger(
const DtUUID&);
164 virtual void renameTrigger(
const DtUUID& uuid,
const DtString& newName);
170 const DtStmtIndex&,
const QString& indent,
int step = -1);
175 virtual void selectLastStatement();
178 virtual int currentCursor();
185 virtual void selectCursor(
int);
189 virtual void initializeRightClickMenu();
191 virtual void resizeEvent(QResizeEvent*);
196 virtual void dragEnterEvent(QDragEnterEvent* event);
197 virtual void dragMoveEvent(QDragMoveEvent* event);
199 virtual void dropEvent(QDropEvent *event);
200 virtual void dragLeaveEvent(QDragLeaveEvent*);
207 virtual void removeLastDraggedItems();
209 virtual void startDrag(Qt::DropActions supportedActions);
213 virtual void setPlanIsModified(
bool);
215 virtual void itemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int col);
224 void editCurrentlySelectedPlanStatement();
225 void deleteCurrentlySelectedPlanStatement();
226 void copyCurrentlySelectedPlanStatement();
227 void pastePlanStatement();
228 void planRightClickMenuCreated(
QMenu*);
229 void rightClickToBeShown();
230 void editCurrentlySelectedTrigger();