13 #if !defined(Q_MOC_RUN)
20 #include <QtWidgets/QStyledItemDelegate>
21 #include <QtWidgets/QTreeWidget>
22 #include <QtWidgets/QHeaderView>
30 class DtObjectListViewItem;
38 virtual void paint(QPainter *painter,
const QStyleOptionViewItem &option,
const QModelIndex &index)
const override;
39 virtual QSize sizeHint(
const QStyleOptionViewItem &option,
const QModelIndex &index)
const override;
41 const QModelIndex& index)
override;
42 virtual bool helpEvent(QHelpEvent* event, QAbstractItemView* view,
const QStyleOptionViewItem& option,
43 const QModelIndex& index)
override;
44 virtual void addingObjectsStopped();
46 virtual void getHotSpots(
const QStyleOptionViewItem &option, QRect& addPlan, QRect& continuePlan)
const;
52 void signal_addObject();
53 void signal_removeObject(
const QModelIndex &index);
54 void signal_setPlan(
const QModelIndex &index);
55 void signal_linkPlan(
const QModelIndex &index);
56 void signal_unlinkPlan(
const QModelIndex &index);
60 virtual QPoint getIconPosition(
const QPixmap& pixmap,
const QStyleOptionViewItem &option,
61 const Qt::Alignment& alignment = Qt::AlignCenter)
const;
62 virtual void updateIcons();
72 int myAddingObject = -1;
86 PhaseSectionUserRoleActive = Qt::UserRole,
94 virtual int phaseColumnFromName(
const QString& phaseName);
95 virtual void moveToPhase(
const QString& requestedPhase,
const QString& prevPhase,
bool prevPhaseCompleted);
97 virtual void resizePhaseSections();
100 virtual void slot_sectionMoved(
int _logicalIndex,
int oldVisualIndex,
int newVisualIndex);
103 void signal_addPhase(
int phaseIndex);
104 void signal_removePhase(
const QString& phaseName);
105 void signal_editPhase(
const QString& phaseName);
106 void signal_movePhase(
const QString& phaseName,
int phaseIndex);
110 virtual void addPhaseEvent(
int phaseIndex);
111 virtual void removePhaseEvent(
const QString& phaseName);
112 virtual void editPhaseEvent(
const QString& phaseName);
113 virtual void movePhaseEvent(
const QString& phaseName,
int phaseIndex);
115 virtual void mousePressEvent(QMouseEvent* event)
override;
116 virtual void mouseDoubleClickEvent(QMouseEvent* event)
override;
117 virtual void mouseMoveEvent(QMouseEvent* event)
override;
118 virtual void paintSection(QPainter* painter,
const QRect& rect,
int logicalIndex)
const override;
119 virtual void contextMenuEvent(QContextMenuEvent* event)
override;
121 virtual QPoint getAddIconPosition(
const QRect &rect)
const;
122 virtual QPoint getEditIconPosition(
const QRect &rect)
const;
123 virtual QPoint getRemoveIconPosition(
const QRect &rect)
const;
125 virtual void updateIcons();
142 Q_PROPERTY(QColor PhaseActiveColor MEMBER myPhaseActiveColor USER
true)
143 Q_PROPERTY(QColor PhaseCompletedColor MEMBER myPhaseCompletedColor USER true)
144 Q_PROPERTY(QColor PlanCellBackgroundColor MEMBER myPlanCellBackgroundColor USER true)
145 Q_PROPERTY(QColor PlanCellColor MEMBER myPlanCellColor USER true)
146 Q_PROPERTY(QColor AddContinueColor MEMBER myAddContinueColor USER true)
155 ItemUserRoleUUID = Qt::UserRole,
160 ItemUserRolePlanLinked
170 virtual void clearObjects();
171 virtual void clearPlans();
172 virtual void clearAll();
173 virtual void addingObjectsStopped();
177 return myPhaseActiveColor;
182 return myPhaseCompletedColor;
187 return myPlanCellBackgroundColor;
192 return myPlanCellColor;
197 return myAddContinueColor;
203 virtual void setPlanStatus(
const DtUUID& uuid,
const QString& phaseName,
205 virtual void setPlanStatus(
QTreeWidgetItem* item,
const QString& phaseName,
207 virtual void removeObject(
const DtUUID& uuid);
208 virtual void renameObject(
const DtUUID& uuid,
const QString& name);
210 virtual bool phaseNameExists(
const QString& phaseName);
211 virtual void moveToPhase(
const QString& requestedPhase,
const QString& prevPhase,
bool prevPhaseCompleted);
213 virtual QString getObjectName(
const DtUUID& uuid);
216 virtual void updateDisplay();
220 void signal_addPhase(
int phaseIndex);
221 void signal_removePhase(
const QString& phaseName);
222 void signal_editPhase(
const QString& phaseName);
223 void signal_movePhase(
const QString& phaseName,
int phaseIndex);
225 void signal_addObject();
226 void signal_removeObject(
const DtUUID& uuid);
228 void signal_setPlan(
const DtUUID& uuid,
const QString& phaseName);
229 void signal_linkPlan(
const DtUUID& uuid,
const QString& phaseName,
const QString& toPhaseName);
230 void signal_unlinkPlan(
const DtUUID& uuid,
const QString& phaseName,
const QString& toPhaseName);
231 void signal_removePlan(
const DtUUID& uuid,
const QString& phaseName);
232 void signal_copyPlan(
const DtUUID& uuid,
const QString& phaseName);
233 void signal_pastePlan(
const DtUUID& uuid,
const QString& phaseName);
234 void signal_activatePlan(
const DtUUID& uuid,
const QString& phaseName,
bool activate);
237 virtual void slot_addObject();
238 virtual void slot_removeObject(
const QModelIndex& index);
239 virtual void slot_setPlan(
const QModelIndex& index);
240 virtual void slot_linkPlan(
const QModelIndex& index);
241 virtual void slot_unlinkPlan(
const QModelIndex& index);
244 virtual void syncMatrixItemCopyPlan(
QTreeWidgetItem* item,
int column);
245 virtual void syncMatrixItemPastePlan(
QTreeWidgetItem* item,
int column);
246 virtual void syncMatrixItemRemovePlan(
QTreeWidgetItem* item,
int column);
247 virtual void syncMatrixItemActivatePlan(
QTreeWidgetItem* item,
int column,
bool activate);
254 virtual void contextMenuEvent(QContextMenuEvent* event)
override;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
static float myDrawTextSize
Definition: syncMatrixTreeWidget.h:69
class DtRwSyncMatrixPlan:
Definition: rwSyncMatrixPlan.h:23
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
const QString & addPlanText() const
Definition: syncMatrixTreeWidget.h:48
Contains the DtUUID class declaration.
QString myAddPlanText
Definition: syncMatrixTreeWidget.h:73
const QString & continuePlanText() const
Definition: syncMatrixTreeWidget.h:49
QPixmap myRemoveIcon
Definition: syncMatrixTreeWidget.h:67
QPixmap myAddIcon
Definition: syncMatrixTreeWidget.h:66
static int myIconMargin
Definition: syncMatrixTreeWidget.h:68
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: rwSyncMatrixPhaseList.h:17
Base class to provide boost signal/slot management.
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
makVrv::DtDe & myDe
Definition: syncMatrixTreeWidget.h:65
This tree widget item can be used in any tree that wants to display an icon next to the name of an ob...
Definition: objectListViewItem.h:45
QString myContinuePlanText
Definition: syncMatrixTreeWidget.h:74
Definition: syncMatrixTreeWidget.h:32
makVrv::DtSignalConnectionManager myConnections
Definition: syncMatrixTreeWidget.h:70
double myDevicePixelRatio
Definition: syncMatrixTreeWidget.h:71