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() override;
83 
85  virtual QIcon icon() override;
86 
89  virtual makVrv::DtQIconConfigurations qIconConfigurations() const override;
90 
91  virtual DtInformationDialogPageLogic* createLogic() override = 0;
92 
93  virtual void setFixedItemHeight(int) override;
94 
96  virtual QWidget* widgetRepresentation(QWidget* parent, DtSimObjectReference) override;
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;
112  virtual void activate(DtSimObjectReference) override;
113 
114  virtual int addSection(const QString&);
115 
116  virtual void setKeywords(const std::string&) override;
117  virtual void deactivate() override;
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  virtual bool eventFilter(QObject* o, QEvent* e) override;
132 
133  protected slots:
134  virtual void itemActivated();
135  virtual void showAvailable();
136  virtual void popupDestroyed();
137 
138  protected:
139  virtual void activate() override;
140  virtual QSize minimumSizeHint() const override;
141  virtual QWidget* createPageContents(DtInformationDialogPage::ShowStatus& status) override;
142  virtual void showEvent(QShowEvent*) override;
143  virtual void pageShown();
144  virtual void finalizeSetup();
145 
146  virtual void mainWindowHidden() override;
147  virtual void mainWindowShown() override;
148 
149  virtual void processMenu(QMenu*, int section);
150  virtual void addAction(QAction*, int section);
151  virtual void setupForMenu();
152  virtual void setupForToolBar();
153  virtual QString nonAvailableText() const = 0;
154 
155  virtual std::string popupIcon() const = 0;
156 
157  virtual void selectionChanged();
158  virtual void alignForPlacement(int section);
159 
160  protected:
161  typedef std::vector<Section> Sections;
163 
169 
173  boost::signals2::connection mySelectionConnection;
176 
177  public:
180  QWidget* myPopupWindow;
181  QWidget* myMainCanvas;
182  QGridLayout* myTaskSetLayout;
183  };
184 
187  {
188  public:
191 
193  virtual ~DtAvailableTaskSetPageLogic() override;
194  virtual void disconnectSignals();
195 
196  protected:
197  virtual void activate(DtSimObjectReference state) override;
198  virtual void deactivate() override;
199 
200  virtual void menuValidated();
201  virtual void menuCreated();
202 
203  protected:
205  };
206 
209  {
210  public:
214 
216  virtual ~DtAvailableTaskSetStatusItem() override;
217 
218  protected:
219  virtual void activate(DtSimObjectReference) override;
220  virtual void deactivate() override;
221  virtual QVariant value(int col, int role, DtSimObjectReference) const override;
222  virtual QWidget* widgetRepresentation(QWidget* parent, DtSimObjectReference) override;
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() override;
239 
241  virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent) override;
242  virtual std::string toolbarType() const = 0;
243  virtual QString title() const = 0;
244 
245  protected:
246  virtual bool eventFilter(QObject*, QEvent*) override;
247 
248  protected:
250  };
251  }
252 }
Definition: vrfTaskSetMenu.h:50
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:170
The base class for VR-Vantage toolbars.
Definition: DtToolbar.h:26
makVrv::DtMenu * myMenuBuilder
Definition: availableTaskSetPage.h:171
Section & operator=(const Section &rhs)
Definition: availableTaskSetPage.h:70
int myNumIcons
Definition: availableTaskSetPage.h:168
QToolButton * button
Definition: availableTaskSetPage.h:56
!!!!!!!!!!!!!!! DtAvailableTaskSetStatusItem
Definition: availableTaskSetPage.h:208
bool myNoAvailable
Definition: availableTaskSetPage.h:167
DtAvailableTaskToolbar.
Definition: availableTaskSetPage.h:231
QToolButton * myPopup
Definition: availableTaskSetPage.h:178
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:162
std::map< DtVrfTaskSetToolbarItem *, Item > items
Definition: availableTaskSetPage.h:75
QWidget * myPopupWindow
Definition: availableTaskSetPage.h:180
Contains makVrv::DtInformationDialogPage class.
boost::signals2::connection mySelectionConnection
Definition: availableTaskSetPage.h:173
DtAvailableTaskSetPage * myPage
Definition: availableTaskSetPage.h:226
bool myNeedsLayout
Definition: availableTaskSetPage.h:165
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
double myDockedToolbarWidth
Definition: availableTaskSetPage.h:175
Section(const Section &orig)
Definition: availableTaskSetPage.h:66
Item(const Item &orig)
Definition: availableTaskSetPage.h:53
bool myToolbarMode
Definition: availableTaskSetPage.h:164
bool myFinalizeSetup
Definition: availableTaskSetPage.h:166
Contains makVrv::DtToolbar class declaration.
virtual ~Section()
Definition: availableTaskSetPage.h:68
bool myShowNoneAvailable
Definition: availableTaskSetPage.h:174
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:204
virtual ~Item()
Definition: availableTaskSetPage.h:54
ShowStatus
Definition: informationDialogPage.h:264
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:76
QGridLayout * myTaskSetLayout
Definition: availableTaskSetPage.h:182
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:179
Item & operator=(const Item &rhs)
Definition: availableTaskSetPage.h:56
bool myNeedsMenuSetup
Definition: availableTaskSetPage.h:172
DtToolButtonWrapperWidget * buttons
Definition: availableTaskSetPage.h:74
std::vector< Section > Sections
Definition: availableTaskSetPage.h:161
QToolBar * toolbar
Definition: availableTaskSetPage.h:73
!!!!!!!!!!! DtAvailableTaskSetPageLogic
Definition: availableTaskSetPage.h:186
QWidget * myMainCanvas
Definition: availableTaskSetPage.h:181
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 Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)