Files
MuditaOS/module-apps/apps-common/widgets/ButtonTriState.hpp
Marcin Zieliński 5b88233d37 [MOS-791] Introduce tri-state switch widget
Introduced the new logic.

From now on, every button can be tri-state, that is,
OFF/ON/Transiting whereas the Transiting state is
marked with the 'cheking...' caption written on the
button.
2022-11-09 13:32:21 +01:00

37 lines
741 B
C++

// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include "Label.hpp"
namespace style
{
namespace buttonTriState
{
constexpr uint32_t w = 56;
constexpr uint32_t h = 32;
} // namespace buttonTriState
} // namespace style
namespace gui
{
class ButtonTriState : public Label
{
public:
enum class State
{
Transiting,
Off,
On
};
ButtonTriState(Item *parent, State state);
void switchState(State requestedState);
private:
std::string const transitingText;
State currentState;
};
} // namespace gui