VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtQtPageDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCoreQt/vrvCoreQt.h>
13 #include <vrvCoreQt/DtDockable.h>
14 
15 #include <QtWidgets/QDialog>
16 #include <QtWidgets/QTabWidget>
17 
18 class QDialogButtonBox;
19 class QFrame;
20 class QHBoxLayout;
21 class QLabel;
22 class QTabWidget;
23 class QVBoxLayout;
24 
25 namespace makVrv
26 {
30  {
31  Q_OBJECT
32 
33  public:
35  DtOrientedQTabWidget(QWidget *parent = nullptr);
36 
38  virtual ~DtOrientedQTabWidget();
39 
41  virtual void setTabBar(QTabBar* tabBar);
42 
45  virtual void setTabPosition(QTabWidget::TabPosition position);
46 
49  virtual void setTabIcon(int index, const QIcon & icon);
50 
55  virtual void setIconsPerpendicularToTab(bool);
56  virtual bool iconsPerpendicularToTab() const;
57 
58  protected:
62  virtual void rotateIconsIfNeeded();
63 
67  virtual void rotateIconIfNeeded(int index, int currentRotation);
68 
72  virtual void rotateIcon(int index, int degrees);
73 
76  virtual bool iconsNeedUpdate(int currentRotation) const;
77 
78  protected:
81  };
82 
83 
88  {
89  Q_OBJECT;
90  public:
91 
93  DtQtPageDialog(DtDe& de, const std::string& panelClassName,
94  QWidget* parent = 0);
95 
97  virtual ~DtQtPageDialog();
98 
99  virtual void setStatus(const QString& status);
100 
102  virtual void resume();
103 
105  virtual void hide();
106 
107  protected slots:
108 
109  virtual void onVisibilityChanged ( bool visible );
110  virtual void onCurrentChanged(int index);
111 
112  protected:
113 
115  virtual void changeVisibility(bool newVisibility);
116 
118  virtual void changeLocation(DtPageConfiguration::PageCollectionLocation location);
119 
121  virtual void changeFloatingGeometry(int px, int py, int width, int height);
122 
124  virtual void changeFloatingGeometry(const DtPageConfiguration::PageCollectionGeometry& geometry);
125 
127  virtual void changeDockedGeometry(int px, int py, int width, int height);
128 
130  virtual void changeDockedGeometry(const DtPageConfiguration::PageCollectionGeometry& geometry);
131 
133  virtual void addPageToGui(DtPage*);
134 
136  virtual void removePageFromGui(DtPage*);
137 
139  virtual void selectPageInGui(DtPage* page);
140 
142  virtual void closeEvent ( QCloseEvent * e );
143 
145  virtual void reject();
146 
148  void setupGui();
149 
150  protected:
153  virtual void keyPressEvent(QKeyEvent* e);
154 
155  protected:
156  QVBoxLayout* myMainLayout;
159  QHBoxLayout* myBottomLayout;
161  QDialogButtonBox* myCloseButton;
163 
165  };
166 }
167 
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
bool myIconsPerpendicularToTab
Definition: DtQtPageDialog.h:79
Contains makVrv::DtQtPageCollection class.
PageCollectionLocation
Definition: DtPageConfiguration.h:42
Definition: DtPageConfiguration.h:56
DtOrientedQTabWidget * myTabs
Definition: DtQtPageDialog.h:157
int myCurrentIconRotation
Definition: DtQtPageDialog.h:80
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
int myLastPageIndex
Definition: DtQtPageDialog.h:164
Contains DLL export macros.
The Qt Page Panel, is a generic docked widget that contains a number of DtPages that it displays indi...
Definition: DtQtPageDialog.h:87
QLabel * myStatusLabel
Definition: DtQtPageDialog.h:160
QFrame * myHorizontalLine
Definition: DtQtPageDialog.h:158
Contains makVrv::DtDockable class.
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:51
QDialogButtonBox * myCloseButton
Definition: DtQtPageDialog.h:161
QVBoxLayout * myMainLayout
Definition: DtQtPageDialog.h:156
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:76
QHBoxLayout * myBottomLayout
Definition: DtQtPageDialog.h:159
A specialized QTabWidget that supports re-orientating tab icons based on its tab bar&#39;s position based...
Definition: DtQtPageDialog.h:29
DtPage * myActivePage
Definition: DtQtPageDialog.h:162

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)