VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
basePlanWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvUtil/signalslib.h>
12 
14 #include "planWidgetUi.hpp"
17 
20 #include <vrvCore/DtMenuPath.h>
24 
25 #include <QtWidgets/QDialog>
26 
30 
31 class QMenu;
32 class QTabBar;
33 class QAction;
34 class QDialog;
35 class QTreeWidget;
36 
37 namespace makVrv
38 {
39  class DtDe;
40 }
41 
42 namespace makVrf
43 {
44  class DtBasePlanWidgetLogic;
45 
47  {
48  public:
49  DtEditPlanMenuManager() : makVrv::DtMenuManager()
50  {
51  }
52 
53  void clear()
54  {
55  myMenuItems.clear();
56  myMenus.clear();
57  }
58  };
59 
61  {
62  public:
64 
66  {
67  myMenuManager.clear();
68 
69  myMenuBuilders.clear();
70  myMenuItemBuilders.clear();
71  }
72 
73  virtual void unregisterMenu(const std::string& s)
74  {
75  makVrv::DtMenu* b = menuBuilder(s);
76 
77  if (b)
78  {
79  MenuBuilderMap::iterator iter = myMenuBuilders.begin();
80 
81  while (iter != myMenuBuilders.end())
82  {
83  if (iter->second == b)
84  {
85  myMenuBuilders.erase(iter);
86  }
87  ++iter;
88  }
89  }
90  }
91 
93  QMenuBar* menuBar()
94  {
95  return myMenuBar;
96  }
97 
99  virtual QWidget* menuWindow();
100 
102  virtual makVrv::DtMenuManager& menuManager();
103 
105  QMenu* findMenu(const makVrv::DtMenuPath& path)
106  {
107  return myMenuManager.findMenu(path);
108  }
109 
110  protected:
112  QMenuBar* myMenuBar;
114  };
115 
117  public DtPlanWidgetInterface
118  {
119  Q_OBJECT
120 
121  public:
122 
124  DtBasePlanWidget(makVrv::DtDe&, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
125 
127  virtual ~DtBasePlanWidget();
128 
130  virtual bool init(const makVrv::DtSelectionManager::IdSet&);
131 
132  virtual DtPlanListBoxItem* currentItem();
133 
134  virtual bool deletePending() const;
135 
137  virtual void setAllDisabledButCancel();
138 
140  virtual void setAllEnabled();
141 
142  virtual void setTriggerViewExpanded(bool);
143 
144  virtual void setClosingBecauseObjectRemoved(bool);
145  virtual void setCurrentPlanListBox(DtPlanTreeWidget*);
146 
147  protected:
148  virtual void setupGui();
149 
150  virtual void createLogic() = 0;
151 
152  protected slots:
153  virtual void onItemSelectionChanged();
154  virtual void resizeToMinimumSize();
155  virtual void rightClickToBeShown();
156  virtual void onAboutToShowPlanMenu();
157 
159  virtual void onPrintPlan();
160 
162  virtual void onCopyPlan();
163 
165  virtual void onCopySelectedPlanStatement();
166 
168  virtual void accept();
169 
171  virtual void cancel();
172 
173  virtual void expandTriggerView();
174  virtual void collapseTriggerView();
175 
176  virtual void showTriggerStatus();
177 
178  virtual void onCleanupTriggers();
179  virtual bool triggersExpanded() const;
180 
181  protected:
182  virtual DtPlanTreeWidget* currentPlanListBox();
183  virtual DtPlanTreeWidget* planListBox();
184  virtual DtPlanTreeWidget* triggerListBox();
185  virtual QString selectedTriggerText() const;
186 
187  virtual void stashCurrentContext();
188  virtual bool restoreCurrentContext();
189  virtual bool hasCurrentContext() const;
190 
192  virtual void selectStatement(int, bool andMakeCurrent = false);
193  virtual bool createMenus();
194 
195  virtual QWidget* widget();
196 
197  virtual QPushButton* applyButton();
198  virtual QAction* restartAction();
199  virtual QPushButton* okButton();
200  virtual QPushButton* editButton();
201  virtual QPushButton* cancelButton();
202  virtual QPushButton* deleteButton();
203  virtual QAction* abandonPlanAction();
204  virtual QPushButton* replacePlanButton();
205  virtual QAction* printAction();
206  virtual QPushButton* copyPlanButton();
207 
208  virtual QSize minimumSizeHint() const;
209  virtual QSize sizeHint() const;
210 
211  virtual void resizeEvent(QResizeEvent*);
212 
213  virtual void setPlanStatus(const QString&);
214  virtual void keyPressEvent(QKeyEvent *e);
215  virtual bool eventFilter(QObject *o, QEvent *e);
216  virtual void setMarkingTextTitle(const QString&);
217  virtual const QString& markingTextTitle() const;
218 
219  virtual void closeWidget();
220 
221  virtual void refreshDisplay();
222 
223  virtual void createPlanMenu();
224 
225  public:
226  Ui_PlanWidgetUi myUiImpl;
227  QMenuBar* myMenuBar;
230 
238 
242 
243  protected:
245 
247 
250 
256 
258  {
261  };
262 
265 
267  private:
269  DtBasePlanWidget(const DtBasePlanWidget& orig);
270 
272  DtBasePlanWidget& operator=(const DtBasePlanWidget& rhs);
273  };
274 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)