VR-Forces 4.1.1 Class Documentation
autoHidePanel.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
19 #include <vrvCoreQt/DtDockable.h>
20 #include <vrvCoreQt/DtMenuItem.h>
22 
23 #include <QtGui/QPixmap>
24 #include <QtGui/QWidget>
25 #include <QtGui/QDockWidget>
26 #include <QtGui/QPushButton>
27 #include <QtGui/QSpacerItem>
28 #include <QtCore/QTimer>
29 #include <map>
30 
31 class QVBoxLayout;
32 
33 namespace makVrv
34 {
35  class DtDe;
36  class DtChannelManager;
37  class DtChannel;
38  class DtObserverObject;
39 }
40 
41 namespace makVrf
42 {
43  class DtAutoHidePanelItem;
44  class DtPropCreatePalette;
45  class DtEntityCreatePalette;
46  class DtTacticalGraphicCreatePalette;
47 
52  {
53 
54  Q_OBJECT
55 
56  public:
57 
59  DtAutoHideDockViewItem(makVrv::DtDe& de, const std::string& dockName, DtAutoHidePanelItem* item);
60 
62  virtual ~DtAutoHideDockViewItem();
63 
65  virtual QAction* createAction(makVrv::DtDe& de, QWidget* parent);
66 
67  protected:
68 
70  virtual void on_triggered();
71 
72  protected:
73 
77  };
78 
84  {
85  Q_OBJECT
86 
87  public:
88 
91  DtAutoHidePanelItem(makVrv::DtDe& de, QWidget* parent, QString title);
92 
94  virtual ~DtAutoHidePanelItem();
95 
97  DtAutoHideDock* dockToManage();
98  virtual void setDockToManage(DtAutoHideDock* widget);
99 
101  virtual const QPixmap& icon() const;
102  virtual void setIcon(const QPixmap& p);
103 
105  virtual QString iconText();
106  virtual void setIconText(const QString& s);
107 
110  virtual bool toggled() const;
111  virtual void setToggled(bool flag);
112 
114  virtual void setSelected(bool flag);
115 
117  virtual void setAvailable(bool visible);
118  virtual bool available() const;
119 
121  virtual void setAboutToBeShown(bool flag);
122 
125  virtual void refreshSize(int minsize=-1);
126 
128  virtual void setToggle(bool flag);
129 
130  protected:
131 
133  virtual void enterEvent(QEvent* e);
134 
136  virtual void leaveEvent(QEvent *);
137 
139  virtual void mouseReleaseEvent( QMouseEvent * event );
140 
142  virtual void paintEvent(QPaintEvent* p);
143 
144  signals:
145 
147  void signal_enter(DtAutoHidePanelItem*);
148 
150  void signal_leave(DtAutoHidePanelItem*);
151 
154  void signal_toggled(DtAutoHidePanelItem*);
155 
158  void signal_clicked(DtAutoHidePanelItem*);
159 
161  void signal_availabilityChanged(DtAutoHidePanelItem*);
162 
163  protected:
164 
165  QPixmap myIcon;
166  QString myIconText;
179  };
180 
185  {
186  public:
187 
189  {
190  Hidden = 0,
193  Floating
194  };
195 
196  typedef std::list<DtAutoHidePanelItem*> DtAutoHidePanelItemList;
197  typedef std::list<DtAutoHidePanelItem*>::iterator DtAutoHidePanelItemListIterator;
198 
199  typedef std::list<DtAutoHideDock*> DtAutoHideDockList;
200  typedef std::list<DtAutoHideDock*>::iterator DtAutoHideDockListIterator;
201 
202  typedef std::map<std::string, DtAppearanceOptions> DtAppearanceList;
203  typedef std::map<std::string, DtAppearanceOptions>::iterator DtAppearanceListIterator;
204 
205  Q_OBJECT
206 
207  public:
208 
210 
211  ~DtAutoHidePanel();
212 
216  virtual void addItem(DtAutoHideDock* dock, bool forceVisible=false) ;
217 
219  virtual void clear();
220 
222  virtual DtAutoHidePanelItem* findItemForDock( const DtAutoHideDock* dock );
223 
226  virtual void hideAllDocks();
227 
229  virtual int itemCount();
230 
232  virtual void placeItems();
233 
235  virtual void removeItem(DtAutoHidePanelItem* item);
236 
238  virtual void showDockForItem( DtAutoHidePanelItem* item, bool animate=true);
239 
241  virtual void hideDockForItem( DtAutoHidePanelItem* item, bool animate=true);
242 
244  static DtAutoHidePanel* instance(makVrv::DtDe&);
245 
247  virtual DtEntityCreatePalette* entityCreatePalette();
248  virtual void setEntityCreationDock(DtAutoHideDock*);
249  virtual DtAutoHideDock* entityCreationDock();
250 
252  virtual DtTacticalGraphicCreatePalette* tacticalGraphicCreatePalette();
253  virtual void setTacticalGraphicCreationDock(DtAutoHideDock*);
254  virtual DtAutoHideDock* tacticalGraphicCreationDock();
255 
257  virtual DtPropCreatePalette* propCreatePalette();
258  virtual void setPropCreationDock(DtAutoHideDock*);
259  virtual DtAutoHideDock* propCreationDock();
260 
263  virtual void setItemPinned( DtAutoHidePanelItem*, bool );
264 
265  protected:
266 
268  virtual void setupGui();
269 
271  virtual bool eventFilter(QObject* p, QEvent* e);
272 
274  virtual void installEventFilters();
275 
277  virtual int maxItemWidth();
278 
280  virtual int findDock(const DtAutoHideDock* dock);
281 
283  virtual void removeDock(DtAutoHideDock* dock);
284 
286  virtual void relocateAnyPinnedDock();
287 
289  virtual void refreshItems(int minsize);
290 
292  virtual void refreshAppearanceOfItem(DtAutoHidePanelItem* autoHideItemWidget, bool forceVisible);
293 
294  protected slots:
295 
298  virtual void slot_onItemToggled(DtAutoHidePanelItem*);
299 
302  virtual void slot_onItemClicked(DtAutoHidePanelItem*);
303 
305  virtual void slot_dockClosed(DtAutoHideDock* dockWidget);
306 
308  virtual void slot_dockEntered(DtAutoHideDock* dockWidget);
309 
311  virtual void slot_dockLeft(DtAutoHideDock* dockWidget);
312 
314  virtual void slot_dockResized(DtAutoHideDock* dockWidget);
315 
317  virtual void slot_dockDestroyed(DtAutoHideDock* dockWidget);
318 
320  virtual void slot_showDockOfCurrentItem(bool lockIt=false);
321 
323  virtual void slot_closeTimerTimeout();
324 
326  virtual void slot_onItemAvailabilityChanged(DtAutoHidePanelItem* dockWidget);
327 
328  virtual void slot_observerModeSettingChanged( makVrv::DtObserverObject*, int setting, bool value );
329  virtual void placeCompass();
330 
331  virtual void finalizeSetup();
332 
333  protected:
334 
343  QTimer myTimer;
344  QTimer myCloseTimer;
345 
347 
351  };
352 
357  {
358 
359  public:
360 
362 
363  virtual ~DtAutoHidePanelBuilder();
364 
365  virtual void build(makVrv::DtDe& de, makVrv::DtDeMainWindow& mainWindow);
366  };
367 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)