Files
MuditaOS/module-apps/windows/OptionSetting.hpp
Tomek Sobkowiak 4bc7df5f4a [EDG-4049] Add locked screen settings window with ON/OFF (#900)
* [EDG-4206] Add locked screen and integrate with ON/OFF widget
2020-11-02 18:24:00 +01:00

42 lines
1.2 KiB
C++

// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include "OptionWindow.hpp"
#include "Application.hpp"
namespace gui
{
enum class RightItem
{
Disabled,
ArrowBlack,
ArrowWhite,
On,
Off,
Bt,
Checked,
};
class OptionSettings : public option::Base
{
private:
UTF8 text;
std::function<bool(Item &)> activatedCallback = nullptr;
std::function<bool(Item &)> focusCb = nullptr;
AppWindow *app = nullptr;
RightItem rightItem = RightItem::Disabled;
public:
OptionSettings(const UTF8 text,
std::function<bool(Item &)> cb,
std::function<bool(Item &)> cbFocus,
AppWindow *app,
RightItem rightItem = RightItem::Disabled)
: text(text), activatedCallback(std::move(cb)), focusCb(std::move(cbFocus)), app(app), rightItem(rightItem)
{}
[[nodiscard]] auto build() const -> Item * override;
};
} // namespace gui