VR-Forces 5.0.2 Developer's Guide
 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 
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 updateIconsForMode();
64  virtual void updateIconForMode(int index, bool hidden);
65  virtual void showEvent(QShowEvent*);
66  virtual void hideEvent(QHideEvent*);
67 
68  virtual void finalizeSetup();
69  virtual void createRightClickMenu();
70 
71  virtual void guiSettingsChanged(const DtVrfGuiSettingsRecord&);
72  virtual void changeVisibility(bool);
73 
74  virtual void slot_mainWidgetSet(QWidget*);
75  virtual void slot_changingMainWidget(QWidget* old, QWidget* aboutToBe);
76 
78 
81 
83  virtual void changeFloatingGeometry(int px, int py, int width, int height) {};
84 
87 
89  virtual void changeDockedGeometry(int px, int py, int width, int height) {};
90 
93 
95  virtual void selectPage(const std::string& pageClassName) {};
96 
98  virtual void addPageToGui(makVrv::DtPage*) {};
99 
102 
104  virtual void selectPageInGui(makVrv::DtPage* page) {};
105 
106  virtual void slot_layerAdded(const std::string&);
107  virtual void slot_layerRemoved(const std::string&);
108  virtual void slot_layerRenamed(const std::string&, const std::string&);
109  virtual void slot_layerVisibilityChanged(const std::string&, int);
110  virtual void slot_overlayVisibilityChanged(const std::string&, bool);
111 
112  virtual void mousePressEvent(QMouseEvent *event);
113 
114  virtual void slot_overlayHidden(const std::string& s, bool b);
115 
117  virtual int positionOfTab(const std::string&) const;
118 
120  virtual int indexOfTab(const std::string&) const;
121  virtual std::string overlayName(int index) const;
122  virtual void slot_defaultHiddenChanged(const std::string& layer, bool b);
123 
124  protected slots:
125  virtual void onShowHideLayer();
126  virtual void onLockUnlockLayer();
127  virtual void onHideAllButThis();
128  virtual void onShowAllLayers();
129  virtual void onHideAllLayers();
130  virtual void onSaveOverlayAsShapeFiles();
131  virtual void onImportShapeFileOntoOverlay();
132  virtual void onChangeDefaultHidden(bool);
133  virtual void onChangeLayerVisibility();
134  virtual void updateCheckBoxSelectedState(int);
135 
136  public:
146 
147  protected:
150  QSize myIconSize;
152  std::set<std::string> myHideTabs;
153  std::set<std::string> myHiddenTabs;
154  std::map<std::string, QCheckBox*> myVisibilityStates;
155  };
156 
159  {
160  public:
163 
165  virtual ~DtOverlayBarCreator();
166 
168  static DtOverlayBarCreator& instance(makVrv::DtDe&);
169 
171  static void registerInstance(makVrv::DtDe&, DtOverlayBarCreator*);
172 
174  virtual DtOverlayBar* create(const std::string& name, QWidget* parent);
175 
176  protected:
178  };
179 }
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:23
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
virtual void addPageToGui(makVrv::DtPage *)
Implement adding the page to the GUI.
Definition: overlayBar.h:98
QMenu * myRightClickMenu
Definition: overlayBar.h:137
Contains makVrv::DtQtPageCollection class.
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
PageCollectionLocation
Definition: DtPageConfiguration.h:42
QAction * myShapeFilesImport
Definition: overlayBar.h:144
Definition: DtPageConfiguration.h:56
QAction * myShowHide
Definition: overlayBar.h:138
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:83
virtual void changeDockedGeometry(const makVrv::DtPageConfiguration::PageCollectionGeometry &geometry)
Implement changing the docked geometry of the collection.
Definition: overlayBar.h:92
QAction * myHideAllButThis
Definition: overlayBar.h:140
QSize myIconSize
Definition: overlayBar.h:150
virtual void selectPageInGui(makVrv::DtPage *page)
Implement selecting a page in the GUI.
Definition: overlayBar.h:104
virtual void removePageFromGui(makVrv::DtPage *)
Implement removing a page from the GUI.
Definition: overlayBar.h:101
Contains makVrv::DtVirtualBaseClass class.
virtual void changeFloatingGeometry(const makVrv::DtPageConfiguration::PageCollectionGeometry &geometry)
Implement changing the floating geometry of the collection.
Definition: overlayBar.h:86
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QAction * mySaveAsShapeFiles
Definition: overlayBar.h:143
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:89
Creator for the overlay bar.
Definition: overlayBar.h:158
int myRightClickMenuIndex
Definition: overlayBar.h:151
int myLastSelectedIndex
Definition: overlayBar.h:148
makVrv::DtSignalConnectionManager myConnections
Definition: overlayBar.h:149
Base class to provide boost signal/slot management.
QAction * mySetDefaultHidden
Definition: overlayBar.h:145
QAction * myShowAll
Definition: overlayBar.h:141
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
QAction * myLockUnlock
Definition: overlayBar.h:139
virtual void changeLocation(makVrv::DtPageConfiguration::PageCollectionLocation)
No-op. Cannot change location or geometry.
Definition: overlayBar.h:80
std::set< std::string > myHiddenTabs
Definition: overlayBar.h:153
std::set< std::string > myHideTabs
Definition: overlayBar.h:152
makVrv::DtDe & myDe
Definition: overlayBar.h:177
QAction * myHideAll
Definition: overlayBar.h:142
virtual void selectPage(const std::string &pageClassName)
Implement selecting a page by name.
Definition: overlayBar.h:95
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. There will be only one of these per DtDe instance. Note, this window will be dest...
Definition: DtQtDeMainWindow.h:43
std::map< std::string, QCheckBox * > myVisibilityStates
Definition: overlayBar.h:154

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)