1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
vcmi/client/windows/settings/SettingsMainWindow.h

45 lines
1.4 KiB
C
Raw Normal View History

/*
* SettingsMainContainer.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
#include "gui/InterfaceObjectConfigurable.h"
2023-02-18 17:35:07 +02:00
class BattleInterface;
class CTabbedInt;
enum class EUserEvent;
2023-02-19 13:18:54 +02:00
/// <summary>
///Original H3 settings were replaced with this window in Github PR #1540. New options added are intended to be clientside settings.
///By design, most new options that alter gameplay UI from now on should be added to "gameTweaks" config key.
/// </summary>
2023-02-18 18:58:22 +02:00
class SettingsMainWindow : public InterfaceObjectConfigurable
{
private:
2023-02-12 16:49:17 +02:00
BattleInterface * parentBattleInterface;
std::shared_ptr<CTabbedInt> tabContentArea;
std::shared_ptr<CIntObject> createTab(size_t index);
void openTab(size_t index);
void close(); //TODO: copypaste of WindowBase::close(), consider changing Windowbase to IWindowbase with default close() implementation and changing WindowBase inheritance to CIntObject + IWindowBase
2023-02-12 13:05:12 +02:00
void closeAndPushEvent(EUserEvent code);
void loadGameButtonCallback();
void saveGameButtonCallback();
void quitGameButtonCallback();
void backButtonCallback();
void restartGameButtonCallback();
void mainMenuButtonCallback();
public:
2023-02-18 18:58:22 +02:00
SettingsMainWindow(BattleInterface * parentBattleInterface = nullptr);
};