LeechCraft  0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
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 
17 class QHeaderView;
18 class QSplitter;
19 
20 namespace LC::Util
21 {
22  class BaseSettingsManager;
23 
24  struct Widths : QVector<std::optional<int>>
25  {
26  using QVector::QVector;
27  };
28 
29  struct Factors : QVector<int>
30  {
31  using QVector::QVector;
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 }
void SetupStateSaver(QSplitter &splitter, const StateSaverParams &params)
Definition: statesaver.cpp:96
BaseSettingsManager & XSM_
Definition: statesaver.h:38
std::variant< Widths, Factors > InitialDistr
Definition: statesaver.h:34
#define UTIL_GUI_API
Definition: guiconfig.h:16