VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtPageCollection.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
13 #include <vrvUtil/signalslib.h>
14 #include <string>
15 #include <vector>
16 
17 namespace makVrv
18 {
19  class DtDe;
20 
25  {
26  public:
27  typedef std::vector<std::string> PageClassList;
28 
31  DtPageCollection(DtDe& de, const std::string& collectionClassName);
32 
35  virtual ~DtPageCollection();
36 
38  const std::string& collectionClassName() const;
39 
41  const PageClassList& pageClasses() const;
42 
48  void show(const std::string& page = std::string(""));
49 
51  void hide();
52 
54  bool visible() const;
55 
58  virtual int tabIndex() const;
59 
61  virtual bool isTabbed() const;
62 
65 
67  void setLocation(DtPageConfiguration::PageCollectionLocation location);
68 
71 
73  void setFloatingGeometry( const DtPageConfiguration::PageCollectionGeometry& geometry );
74 
76  void setFloatingGeometry(int px, int py, int width, int height);
77 
79  virtual DtPageConfiguration::PageCollectionGeometry dockedGeometry();
80 
82  void setDockedGeometry( const DtPageConfiguration::PageCollectionGeometry& geometry );
83 
85  void setDockedGeometry(int px, int py, int width, int height);
86 
87  boost::signalslib::signal<void ()> signal_shown;
88  boost::signalslib::signal<void ()> signal_hidden;
89  boost::signalslib::signal<void (const std::string&)> signal_pageSelected;
90 
91  protected:
92 
94  virtual void changeVisibility(bool newVisibility) = 0;
95 
97  virtual void changeLocation(DtPageConfiguration::PageCollectionLocation) = 0;
98 
100  virtual void changeFloatingGeometry(int px, int py, int width, int height) = 0;
101 
103  virtual void changeFloatingGeometry(const DtPageConfiguration::PageCollectionGeometry& geometry) = 0;
104 
106  virtual void changeDockedGeometry(int px, int py, int width, int height) = 0;
107 
109  virtual void changeDockedGeometry(const DtPageConfiguration::PageCollectionGeometry& geometry) = 0;
110 
112  virtual void selectPage(const std::string& pageClassName) = 0;
113 
115  void addPageClass(const std::string& pageClassName);
116 
118  void removePageClass(const std::string& pageClassName);
119 
120  protected:
121 
123  std::string myClassName;
129  };
130 }
131 
std::string myClassName
Definition: DtPageCollection.h:123
DtPageConfiguration::PageCollectionGeometry myFloatingGeometry
Definition: DtPageCollection.h:127
std::vector< std::string > PageClassList
Definition: DtPageCollection.h:27
PageCollectionLocation
Definition: DtPageConfiguration.h:42
boost::signalslib::signal< void()> signal_hidden
Definition: DtPageCollection.h:88
bool myVisibility
Definition: DtPageCollection.h:124
Definition: DtPageConfiguration.h:56
PageClassList myPageClasses
Definition: DtPageCollection.h:125
boost::signalslib::signal< void()> signal_shown
Definition: DtPageCollection.h:87
Contains makVrv::DtPageConfiguration class.
DtPageConfiguration::PageCollectionLocation myLocation
Definition: DtPageCollection.h:126
boost::signalslib::signal< void(const std::string &)> signal_pageSelected
Definition: DtPageCollection.h:89
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
This class provides an interface to Page collection widgets. These widgets may be implemented as dock...
Definition: DtPageCollection.h:24
DtPageConfiguration::PageCollectionGeometry myDockedGeometry
Definition: DtPageCollection.h:128
DtDe & myDe
Definition: DtPageCollection.h:122
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
Contains DLL export macros.

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)