VR-Forces 4.8 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 
16 class QToolBar;
17 class QToolButton;
18 class QMenu;
19 class QLabel;
20 class QFrame;
21 class QHBoxLayout;
22 class QGridLayout;
23 
24 namespace makVrv
25 {
26  class DtMenu;
27 }
28 
29 namespace makVrf
30 {
31  class DtVrfTaskSetMenu;
32  class DtVrfTaskSetToolbarItem;
33  class DtToolButtonWrapperWidget;
34  class DtVrfTaskSetMenu;
35 
36  namespace makVrfGuiObjectInformationQt
37  {
38  class DtTaskStateItem;
39 
43  {
44  Q_OBJECT
45 
46  public:
47  struct Item
48  {
49  Item() : button(0), visible(false) {};
50  Item(const Item& orig) : button(orig.button), visible(orig.visible) {};
51  virtual ~Item() {};
52 
53  Item& operator=(const Item& rhs) { button = rhs.button; visible = rhs.visible; return *this; };
54 
55  QToolButton* button;
56  bool visible;
57  };
58 
59  struct Section
60  {
61  Section() : headerLabel(0), buttons(0) {};
62  Section(const Section& orig) : headerLabel(orig.headerLabel), buttons(orig.buttons), items(orig.items) {};
63 
64  virtual ~Section() {};
65 
66  Section& operator=(const Section& rhs) { headerLabel = rhs.headerLabel; buttons = rhs.buttons; items = rhs.items; return *this; };
67 
68  QLabel* headerLabel;
70  std::map<DtVrfTaskSetToolbarItem*, Item> items;
71  };
72 
74  DtAvailableTaskSetPage(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags f = Qt::SubWindow);
75 
77  virtual ~DtAvailableTaskSetPage();
78 
80  virtual QIcon icon();
81 
82  virtual DtInformationDialogPageLogic* createLogic() = 0;
83 
84  virtual void setFixedItemHeight(int);
85 
87  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
88 
89  virtual void setupAvailableItems();
90  virtual void clearItems();
91  virtual void validateItems(bool checkLayout = true);
92  virtual bool validateSection(Section&, bool checkLayout);
93 
94  virtual DtVrfTaskSetMenu* availableMenu() = 0;
95  virtual makVrv::DtToolbarConfiguration::ToolbarPathList availableToolBarItems() = 0;
97 
98  virtual int addSection(const QString&);
99 
100  virtual void setKeywords(const std::string&);
101  virtual void deactivate();
102 
103  static void setFixedButtonSize(const QSize&);
104  static QSize fixedButtonSize();
105 
106  protected slots:
107  virtual void itemActivated();
108  virtual void showAvailable();
109  virtual void popupDestroyed();
110 
111  protected:
112  virtual void activate();
113  virtual QSize minimumSizeHint() const;
114  virtual QWidget* createPageContents(DtInformationDialogPage::ShowStatus& status);
115  virtual void showEvent(QShowEvent*);
116  virtual void pageShown();
117  virtual void finalizeSetup();
118 
119  virtual void mainWindowHidden();
120  virtual void mainWindowShown();
121 
122  virtual void processMenu(QMenu*, int section);
123  virtual void addAction(QAction*, int section);
124  virtual void setupForMenu();
125  virtual void setupForToolBar();
126  virtual QString nonAvailableText() const = 0;
127 
128  virtual std::string popupIcon() const = 0;
129 
130  protected:
131  typedef std::vector<Section> Sections;
133 
139 
143 
144  public:
147  QWidget* myPopupWindow;
148  QWidget* myMainCanvas;
149  QGridLayout* myTaskSetLayout;
150  };
151 
154  {
155  public:
158 
160  virtual ~DtAvailableTaskSetPageLogic();
161  virtual void disconnectSignals();
162 
163  protected:
164  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
165  virtual void deactivate();
166 
167  virtual void menuValidated();
168  virtual void menuCreated();
169 
170  protected:
172  };
173 
176  {
177  public:
181 
183  virtual ~DtAvailableTaskSetStatusItem();
184 
185  protected:
187  virtual void deactivate();
188  virtual QVariant value(int col, int role, const QTreeWidgetItem*,
190  virtual bool valueNeedsUpdate(int col, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
191  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
192  virtual DtAvailableTaskSetPage* widgetRepresentationPageItem() const = 0;
193 
194  public:
196  };
197  }
198 }
Definition: vrfTaskSetMenu.h:49
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:140
makVrv::DtMenu * myMenuBuilder
Definition: availableTaskSetPage.h:141
Section & operator=(const Section &rhs)
Definition: availableTaskSetPage.h:66
int myNumIcons
Definition: availableTaskSetPage.h:138
QToolButton * button
Definition: availableTaskSetPage.h:53
!!!!!!!!!!!!!!! DtAvailableTaskSetStatusItem
Definition: availableTaskSetPage.h:175
bool myNoAvailable
Definition: availableTaskSetPage.h:137
QToolButton * myPopup
Definition: availableTaskSetPage.h:145
QLabel * headerLabel
Definition: availableTaskSetPage.h:66
Sections mySections
Definition: availableTaskSetPage.h:132
std::map< DtVrfTaskSetToolbarItem *, Item > items
Definition: availableTaskSetPage.h:70
QWidget * myPopupWindow
Definition: availableTaskSetPage.h:147
Contains makVrv::DtInformationDialogPage class.
DtAvailableTaskSetPage * myPage
Definition: availableTaskSetPage.h:195
bool myNeedsLayout
Definition: availableTaskSetPage.h:135
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Section(const Section &orig)
Definition: availableTaskSetPage.h:62
Item(const Item &orig)
Definition: availableTaskSetPage.h:50
bool myToolbarMode
Definition: availableTaskSetPage.h:134
bool myFinalizeSetup
Definition: availableTaskSetPage.h:136
virtual ~Section()
Definition: availableTaskSetPage.h:64
The abstract base menu class.
Definition: DtMenu.h:26
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:25
Contains makVrv::DtToolbarConfiguration class.
makVrv::DtSignalConnectionManager myConnections
Definition: availableTaskSetPage.h:171
virtual ~Item()
Definition: availableTaskSetPage.h:51
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:149
std::list< DtToolbarPath > ToolbarPathList
Definition: DtToolbarConfiguration.h:32
QLabel * myNonAvailable
Definition: availableTaskSetPage.h:146
Item & operator=(const Item &rhs)
Definition: availableTaskSetPage.h:53
bool myNeedsMenuSetup
Definition: availableTaskSetPage.h:142
DtToolButtonWrapperWidget * buttons
Definition: availableTaskSetPage.h:69
std::vector< Section > Sections
Definition: availableTaskSetPage.h:131
!!!!!!!!!!! DtAvailableTaskSetPageLogic
Definition: availableTaskSetPage.h:153
QWidget * myMainCanvas
Definition: availableTaskSetPage.h:148
The DtAvailableSetPage will only create a widget representation that shows the available tasks or set...
Definition: availableTaskSetPage.h:42

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)