Skip to content
LeviMC
English
AutoLightDark
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/screens/controllers/ClientInstanceScreenController.h"
7#include "mc/deps/core/file/PathBuffer.h"
8
9// auto generated forward declare list
10// clang-format off
14class UIPropertyBag;
15struct PhotoRecord;
16namespace Core { class Path; }
17namespace Json { class Value; }
18// clang-format on
19
21public:
22 // PortfolioScreenController inner types define
23 enum class PortfolioView : uchar {
24 Viewing = 0,
25 Picking = 1,
26 Exporting = 2,
27 };
28
29 using ImageMetaDataLoadorFunction = ::std::function<bool(::std::string&, ::Core::Path const&)>;
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PortfolioScreenManager>> mPortfolioScreenManager;
35 ::ll::TypedStorage<8, 24, ::std::vector<::Core::PathBuffer<::std::string>>> mScreenshots;
36 ::ll::TypedStorage<8, 24, ::std::vector<::PhotoRecord>> mPhotoRecords;
37 ::ll::TypedStorage<1, 1, ::PortfolioScreenController::PortfolioView> mCurrentView;
38 ::ll::TypedStorage<4, 4, int> mCurrentPage;
39 ::ll::TypedStorage<4, 4, int> mLastPage;
40 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ImageExportSubController>> mImageExportSubController;
41 ::ll::TypedStorage<8, 64, ::std::function<bool(::std::string&, ::Core::Path const&)>> mImageMetaDataLoader;
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 PortfolioScreenController();
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ~PortfolioScreenController() /*override*/ = default;
52
53 virtual void onOpen() /*override*/;
54
55 virtual void onTerminate() /*override*/;
56
57 virtual bool _isStillValid() const /*override*/;
58
59 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
60 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
65 MCNAPI explicit PortfolioScreenController(::std::shared_ptr<::ClientInstanceScreenModel> model);
66
67 MCNAPI void _createPhotoItem(uint64 index);
68
69 MCNAPI void _deletePhoto(uint64 index);
70
71 MCNAPI void _loadCaptionIfUnloaded(::PhotoRecord& record);
72
73 MCNAPI void _saveCaptions(bool forceSaveAll);
74 // NOLINTEND
75
76public:
77 // static functions
78 // NOLINTBEGIN
79 MCNAPI static int _getPickIndex(::UIPropertyBag& bag);
80 // NOLINTEND
81
82public:
83 // constructor thunks
84 // NOLINTBEGIN
85 MCNAPI void* $ctor(::std::shared_ptr<::ClientInstanceScreenModel> model);
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCNAPI void $onOpen();
92
93 MCNAPI void $onTerminate();
94
95 MCNAPI bool $_isStillValid() const;
96
97 MCNAPI void $addStaticScreenVars(::Json::Value& globalVars);
98 // NOLINTEND
99};
Definition ClientInstanceScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition Path.h:10
Definition ImageExportSubController.h:5
Definition Value.h:16
Definition PortfolioScreenController.h:5
MCAPI void $addStaticScreenVars(::Json::Value &globalVars)
static MCAPI int _getPickIndex(::UIPropertyBag &bag)
MCAPI void _saveCaptions(bool forceSaveAll)
MCAPI void * $ctor(::std::shared_ptr<::ClientInstanceScreenModel > model)
MCAPI void _deletePhoto(uint64 index)
MCAPI void _loadCaptionIfUnloaded(::PhotoRecord &record)
MCAPI bool $_isStillValid() const
MCAPI void _createPhotoItem(uint64 index)
Definition PortfolioScreenManager.h:5
Definition UIPropertyBag.h:5
STL namespace.
Definition PhotoRecord.h:5