VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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  protected slots:
104  virtual void itemActivated();
105  virtual void showAvailable();
106  virtual void popupDestroyed();
107 
108  protected:
109  virtual void activate();
110  virtual QSize minimumSizeHint() const;
111  virtual QWidget* createPageContents(DtInformationDialogPage::ShowStatus& status);
112  virtual void showEvent(QShowEvent*);
113  virtual void finalizeSetup();
114  virtual bool eventFilter(QObject* o, QEvent* e);
115 
116  virtual void processMenu(QMenu*, int section);
117  virtual void addAction(QAction*, int section);
118  virtual void setupForMenu();
119  virtual void setupForToolBar();
120  virtual QString nonAvailableText() const = 0;
121 
122  virtual std::string popupIcon() const = 0;
123 
124  protected:
125  typedef std::vector<Section> Sections;
127 
133 
137 
138  public:
143  QGridLayout* myTaskSetLayout;
144  };
145 
148  {
149  public:
152 
154  virtual ~DtAvailableTaskSetPageLogic();
155  virtual void disconnectSignals();
156 
157  protected:
158  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
159  virtual void deactivate();
160 
161  virtual void menuValidated();
162  virtual void menuCreated();
163 
164  protected:
166  };
167 
170  {
171  public:
175 
177  virtual ~DtAvailableTaskSetStatusItem();
178 
179  protected:
181  virtual void deactivate();
182  virtual QVariant value(int col, int role, const QTreeWidgetItem*,
184  virtual bool valueNeedsUpdate(int col, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
185  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
186  virtual DtAvailableTaskSetPage* widgetRepresentationPageItem() const = 0;
187 
188  public:
190  };
191  }
192 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)