LeviLamina
Loading...
Searching...
No Matches
PortfolioScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/ViewRequest.h"
7#include "mc/client/gui/screens/controllers/ClientInstanceScreenController.h"
8#include "mc/deps/core/file/PathBuffer.h"
9
10// auto generated forward declare list
11// clang-format off
15class UIPropertyBag;
16struct PhotoRecord;
17namespace Core { class Path; }
18namespace Json { class Value; }
19// clang-format on
20
22public:
23 // PortfolioScreenController inner types define
24 enum class PortfolioView : uchar {
25 Viewing = 0,
26 Picking = 1,
27 Exporting = 2,
28 };
29
30 using ImageMetaDataLoadorFunction = ::std::function<bool(::std::string&, ::Core::Path const&)>;
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PortfolioScreenManager>> mPortfolioScreenManager;
36 ::ll::TypedStorage<8, 24, ::std::vector<::Core::PathBuffer<::std::string>>> mScreenshots;
37 ::ll::TypedStorage<8, 24, ::std::vector<::PhotoRecord>> mPhotoRecords;
38 ::ll::TypedStorage<1, 1, ::PortfolioScreenController::PortfolioView> mCurrentView;
39 ::ll::TypedStorage<4, 4, int> mCurrentPage;
40 ::ll::TypedStorage<4, 4, int> mLastPage;
41 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ImageExportSubController>> mImageExportSubController;
42 ::ll::TypedStorage<8, 64, ::std::function<bool(::std::string&, ::Core::Path const&)>> mImageMetaDataLoader;
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 PortfolioScreenController();
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual ~PortfolioScreenController() /*override*/;
53
54 virtual void onOpen() /*override*/;
55
56 virtual void onTerminate() /*override*/;
57
58 virtual bool _isStillValid() const /*override*/;
59
60 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI explicit PortfolioScreenController(::std::shared_ptr<::ClientInstanceScreenModel> model);
67
68 MCAPI void _addPhotoPage(::Core::PathBuffer<::std::string> const& photoPath);
69
70 MCAPI void _buildPhotoRecords();
71
72 MCAPI void _createPhotoItem(uint64 index);
73
74 MCAPI void _deletePhoto(uint64 index);
75
76 MCAPI int _getPickIndex(::UIPropertyBag& bag);
77
78 MCAPI ::ui::ViewRequest _handlePortfolioExport();
79
80 MCAPI void _initScreenControllerProxy();
81
82 MCAPI void _loadCaptionIfUnloaded(::PhotoRecord& record);
83
84 MCAPI void _registerBindings();
85
86 MCAPI void _registerEventHandlers();
87
88 MCAPI void _saveCaptions(bool forceSaveAll);
89 // NOLINTEND
90
91public:
92 // constructor thunks
93 // NOLINTBEGIN
94 MCAPI void* $ctor(::std::shared_ptr<::ClientInstanceScreenModel> model);
95 // NOLINTEND
96
97public:
98 // destructor thunk
99 // NOLINTBEGIN
100 MCAPI void $dtor();
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI void $onOpen();
107
108 MCAPI void $onTerminate();
109
110 MCFOLD bool $_isStillValid() const;
111
112 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
113 // NOLINTEND
114
115public:
116 // vftables
117 // NOLINTBEGIN
118 MCNAPI static void** $vftableForScreenController();
119
121 // NOLINTEND
122};
Definition ClientInstanceScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition Path.h:17
Definition ImageExportSubController.h:5
Definition Value.h:16
Definition PortfolioScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition PortfolioScreenManager.h:5
Definition UIPropertyBag.h:5
Definition PhotoRecord.h:5