VR-Forces Developer's Guide
 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 
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 
89  virtual makVrv::DtQIconConfigurations qIconConfigurations() const;
90 
91  virtual DtInformationDialogPageLogic* createLogic() = 0;
92 
93  virtual void setFixedItemHeight(int);
94 
96  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
97 
99  virtual void setDockedToolbarWidth(double);
100  double dockedToolbarWidth() const
101  {
102  return myDockedToolbarWidth;
103  }
104 
105  virtual void setupAvailableItems();
106  virtual void clearItems();
107  virtual void validateItems(bool checkLayout = true);
108  virtual bool validateSection(Section&, bool checkLayout);
109 
110  virtual DtVrfTaskSetMenu* availableMenu() = 0;
111  virtual makVrv::DtToolbarConfiguration::ToolbarPathList availableToolBarItems() = 0;
113 
114  virtual int addSection(const QString&);
115 
116  virtual void setKeywords(const std::string&);
117  virtual void deactivate();
118 
119  static void setFixedButtonSize(const QSize&);
120  static QSize fixedButtonSize();
121 
123  virtual void monitorSelectionChanges();
124 
125  virtual void setShowNoneAvailable(bool);
126  bool showNoneAvailable() const
127  {
128  return myShowNoneAvailable;
129  }
130 
131  protected slots:
132  virtual void itemActivated();
133  virtual void showAvailable();
134  virtual void popupDestroyed();
135 
136  protected:
137  virtual void activate();
138  virtual QSize minimumSizeHint() const;
139  virtual QWidget* createPageContents(DtInformationDialogPage::ShowStatus& status);
140  virtual void showEvent(QShowEvent*);
141  virtual void pageShown();
142  virtual void finalizeSetup();
143 
144  virtual void mainWindowHidden();
145  virtual void mainWindowShown();
146 
147  virtual void processMenu(QMenu*, int section);
148  virtual void addAction(QAction*, int section);
149  virtual void setupForMenu();
150  virtual void setupForToolBar();
151  virtual QString nonAvailableText() const = 0;
152 
153  virtual std::string popupIcon() const = 0;
154 
155  virtual void selectionChanged();
156  virtual void alignForPlacement(int section);
157 
158  protected:
159  typedef std::vector<Section> Sections;
161 
167 
171  boost::signals2::connection mySelectionConnection;
174 
175  public:
178  QWidget* myPopupWindow;
179  QWidget* myMainCanvas;
180  QGridLayout* myTaskSetLayout;
181  };
182 
185  {
186  public:
189 
191  virtual ~DtAvailableTaskSetPageLogic();
192  virtual void disconnectSignals();
193 
194  protected:
195  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
196  virtual void deactivate();
197 
198  virtual void menuValidated();
199  virtual void menuCreated();
200 
201  protected:
203  };
204 
207  {
208  public:
212 
214  virtual ~DtAvailableTaskSetStatusItem();
215 
216  protected:
218  virtual void deactivate();
219  virtual QVariant value(int col, int role, const QTreeWidgetItem*,
221  virtual bool valueNeedsUpdate(int col, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
222  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
223  virtual DtAvailableTaskSetPage* widgetRepresentationPageItem() const = 0;
224 
225  public:
227  };
228 
232  {
233  public:
235  DtAvailableTasksSetsToolbar(makVrv::DtDe&, const std::string& className);
236 
238  virtual ~DtAvailableTasksSetsToolbar();
239 
241  virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent);
242  virtual std::string toolbarType() const = 0;
243  virtual QString title() const = 0;
244 
245  protected:
246  virtual bool eventFilter(QObject*, QEvent*);
247 
248  protected:
250  };
251  }
252 }
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:32
DtVrfTaskSetMenu * myMenu
Definition: availableTaskSetPage.h:168
The base class for VR-Vantage toolbars.
Definition: DtToolbar.h:26
makVrv::DtMenu * myMenuBuilder
Definition: availableTaskSetPage.h:169
Section & operator=(const Section &rhs)
Definition: availableTaskSetPage.h:70
int myNumIcons
Definition: availableTaskSetPage.h:166
QToolButton * button
Definition: availableTaskSetPage.h:56
!!!!!!!!!!!!!!! DtAvailableTaskSetStatusItem
Definition: availableTaskSetPage.h:206
bool myNoAvailable
Definition: availableTaskSetPage.h:165
DtAvailableTaskToolbar.
Definition: availableTaskSetPage.h:231
QToolButton * myPopup
Definition: availableTaskSetPage.h:176
QLabel * headerLabel
Definition: availableTaskSetPage.h:70
DtAvailableTaskSetPage * myPage
Definition: availableTaskSetPage.h:249
double dockedToolbarWidth() const
Definition: availableTaskSetPage.h:100
bool showNoneAvailable() const
Definition: availableTaskSetPage.h:126
Sections mySections
Definition: availableTaskSetPage.h:160
std::map< DtVrfTaskSetToolbarItem *, Item > items
Definition: availableTaskSetPage.h:75
QWidget * myPopupWindow
Definition: availableTaskSetPage.h:178
Contains makVrv::DtInformationDialogPage class.
boost::signals2::connection mySelectionConnection
Definition: availableTaskSetPage.h:171
DtAvailableTaskSetPage * myPage
Definition: availableTaskSetPage.h:226
bool myNeedsLayout
Definition: availableTaskSetPage.h:163
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
double myDockedToolbarWidth
Definition: availableTaskSetPage.h:173
Section(const Section &orig)
Definition: availableTaskSetPage.h:66
Item(const Item &orig)
Definition: availableTaskSetPage.h:53
bool myToolbarMode
Definition: availableTaskSetPage.h:162
bool myFinalizeSetup
Definition: availableTaskSetPage.h:164
Contains makVrv::DtToolbar class declaration.
virtual ~Section()
Definition: availableTaskSetPage.h:68
bool myShowNoneAvailable
Definition: availableTaskSetPage.h:172
The abstract base menu class.
Definition: DtMenu.h:23
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:24
Contains makVrv::DtToolbarConfiguration class.
makVrv::DtSignalConnectionManager myConnections
Definition: availableTaskSetPage.h:202
virtual ~Item()
Definition: availableTaskSetPage.h:54
ShowStatus
Definition: informationDialogPage.h:266
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
QGridLayout * myTaskSetLayout
Definition: availableTaskSetPage.h:180
std::list< DtToolbarPath > ToolbarPathList
Definition: DtToolbarConfiguration.h:29
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
QLabel * myNonAvailable
Definition: availableTaskSetPage.h:177
Item & operator=(const Item &rhs)
Definition: availableTaskSetPage.h:56
bool myNeedsMenuSetup
Definition: availableTaskSetPage.h:170
DtToolButtonWrapperWidget * buttons
Definition: availableTaskSetPage.h:74
std::vector< Section > Sections
Definition: availableTaskSetPage.h:159
QToolBar * toolbar
Definition: availableTaskSetPage.h:73
!!!!!!!!!!! DtAvailableTaskSetPageLogic
Definition: availableTaskSetPage.h:184
QWidget * myMainCanvas
Definition: availableTaskSetPage.h:179
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)