VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDeMainWindow.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 #include <vrvCore/vrvCore.h>
12 
13 #include <vrvUtil/signalslib.h>
14 
15 #include <string>
16 
17 namespace makVrv
18 {
19  class DtDe;
20  class DtDeSplashScreen;
21 
25  {
26 
27  protected:
28 
30  DtDeMainWindow(DtDe& de);
31 
32  public:
34  virtual ~DtDeMainWindow();
35 
37  virtual void setApplicationTitle(const std::string& appName) = 0;
38 
40  virtual std::string applicationTitle() const = 0;
41 
43  virtual void setApplicationIcon(const std::string& iconName) = 0;
44 
46  virtual void setSplashScreen(DtDeSplashScreen* splashScreen) = 0;
47 
50  virtual void showBasedOnSettings() = 0;
51 
53  virtual void destroyWindow() = 0;
54 
56  virtual void quit() = 0;
57 
58  inline DtDe& de()
59  {
60  return myDe;
61  }
62 
63  // signal that the MAIN WINDOW has toggled full screen mode.
64  boost::signalslib::signal<void(bool)> signal_fullScreenModeChanged;
65 
66  protected:
67 
69 
70  };
71 
75  {
76 
77  public:
78 
79  static const std::string theMainWindowProviderRegistrationName;
80 
81  public:
82 
85 
87  virtual ~DtDeMainWindowProvider();
88 
91  static DtDeMainWindowProvider& instance(DtDe& de);
92 
94  static void registerInstance(DtDe& de, DtDeMainWindowProvider* instance);
95 
98  DtDeMainWindow& igMainWindow();
99 
100  protected:
101 
103  virtual DtDeMainWindow* createMainWindow(DtDe& de) = 0;
104 
105  protected:
106 
110 
111  };
112 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtDe & myDe
Definition: DtDeMainWindow.h:68
DtDe & myDe
Definition: DtDeMainWindow.h:107
The abstract main window provider.
Definition: DtDeMainWindow.h:74
Contains makVrv::DtVirtualBaseClass class.
boost::signalslib::signal< void(bool)> signal_fullScreenModeChanged
Definition: DtDeMainWindow.h:64
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDe & de()
Definition: DtDeMainWindow.h:58
bool myDestroyMainWindowFlag
Definition: DtDeMainWindow.h:109
The abstract main window class.
Definition: DtDeMainWindow.h:24
DtDeMainWindow * myMainWindow
Definition: DtDeMainWindow.h:108
The VR-Vantage Splash Screen Interface.
Definition: DtDeSplashScreen.h:34
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
static const std::string theMainWindowProviderRegistrationName
Definition: DtDeMainWindow.h:79
Contains DLL export macros.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)