LeechCraft 0.6.70-17335-ge406ffdcaf
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
statesaver.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#pragma once
10
11#include <optional>
12#include <string>
13#include <variant>
14#include <QVector>
15#include "guiconfig.h"
16
17class QHeaderView;
18class QSplitter;
19
20namespace LC::Util
21{
22 class BaseSettingsManager;
23
24 struct Widths : QList<std::optional<int>>
25 {
26 using QList::QList;
27 };
28
29 struct Factors : QList<int>
30 {
31 using QList::QList;
32 };
33
34 using InitialDistr = std::variant<Widths, Factors>;
35
37 {
38 BaseSettingsManager& XSM_;
39 std::string Id_;
41 };
42
43 UTIL_GUI_API void SetupStateSaver (QSplitter&, const StateSaverParams&);
44
45 UTIL_GUI_API void SetupStateSaver (QHeaderView&, const StateSaverParams&);
46}
#define UTIL_GUI_API
Definition guiconfig.h:16
void SetupStateSaver(QSplitter &splitter, const StateSaverParams &params)
std::variant< Widths, Factors > InitialDistr
Definition statesaver.h:34
BaseSettingsManager & XSM_
Definition statesaver.h:38