MeshLib C++ Docs
Loading...
Searching...
No Matches
MRSetupViewer.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRViewerFwd.h"
4#include <string>
5#include <filesystem>
6
7#include "MRPch/MRWinapi.h"
8
9namespace MR
10{
11
12class MRVIEWER_CLASS ViewerSetup
13{
14public:
16 ViewerSetup() = default;
17 ViewerSetup( const ViewerSetup & ) = default;
18 ViewerSetup( ViewerSetup && ) = default;
19
20 virtual ~ViewerSetup() = default;
21
23 MRVIEWER_API virtual void setupBasePlugins( Viewer* /*viewer*/ ) const;
24
26 virtual void setupCommonModifiers( Viewer* /*viewer*/ ) const {}
27
29 virtual void setupCommonPlugins( Viewer* /*viewer*/ ) const {}
30
32 MRVIEWER_API virtual void setupSettingsManager( Viewer* viewer, const std::string& appName ) const;
33
36 MRVIEWER_API virtual void setupConfiguration( Viewer* viewer ) const;
37
40 MRVIEWER_API virtual void setupExtendedLibraries() const;
41
43 MRVIEWER_API virtual void unloadExtendedLibraries() const;
44
45private:
46#ifndef __EMSCRIPTEN__
47 struct LoadedModule
48 {
49 std::filesystem::path filename;
50#if _WIN32
51 HMODULE module = nullptr;
52#else
53 void * module = nullptr;
54#endif
55 };
56 mutable std::vector<LoadedModule> loadedModules_;
57#endif // ifndef __EMSCRIPTEN__
58};
59
60} // namespace MR
Definition MRSetupViewer.h:13
virtual void setupCommonPlugins(Viewer *) const
Setups custom plugins to viewer.
Definition MRSetupViewer.h:29
virtual MRVIEWER_API void setupExtendedLibraries() const
ViewerSetup(const ViewerSetup &)=default
ViewerSetup(ViewerSetup &&)=default
virtual void setupCommonModifiers(Viewer *) const
Setups modifiers to Menu plugin if it is present in viewer.
Definition MRSetupViewer.h:26
virtual MRVIEWER_API void setupBasePlugins(Viewer *) const
Setups Menu Save and Open plugins.
virtual MRVIEWER_API void setupConfiguration(Viewer *viewer) const
virtual ~ViewerSetup()=default
ViewerSetup()=default
explicitly define ctors to avoid warning C5267: definition of implicit copy constructor is deprecated...
virtual MRVIEWER_API void setupSettingsManager(Viewer *viewer, const std::string &appName) const
Sets custom viewer settings manager to viewer.
virtual MRVIEWER_API void unloadExtendedLibraries() const
free all libraries loaded in setupExtendedLibraries()
Definition MRViewer.h:78