VR-Forces 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  class DtPage;
21 
26  {
27  public:
28  typedef std::vector<std::string> PageClassList;
29 
32  DtPageCollection(DtDe& de, const std::string& collectionClassName);
33 
36  virtual ~DtPageCollection();
37 
39  virtual DtPage* findPage(const std::string& pageClassName) = 0;
40 
42  virtual const DtPage* findPage(const std::string& pageClassName) const = 0;
43 
45  const std::string& collectionClassName() const;
46 
48  const PageClassList& pageClasses() const;
49 
55  void show(const std::string& page = std::string(""));
56 
58  void hide();
59 
61  bool visible() const;
62 
65  virtual int tabIndex() const;
66 
68  virtual bool isTabbed() const;
69 
72 
74  void setLocation(DtPageConfiguration::PageCollectionLocation location);
75 
78 
80  void setFloatingGeometry( const DtPageConfiguration::PageCollectionGeometry& geometry );
81 
83  void setFloatingGeometry(int px, int py, int width, int height);
84 
86  virtual DtPageConfiguration::PageCollectionGeometry dockedGeometry();
87 
89  void setDockedGeometry( const DtPageConfiguration::PageCollectionGeometry& geometry );
90 
92  void setDockedGeometry(int px, int py, int width, int height);
93 
94  boost::signalslib::signal<void ()> signal_shown;
95  boost::signalslib::signal<void ()> signal_hidden;
96  boost::signalslib::signal<void (const std::string&)> signal_pageSelected;
97 
98  protected:
99 
101  virtual void changeVisibility(bool newVisibility) = 0;
102 
104  virtual void changeLocation(DtPageConfiguration::PageCollectionLocation) = 0;
105 
107  virtual void changeFloatingGeometry(int px, int py, int width, int height) = 0;
108 
110  virtual void changeFloatingGeometry(const DtPageConfiguration::PageCollectionGeometry& geometry) = 0;
111 
113  virtual void changeDockedGeometry(int px, int py, int width, int height) = 0;
114 
116  virtual void changeDockedGeometry(const DtPageConfiguration::PageCollectionGeometry& geometry) = 0;
117 
119  virtual void selectPage(const std::string& pageClassName) = 0;
120 
122  void addPageClass(const std::string& pageClassName);
123 
125  void removePageClass(const std::string& pageClassName);
126 
127  protected:
128 
130  std::string myClassName;
136  };
137 }
138 
std::string myClassName
Definition: DtPageCollection.h:130
DtPageConfiguration::PageCollectionGeometry myFloatingGeometry
Definition: DtPageCollection.h:134
std::vector< std::string > PageClassList
Definition: DtPageCollection.h:28
PageCollectionLocation
Definition: DtPageConfiguration.h:42
boost::signalslib::signal< void()> signal_hidden
Definition: DtPageCollection.h:95
bool myVisibility
Definition: DtPageCollection.h:131
Definition: DtPageConfiguration.h:56
PageClassList myPageClasses
Definition: DtPageCollection.h:132
boost::signalslib::signal< void()> signal_shown
Definition: DtPageCollection.h:94
Contains makVrv::DtPageConfiguration class.
DtPageConfiguration::PageCollectionLocation myLocation
Definition: DtPageCollection.h:133
boost::signalslib::signal< void(const std::string &)> signal_pageSelected
Definition: DtPageCollection.h:96
#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:25
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
DtPageConfiguration::PageCollectionGeometry myDockedGeometry
Definition: DtPageCollection.h:135
DtDe & myDe
Definition: DtPageCollection.h:129
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:72
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)