17 #include <QtWidgets/QTreeWidget>
18 #include <QtWidgets/QHeaderView>
37 #define planPasteType "text/x-myPlanText@Type"
38 #define planTopLevelPasteType "text/x-myPlanText@TopType"
42 class DtPlanListBoxItem;
67 virtual void setName(
const DtUUID&);
68 const DtUUID& name()
const;
71 virtual void displayPlan(
bool andSelectStatement =
true);
75 virtual void setIsGlobalPlan(
bool);
78 virtual void clearAllStatements();
81 virtual void copySelectedPlanStatementToClipboard();
84 virtual void copyPlanToClipboard();
88 virtual void addStatementsToPlan(
const std::vector<DtSimStatement*>&,
bool append,
bool redisplay =
true);
103 virtual void setPlan(
DtPlan*);
107 virtual DtPlan* getOrCreatePlan();
110 virtual void setCanDropOn(
int,
bool);
111 virtual bool canDropOn(
int)
const;
113 virtual bool canDropOnCurrentItem()
const;
118 virtual DtSimStatement* selectStatement(
int,
bool andMakeCurrent =
false);
122 virtual DtPlanListBoxItem* findItemByIndex(
int statementIndex,
int subBlock = 0);
125 virtual void setIsComplete(
bool);
132 virtual DtPlanListBoxItem* findLastItemByIndex(
int statementIndex,
int subBlock = 0);
134 virtual void setPlanTitle(
const QString&);
135 virtual const QString& planTitle()
const;
137 virtual bool planIsModified()
const;
138 virtual void clearPlanIsModified();
139 virtual void markPlanIsModified();
153 virtual void setShowRightClickMenu(
bool);
156 virtual QString planDescriptiveName()
const;
159 virtual void removeTrigger(
const DtUUID&);
162 virtual void renameTrigger(
const DtUUID& uuid,
const DtString& newName);
168 const DtStmtIndex&,
const QString& indent,
int step = -1);
173 virtual void selectLastStatement();
176 virtual int currentCursor();
183 virtual void selectCursor(
int);
187 virtual void initializeRightClickMenu();
189 virtual void resizeEvent(QResizeEvent*);
194 virtual void dragEnterEvent(QDragEnterEvent* event);
195 virtual void dragMoveEvent(QDragMoveEvent* event);
197 virtual void dropEvent(QDropEvent *event);
198 virtual void dragLeaveEvent(QDragLeaveEvent*);
205 virtual void removeLastDraggedItems();
207 virtual void startDrag(Qt::DropActions supportedActions);
208 virtual bool eventFilter(
QObject* o, QEvent*);
211 virtual void setPlanIsModified(
bool);
213 virtual void itemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int col);
220 void editCurrentlySelectedPlanStatement();
221 void deleteCurrentlySelectedPlanStatement();
222 void copyCurrentlySelectedPlanStatement();
223 void pastePlanStatement();
224 void planRightClickMenuCreated(
QMenu*);
225 void rightClickToBeShown();
226 void editCurrentlySelectedTrigger();