VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
syncMatrixDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
16 #include "syncMatrixWidgetUi.hpp"
17 #include <vrfutil/rwUUID.h>
18 #endif
19 
20 #include <QtWidgets/QDialog>
21 #include <QtWidgets/QComboBox>
22 
23 namespace makVrv
24 {
25  class DtDe;
26 }
27 
28 namespace makVrf
29 {
30  class DtSyncMatrixLogic;
31  class DtSyncMatrixTreeWidget;
32 
34  {
35  Q_OBJECT
36  public:
37  DtSyncMatrixNameComboBox(QWidget* parent = Q_NULLPTR);
38  virtual ~DtSyncMatrixNameComboBox();
39 
40  protected slots:
41  void itemCountChanged();
42  void editingFinished();
43  signals:
44  void syncMatrixRenamed();
45 
46  protected:
47  virtual void keyPressEvent(QKeyEvent* evt);
48  virtual void paintEvent(QPaintEvent* evt);
49 
51  };
52 
54  : public QDialog
56  {
57  Q_OBJECT
58 
59  public:
60  //CTOR
61  DtSyncMatrixDialog(makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = 0);
62 
63  //DTOR
64  virtual ~DtSyncMatrixDialog();
65 
67  virtual QWidget* widget()
68  {
69  return this;
70  }
71 
72  virtual DtSyncMatrixLogic* createLogic();
73  virtual void init();
74 
75  virtual bool hasSyncMatrixNamed(const QString& name) const;
76  virtual bool hasSyncMatrixPhaseNamed(const QString& name) const;
77  virtual void clearAll();
78  virtual void clearCurrentSyncMatrix();
79  virtual void clearCurrentSyncMatrixObjects();
80  virtual void clearCurrentSyncMatrixPlans();
81  virtual void blockSyncMatrixNameEvents(bool block);
82  virtual void addSyncMatrix(const DtUUID& syncMatrix, const QString& name);
83  virtual void renameSyncMatrix(const DtUUID& syncMatrix, const QString& name);
84  virtual void removeSyncMatrix(const DtUUID& syncMatrix);
85  virtual DtUUID selectedSyncMatrix() const;
86  virtual void addingObjectsStopped() override;
87 
88  virtual void setCanAddAndRenameSyncMatrix(bool enable);
89 
90  virtual void resetPhases(const DtUUID& currentSyncMatrix, const DtUUID& prevSyncMatrix,
91  const DtRwSyncMatrixPhaseList& phases);
92  virtual void moveToPhase(const QString& requestedPhase, const QString& prevPhase, bool prevPhaseCompleted);
93 
94  virtual QTreeWidgetItem* getTopLevelObject(const DtUUID& uuid);
95  virtual QTreeWidgetItem* addTopLevelObject(const DtUUID& syncMatrixUUID, const DtUUID& uuid, const QString& name);
96  virtual QTreeWidgetItem* addChildObject(QTreeWidgetItem* parent, const DtUUID& syncMatrixUUID, const DtUUID& uuid, const QString& name);
97  virtual void setPlanStatus(const DtUUID& uuid, const QString& phaseName,
98  const DtRwSyncMatrixPlan* planSummary, bool valid, bool activated);
99  virtual void setPlanStatus(QTreeWidgetItem* item, const QString& phaseName,
100  const DtRwSyncMatrixPlan* planSummary, bool valid, bool activated);
101  virtual void removeObject(const DtUUID& uuid);
102  virtual void renameObject(const DtUUID& uuid, const QString& name);
103 
105  virtual void select(const DtUUID&);
106 
107  virtual void sortObjects();
108 
109  virtual int showObjectsInAnotherMatrixWarning(const QString& message);
110  virtual void refreshDisplay();
111 
112  protected:
113  virtual void keyPressEvent(QKeyEvent* evt);
114  virtual void showEvent(QShowEvent* evt);
115 
116  protected slots:
117  virtual void slot_close();
118 
119  virtual void slot_addSyncMatrix();
120  virtual void slot_removeSyncMatrix();
121  virtual void slot_renameSyncMatrix();
122 
123  virtual void slot_currentSyncMatrixChanged(int index);
124 
125  virtual void slot_addPhase(int phaseIndex);
126  virtual void slot_removePhase(const QString& phaseName);
127  virtual void slot_editPhase(const QString& phaseName);
128  virtual void slot_movePhase(const QString& phaseName, int phaseIndex);
129 
130  virtual void slot_addObject();
131  virtual void slot_removeObject(const DtUUID& uuid);
132 
133  virtual void slot_setPlan(const DtUUID& uuid, const QString& phaseName);
134  virtual void slot_linkPlan(const DtUUID& uuid, const QString& phaseName, const QString& previousPhaseName);
135  virtual void slot_unlinkPlan(const DtUUID& uuid, const QString& phaseName, const QString& previousPhaseName);
136  virtual void slot_removePlan(const DtUUID& uuid, const QString& phaseName);
137  virtual void slot_copyPlan(const DtUUID& uuid, const QString& phaseName);
138  virtual void slot_pastePlan(const DtUUID& uuid, const QString& phaseName);
139  virtual void slot_activatePlan(const DtUUID& uuid, const QString& phaseName, bool activate);
140  virtual void updateDisplay();
141 
142  public:
143  Ui_syncMatrixWidgetUi myUiImpl;
144 
145  protected:
150 
151  typedef QMap<QString, int> PhaseColumnsWidthMap;
153  QMap<DtUUID, PhaseColumnsWidthMap> myMatrixPhaseColumnsWidthMap;
154  };
155 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
class DtRwSyncMatrixPlan:
Definition: rwSyncMatrixPlan.h:23
QString myCurrentEditableName
Definition: syncMatrixDialog.h:50
Ui_syncMatrixWidgetUi myUiImpl
Definition: syncMatrixDialog.h:143
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QMap< DtUUID, PhaseColumnsWidthMap > myMatrixPhaseColumnsWidthMap
save phase columns width for each matrix
Definition: syncMatrixDialog.h:153
Definition: syncMatrixDialog.h:33
Contains the DtUUID class declaration.
DtSyncMatrixTreeWidget * mySyncMatrix
Definition: syncMatrixDialog.h:148
QMap< QString, int > PhaseColumnsWidthMap
Definition: syncMatrixDialog.h:151
A tree widget that represents the synchronization matrix.
Definition: syncMatrixTreeWidget.h:139
makVrv::DtDe & myDe
Definition: syncMatrixDialog.h:146
Definition: syncMatrixLogic.h:41
Definition: syncMatrixDialog.h:53
DtSyncMatrixLogic * myLogic
Definition: syncMatrixDialog.h:147
Definition: rwSyncMatrixPhaseList.h:17
Definition: syncMatrixDialogInterface.h:31
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
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:72
virtual QWidget * widget()
Returns widget that represents this dialog.
Definition: syncMatrixDialog.h:67
DtSyncMatrixNameComboBox * mySyncMatrixName
Definition: syncMatrixDialog.h:149

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)