mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-04-21 23:50:31 -04:00
56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include "Image.hpp"
|
|
#include "status-bar/StatusBarWidgetBase.hpp"
|
|
#include <EventStore.hpp>
|
|
|
|
namespace gui::status_bar
|
|
{
|
|
class SIMConfiguration : public StatusBarVisitor
|
|
{
|
|
public:
|
|
enum class DisplayMode
|
|
{
|
|
AnyState,
|
|
OnlyInactiveState
|
|
};
|
|
|
|
explicit SIMConfiguration(DisplayMode mode);
|
|
|
|
[[nodiscard]] DisplayMode getMode() const noexcept;
|
|
|
|
void visit([[maybe_unused]] gui::status_bar::SIM &widget) const override;
|
|
|
|
private:
|
|
DisplayMode mode;
|
|
};
|
|
|
|
class SIM : public StatusBarWidgetBase<Image>
|
|
{
|
|
Store::GSM::SIM current = Store::GSM::SIM::SIM_UNKNOWN;
|
|
SIMConfiguration::DisplayMode mode = SIMConfiguration::DisplayMode::AnyState;
|
|
friend class SIMConfiguration;
|
|
|
|
public:
|
|
SIM(Item *parent, uint32_t x, uint32_t y);
|
|
|
|
/// check if sim set in state -> if not -> show new sim
|
|
void update();
|
|
|
|
void show() override;
|
|
|
|
void acceptStatusBarVisitor(StatusBarVisitor &visitor) override;
|
|
};
|
|
|
|
class SIMDevelopersMode : public SIM
|
|
{
|
|
public:
|
|
SIMDevelopersMode(Item *parent, uint32_t x, uint32_t y);
|
|
|
|
void show() override;
|
|
};
|
|
} // namespace gui::status_bar
|