VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
overlayBar.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
18 
19 #include <QtWidgets/QTabBar>
20 #include <QtWidgets/QLabel>
21 
22 class QMenu;
23 class QAction;
24 class QCheckBox;
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtQtDeMainWindow;
30 }
31 
32 namespace makVrf
33 {
34  class DtVrfGuiSettingsRecord;
35 
41  {
42  Q_OBJECT
43 
44  public:
45 
46  DtOverlayBar(makVrv::DtDe& de, const std::string& name, makVrv::DtQtDeMainWindow* parent);
47 
48  virtual ~DtOverlayBar();
49 
51  static DtOverlayBar* instance(makVrv::DtDe&);
52 
54  virtual void setIconSize(const QSize&);
55 
57  virtual void hideTab(const makVrv::DtUnicode&);
58 
60  virtual void showTab(const makVrv::DtUnicode&);
61 
62  protected:
63  virtual void showEvent(QShowEvent*);
64  virtual void hideEvent(QHideEvent*);
65 
66  virtual void finalizeSetup();
67  virtual void createRightClickMenu();
68 
69  virtual void guiSettingsChanged(const DtVrfGuiSettingsRecord&);
70  virtual void changeVisibility(bool);
71 
72  virtual void slot_mainWidgetSet(QWidget*);
73  virtual void slot_changingMainWidget(QWidget* old, QWidget* aboutToBe);
74 
76 
79 
81  virtual void changeFloatingGeometry(int px, int py, int width, int height) {};
82 
85 
87  virtual void changeDockedGeometry(int px, int py, int width, int height) {};
88 
91 
93  virtual void selectPage(const std::string& pageClassName) {};
94 
96  virtual void addPageToGui(makVrv::DtPage*) {};
97 
100 
102  virtual void selectPageInGui(makVrv::DtPage* page) {};
103 
104  virtual void slot_layerAdded(const std::string&);
105  virtual void slot_layerRemoved(const std::string&);
106  virtual void slot_layerRenamed(const std::string&, const std::string&);
107  virtual void slot_layerVisibilityChanged(const std::string&, int);
108 
109  virtual void mousePressEvent(QMouseEvent *event);
110 
111  virtual void slot_overlayHidden(const std::string& s, bool b);
112 
114  virtual int positionOfTab(const std::string&) const;
115 
117  virtual int indexOfTab(const std::string&) const;
118  virtual std::string overlayName(int index) const;
119  virtual void slot_defaultHiddenChanged(const std::string& layer, bool b);
120 
121  protected slots:
122  virtual void onShowHideLayer();
123  virtual void onLockUnlockLayer();
124  virtual void onHideAllButThis();
125  virtual void onShowAllLayers();
126  virtual void onHideAllLayers();
127  virtual void onSaveOverlayAsShapeFiles();
128  virtual void onImportShapeFileOntoOverlay();
129  virtual void onChangeDefaultHidden(bool);
130  virtual void onChangeLayerVisibility();
131 
132  public:
142 
143  protected:
145  QSize myIconSize;
147  std::set<std::string> myHideTabs;
148  std::set<std::string> myHiddenTabs;
149  std::map<std::string, QCheckBox*> myVisibilityStates;
150  };
151 
154  {
155  public:
158 
160  virtual ~DtOverlayBarCreator();
161 
163  static DtOverlayBarCreator& instance(makVrv::DtDe&);
164 
166  static void registerInstance(makVrv::DtDe&, DtOverlayBarCreator*);
167 
169  virtual DtOverlayBar* create(const std::string& name, QWidget* parent);
170 
171  protected:
173  };
174 }
The DtQtPageCollection is an abstract class which implements the page collection interface, and can be used extended by specific Qt implementations such as a tabbed panel or dialog.
Definition: DtQtPageCollection.h:26
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
virtual void addPageToGui(makVrv::DtPage *)
Implement adding the page to the GUI.
Definition: overlayBar.h:96
QMenu * myRightClickMenu
Definition: overlayBar.h:133
Contains makVrv::DtQtPageCollection class.
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
PageCollectionLocation
Definition: DtPageConfiguration.h:42
QAction * myShapeFilesImport
Definition: overlayBar.h:140
Definition: DtPageConfiguration.h:56
QAction * myShowHide
Definition: overlayBar.h:134
Definition: vrfGuiSettingsRecord.h:26
virtual void changeFloatingGeometry(int px, int py, int width, int height)
Implement changing the floating geometry of the collection.
Definition: overlayBar.h:81
virtual void changeDockedGeometry(const makVrv::DtPageConfiguration::PageCollectionGeometry &geometry)
Implement changing the docked geometry of the collection.
Definition: overlayBar.h:90
QAction * myHideAllButThis
Definition: overlayBar.h:136
QSize myIconSize
Definition: overlayBar.h:145
virtual void selectPageInGui(makVrv::DtPage *page)
Implement selecting a page in the GUI.
Definition: overlayBar.h:102
virtual void removePageFromGui(makVrv::DtPage *)
Implement removing a page from the GUI.
Definition: overlayBar.h:99
Contains makVrv::DtVirtualBaseClass class.
virtual void changeFloatingGeometry(const makVrv::DtPageConfiguration::PageCollectionGeometry &geometry)
Implement changing the floating geometry of the collection.
Definition: overlayBar.h:84
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
QAction * mySaveAsShapeFiles
Definition: overlayBar.h:139
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
virtual void changeDockedGeometry(int px, int py, int width, int height)
Implement changing the docked geometry of the collection.
Definition: overlayBar.h:87
Creator for the overlay bar.
Definition: overlayBar.h:153
int myRightClickMenuIndex
Definition: overlayBar.h:146
makVrv::DtSignalConnectionManager myConnections
Definition: overlayBar.h:144
Base class to provide boost signal/slot management.
QAction * mySetDefaultHidden
Definition: overlayBar.h:141
QAction * myShowAll
Definition: overlayBar.h:137
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QAction * myLockUnlock
Definition: overlayBar.h:135
virtual void changeLocation(makVrv::DtPageConfiguration::PageCollectionLocation)
No-op. Cannot change location or geometry.
Definition: overlayBar.h:78
std::set< std::string > myHiddenTabs
Definition: overlayBar.h:148
std::set< std::string > myHideTabs
Definition: overlayBar.h:147
makVrv::DtDe & myDe
Definition: overlayBar.h:172
QAction * myHideAll
Definition: overlayBar.h:138
virtual void selectPage(const std::string &pageClassName)
Implement selecting a page by name.
Definition: overlayBar.h:93
This class implements an overlay bar which will show overlay layers on a bar strip and scroll arrows ...
Definition: overlayBar.h:39
The Qt main window.
Definition: DtQtDeMainWindow.h:40
std::map< std::string, QCheckBox * > myVisibilityStates
Definition: overlayBar.h:149

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)