VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
availableTaskSetPage.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
15 #include <vrvCoreQt/DtToolbar.h>
16 #include <vrvUtil/signalslib.h>
17 
18 class QToolBar;
19 class QToolButton;
20 class QMenu;
21 class QLabel;
22 class QFrame;
23 class QHBoxLayout;
24 class QGridLayout;
25 class QToolBar;
26 
27 namespace makVrv
28 {
29  class DtMenu;
30 }
31 
32 namespace makVrf
33 {
34  class DtVrfTaskSetMenu;
35  class DtVrfTaskSetToolbarItem;
36  class DtToolButtonWrapperWidget;
37  class DtVrfTaskSetMenu;
38 
39  namespace makVrfGuiObjectInformationQt
40  {
41  class DtTaskStateItem;
42 
46  {
47  Q_OBJECT
48 
49  public:
50  struct Item
51  {
52  Item() : button(0), action(0), visible(false) {};
53  Item(const Item& orig) : button(orig.button), visible(orig.visible), action(orig.action) {};
54  virtual ~Item() {};
55 
56  Item& operator=(const Item& rhs) { button = rhs.button; visible = rhs.visible; action = rhs.action; return *this; };
57 
58  QToolButton* button;
60  bool visible;
61  };
62 
63  struct Section
64  {
65  Section() : headerLabel(0), buttons(0), toolbar(0) {};
66  Section(const Section& orig) : headerLabel(orig.headerLabel), buttons(orig.buttons), items(orig.items), toolbar(orig.toolbar) {};
67 
68  virtual ~Section() {};
69 
70  Section& operator=(const Section& rhs) { headerLabel = rhs.headerLabel; buttons = rhs.buttons; items = rhs.items; toolbar = rhs.toolbar; return *this; };
71 
72  QLabel* headerLabel;
75  std::map<DtVrfTaskSetToolbarItem*, Item> items;
76  };
77 
79  DtAvailableTaskSetPage(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags f = Qt::SubWindow);
80 
82  virtual ~DtAvailableTaskSetPage();
83 
85  virtual QIcon icon();
86 
87  virtual DtInformationDialogPageLogic* createLogic() = 0;
88 
89  virtual void setFixedItemHeight(int);
90 
92  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
93 
95  virtual void setDockedToolbarWidth(double);
96  double dockedToolbarWidth() const
97  {
98  return myDockedToolbarWidth;
99  }
100 
101  virtual void setupAvailableItems();
102  virtual void clearItems();
103  virtual void validateItems(bool checkLayout = true);
104  virtual bool validateSection(Section&, bool checkLayout);
105 
106  virtual DtVrfTaskSetMenu* availableMenu() = 0;
107  virtual makVrv::DtToolbarConfiguration::ToolbarPathList availableToolBarItems() = 0;
109 
110  virtual int addSection(const QString&);
111 
112  virtual void setKeywords(const std::string&);
113  virtual void deactivate();
114 
115  static void setFixedButtonSize(const QSize&);
116  static QSize fixedButtonSize();
117 
119  virtual void monitorSelectionChanges();
120 
121  virtual void setShowNoneAvailable(bool);
122  bool showNoneAvailable() const
123  {
124  return myShowNoneAvailable;
125  }
126 
127  protected slots:
128  virtual void itemActivated();
129  virtual void showAvailable();
130  virtual void popupDestroyed();
131 
132  protected:
133  virtual void activate();
134  virtual QSize minimumSizeHint() const;
135  virtual QWidget* createPageContents(DtInformationDialogPage::ShowStatus& status);
136  virtual void showEvent(QShowEvent*);
137  virtual void pageShown();
138  virtual void finalizeSetup();
139 
140  virtual void mainWindowHidden();
141  virtual void mainWindowShown();
142 
143  virtual void processMenu(QMenu*, int section);
144  virtual void addAction(QAction*, int section);
145  virtual void setupForMenu();
146  virtual void setupForToolBar();
147  virtual QString nonAvailableText() const = 0;
148 
149  virtual std::string popupIcon() const = 0;
150 
151  virtual void selectionChanged();
152  virtual void alignForPlacement(int section);
153 
154  protected:
155  typedef std::vector<Section> Sections;
157 
163 
167  boost::signals2::connection mySelectionConnection;
170 
171  public:
174  QWidget* myPopupWindow;
175  QWidget* myMainCanvas;
176  QGridLayout* myTaskSetLayout;
177  };
178 
181  {
182  public:
185 
187  virtual ~DtAvailableTaskSetPageLogic();
188  virtual void disconnectSignals();
189 
190  protected:
191  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
192  virtual void deactivate();
193 
194  virtual void menuValidated();
195  virtual void menuCreated();
196 
197  protected:
199  };
200 
203  {
204  public:
208 
210  virtual ~DtAvailableTaskSetStatusItem();
211 
212  protected:
214  virtual void deactivate();
215  virtual QVariant value(int col, int role, const QTreeWidgetItem*,
217  virtual bool valueNeedsUpdate(int col, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
218  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
219  virtual DtAvailableTaskSetPage* widgetRepresentationPageItem() const = 0;
220 
221  public:
223  };
224 
228  {
229  public:
231  DtAvailableTasksSetsToolbar(makVrv::DtDe&, const std::string& className);
232 
234  virtual ~DtAvailableTasksSetsToolbar();
235 
237  virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent);
238  virtual std::string toolbarType() const = 0;
239  virtual QString title() const = 0;
240 
241  protected:
242  virtual bool eventFilter(QObject*, QEvent*);
243 
244  protected:
246  };
247  }
248 }
Definition: vrfTaskSetMenu.h:51
This class will try and space out items such that they will wrap to multiple rows if buttons (or text...
Definition: toolButtonWrapperWidget.h:29
DtVrfTaskSetMenu * myMenu
Definition: availableTaskSetPage.h:164
The base class for VR-Vantage toolbars.
Definition: DtToolbar.h:26
makVrv::DtMenu * myMenuBuilder
Definition: availableTaskSetPage.h:165
Section & operator=(const Section &rhs)
Definition: availableTaskSetPage.h:70
int myNumIcons
Definition: availableTaskSetPage.h:162
QToolButton * button
Definition: availableTaskSetPage.h:56
!!!!!!!!!!!!!!! DtAvailableTaskSetStatusItem
Definition: availableTaskSetPage.h:202
bool myNoAvailable
Definition: availableTaskSetPage.h:161
DtAvailableTaskToolbar.
Definition: availableTaskSetPage.h:227
QToolButton * myPopup
Definition: availableTaskSetPage.h:172
QLabel * headerLabel
Definition: availableTaskSetPage.h:70
DtAvailableTaskSetPage * myPage
Definition: availableTaskSetPage.h:245
double dockedToolbarWidth() const
Definition: availableTaskSetPage.h:96
bool showNoneAvailable() const
Definition: availableTaskSetPage.h:122
Sections mySections
Definition: availableTaskSetPage.h:156
std::map< DtVrfTaskSetToolbarItem *, Item > items
Definition: availableTaskSetPage.h:75
QWidget * myPopupWindow
Definition: availableTaskSetPage.h:174
Contains makVrv::DtInformationDialogPage class.
boost::signals2::connection mySelectionConnection
Definition: availableTaskSetPage.h:167
DtAvailableTaskSetPage * myPage
Definition: availableTaskSetPage.h:222
bool myNeedsLayout
Definition: availableTaskSetPage.h:159
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
double myDockedToolbarWidth
Definition: availableTaskSetPage.h:169
Section(const Section &orig)
Definition: availableTaskSetPage.h:66
Item(const Item &orig)
Definition: availableTaskSetPage.h:53
bool myToolbarMode
Definition: availableTaskSetPage.h:158
bool myFinalizeSetup
Definition: availableTaskSetPage.h:160
Contains makVrv::DtToolbar class declaration.
virtual ~Section()
Definition: availableTaskSetPage.h:68
bool myShowNoneAvailable
Definition: availableTaskSetPage.h:168
The abstract base menu class.
Definition: DtMenu.h:23
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:25
Contains makVrv::DtToolbarConfiguration class.
makVrv::DtSignalConnectionManager myConnections
Definition: availableTaskSetPage.h:198
virtual ~Item()
Definition: availableTaskSetPage.h:54
ShowStatus
Definition: informationDialogPage.h:265
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QGridLayout * myTaskSetLayout
Definition: availableTaskSetPage.h:176
std::list< DtToolbarPath > ToolbarPathList
Definition: DtToolbarConfiguration.h:29
QLabel * myNonAvailable
Definition: availableTaskSetPage.h:173
Item & operator=(const Item &rhs)
Definition: availableTaskSetPage.h:56
bool myNeedsMenuSetup
Definition: availableTaskSetPage.h:166
DtToolButtonWrapperWidget * buttons
Definition: availableTaskSetPage.h:74
std::vector< Section > Sections
Definition: availableTaskSetPage.h:155
QToolBar * toolbar
Definition: availableTaskSetPage.h:73
!!!!!!!!!!! DtAvailableTaskSetPageLogic
Definition: availableTaskSetPage.h:180
QWidget * myMainCanvas
Definition: availableTaskSetPage.h:175
The DtAvailableSetPage will only create a widget representation that shows the available tasks or set...
Definition: availableTaskSetPage.h:45
QAction * action
Definition: availableTaskSetPage.h:59

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)