VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
editPlanWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #if !defined(Q_MOC_RUN)
14 #include <matrix/vlVector.h>
15 #endif
16 #include <boost/signals2.hpp>
17 
19 //
21 
22 class QCloseEvent;
23 class DtSimStatement;
24 class DtSimCommand;
25 class DtEntityType;
26 class QAction;
27 
28 namespace makVrf
29 {
30  class DtVrfConditionalMenu;
31  class DtPlanListBoxItem;
32 
34  {
35  Q_OBJECT
36 
37  public:
38 
40  DtEditPlanWidget(makVrv::DtDe&, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
41 
43  virtual ~DtEditPlanWidget();
44 
46  virtual bool init(const makVrv::DtSelectionManager::IdSet&);
47 
48  public:
50  virtual void slot_addCommandRequest(DtSimCommand&);
51 
53  virtual void slot_addConditional(const DtSimStatement& s);
54  virtual void slot_addTrigger(const DtSimStatement& s);
55  virtual void slot_addTriggerFromMenu(const DtSimStatement& s);
56 
58  virtual void slot_createObject(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
59 
60  virtual DtVrfConditionalMenu* conditionalMenu();
61 
63  virtual bool triggerUsed(const DtUUID&);
64 
65  virtual void addStatementAfter(DtSimStatement* stmt, const DtPlanStatementItem* listItem);
66 
69  virtual DtPlanStatementItem* currentItemForStatement();
70 
71  virtual void editingCurrentItem();
72 
73  virtual void updatePlanLockState() override;
74 
76  boost::signals2::signal<void (bool)> signal_menuEnableStateChanged;
77 
78  protected slots:
80  virtual void onSendPlanAndClose();
81 
83  virtual void onSendPlan();
84 
86  virtual void onRestartPlan();
87 
89  virtual void onDeleteSelectedStatement();
90 
92  virtual void onAbandonPlan();
93 
95  virtual void onItemSelectionChanged();
96 
98  virtual void onReplacePlan();
99 
101  virtual void onEnableReplacePlan();
102 
104  virtual void onEditPlanStatement();
105 
106  virtual bool menusEnabled() const { return myMenusEnabled; };
107  virtual bool interfaceEnabled() const { return myInterfaceEnabled; };
108 
109  virtual void onAboutToShowConditionMenu();
110  virtual void onAddTrigger();
111 
113  virtual void onEditTrigger();
114  virtual void removeTrigger(const DtUUID&);
115  virtual void editTriggerBlock(const DtUUID&);
116 
117  protected:
118  virtual void updateSelectedPlanWidget() override;
119  virtual void closeEvent(QCloseEvent *e) override;
120  virtual bool createMenus();
121  virtual void createConditionalMenu();
122 
123  virtual void finalizeMenus();
124  virtual void finalizeConditionalMenu();
125 
126  virtual void disableMenus();
127  virtual void enableMenus();
128 
129  virtual void disableButtons();
130  virtual void enableButtons();
131 
132  virtual void disableMenusAndButtons();
133  virtual void enableMenusAndButtons();
134 
135  virtual void enableMenu(QMenu*, bool);
136  virtual void keyPressEvent(QKeyEvent *e);
137  virtual void delayedRemoveTrigger(DtUUID);
138 
139  public:
144 
145  protected:
149  boost::signals2::scoped_connection myRemoveTriggerConnection;
150 
152  {
153  int currentPlanListStatementIndex = 0;
154  int currentPlanBlockIndex = 0;
155  DtPlanListBoxItem* currentPlanListBoxItem = nullptr;
156 
157  void clear()
158  {
159  currentPlanListStatementIndex = 0;
160  currentPlanBlockIndex = 0;
161  currentPlanListBoxItem = nullptr;
162  }
163 
164  } DisabledStatementInformation;
165 
167 
168  private:
170  DtEditPlanWidget(const DtEditPlanWidget& orig);
171 
173  DtEditPlanWidget& operator=(const DtEditPlanWidget& rhs);
174  };
175 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Definition: planStatementItem.h:35
boost::signals2::scoped_connection myRemoveTriggerConnection
Definition: editPlanWidget.h:149
makVrv::DtMenu * myConditionalMenuBuilder
Definition: editPlanWidget.h:141
void clear()
Definition: editPlanWidget.h:157
DtVrfConditionalMenu * myConditionalMenu
Definition: editPlanWidget.h:140
DisabledStatementInformation myDisabledStatementInformation
Definition: editPlanWidget.h:166
boost::signals2::signal< void(bool)> signal_menuEnableStateChanged
Signal sent when the menu enable state changes (bool is true if enabled)
Definition: editPlanWidget.h:76
This item will be the root node for a plan item – this will create children of type DtPlanStatementIt...
Definition: planListBoxItem.h:32
Definition: editPlanWidget.h:33
virtual bool menusEnabled() const
Definition: editPlanWidget.h:106
DtSimCommand is an abstract base class from which commands can derive. It manages the read/write capa...
Definition: simCommand.h:32
Definition: vrfObjectManipulationHandlerBaseClass.h:505
The abstract base menu class.
Definition: DtMenu.h:23
class DtSimStatement:
Definition: simStatement.h:38
bool myInterfaceEnabled
Definition: editPlanWidget.h:148
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: vrfConditionalMenu.h:24
bool myMenusEnabled
Definition: editPlanWidget.h:147
virtual bool interfaceEnabled() const
Definition: editPlanWidget.h:107
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
makVrv::DtSelectionManager::IdSet myEntitySet
Definition: editPlanWidget.h:146
QAction * mySeparator
Definition: editPlanWidget.h:142
Definition: basePlanWidget.h:46
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
QAction * myAddTriggerAction
Definition: editPlanWidget.h:143

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)