VR-Forces 5.0.2 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 
87  virtual void setCanAddAndRenameSyncMatrix(bool enable);
88 
89  virtual void resetPhases(const DtUUID& currentSyncMatrix, const DtUUID& prevSyncMatrix,
90  const DtRwSyncMatrixPhaseList& phases);
91  virtual void moveToPhase(const QString& requestedPhase, const QString& prevPhase, bool prevPhaseCompleted);
92 
93  virtual QTreeWidgetItem* getTopLevelObject(const DtUUID& uuid);
94  virtual QTreeWidgetItem* addTopLevelObject(const DtUUID& uuid, const QString& name);
95  virtual QTreeWidgetItem* addChildObject(QTreeWidgetItem* parent, const DtUUID& uuid, const QString& name);
96  virtual void setPlanStatus(const DtUUID& uuid, const QString& phaseName,
97  const QString& planSummary, bool valid, bool activated);
98  virtual void setPlanStatus(QTreeWidgetItem* item, const QString& phaseName,
99  const QString& planSummary, bool valid, bool activated);
100  virtual void removeObject(const DtUUID& uuid);
101  virtual void renameObject(const DtUUID& uuid, const QString& name);
102 
104  virtual void select(const DtUUID&);
105 
106  virtual void sortObjects();
107 
108  virtual int showObjectsInAnotherMatrixWarning(const QString& message);
109 
110  protected:
111  virtual void keyPressEvent(QKeyEvent* evt);
112  virtual void showEvent(QShowEvent* evt);
113 
114  protected slots:
115  virtual void slot_close();
116 
117  virtual void slot_addSyncMatrix();
118  virtual void slot_removeSyncMatrix();
119  virtual void slot_renameSyncMatrix();
120 
121  virtual void slot_currentSyncMatrixChanged(int index);
122 
123  virtual void slot_addPhase(int phaseIndex);
124  virtual void slot_removePhase(const QString& phaseName);
125  virtual void slot_editPhase(const QString& phaseName);
126  virtual void slot_movePhase(const QString& phaseName, int phaseIndex);
127 
128  virtual void slot_addObject();
129  virtual void slot_removeObject(const DtUUID& uuid);
130 
131  virtual void slot_setPlan(const DtUUID& uuid, const QString& phaseName);
132  virtual void slot_removePlan(const DtUUID& uuid, const QString& phaseName);
133  virtual void slot_copyPlan(const DtUUID& uuid, const QString& phaseName);
134  virtual void slot_pastePlan(const DtUUID& uuid, const QString& phaseName);
135  virtual void slot_activatePlan(const DtUUID& uuid, const QString& phaseName, bool activate);
136  virtual void updateDisplay();
137 
138  public:
139  Ui_syncMatrixWidgetUi myUiImpl;
140 
141  protected:
146 
147  typedef QMap<QString, int> PhaseColumnsWidthMap;
149  QMap<DtUUID, PhaseColumnsWidthMap> myMatrixPhaseColumnsWidthMap;
150  };
151 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
QString myCurrentEditableName
Definition: syncMatrixDialog.h:50
Ui_syncMatrixWidgetUi myUiImpl
Definition: syncMatrixDialog.h:139
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QMap< DtUUID, PhaseColumnsWidthMap > myMatrixPhaseColumnsWidthMap
save phase columns width for each matrix
Definition: syncMatrixDialog.h:149
Definition: syncMatrixDialog.h:33
Contains the DtUUID class declaration.
DtSyncMatrixTreeWidget * mySyncMatrix
Definition: syncMatrixDialog.h:144
QMap< QString, int > PhaseColumnsWidthMap
Definition: syncMatrixDialog.h:147
A tree widget that represents the synchronization matrix.
Definition: syncMatrixTreeWidget.h:123
makVrv::DtDe & myDe
Definition: syncMatrixDialog.h:142
Definition: syncMatrixLogic.h:41
Definition: syncMatrixDialog.h:53
DtSyncMatrixLogic * myLogic
Definition: syncMatrixDialog.h:143
Definition: rwSyncMatrixPhaseList.h:17
Definition: syncMatrixDialogInterface.h:30
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:70
virtual QWidget * widget()
Returns widget that represents this dialog.
Definition: syncMatrixDialog.h:67
DtSyncMatrixNameComboBox * mySyncMatrixName
Definition: syncMatrixDialog.h:145

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)