VR-Forces 4.7 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 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)