// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #include "CheckBoxWithLabel.hpp" namespace gui { CheckBoxWithLabel::CheckBoxWithLabel(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h, const UTF8 &description, const std::function &navBarTemporaryMode, const std::function &navBarRestoreFromTemporaryMode, gui::nav_bar::Side textSide) : HBox{parent, x, y, w, h} { setEdges(gui::RectangleEdge::None); check = new gui::CheckBox(this, 0, 0, 0, 0, navBarTemporaryMode, navBarRestoreFromTemporaryMode, textSide); check->setAlignment(gui::Alignment(gui::Alignment::Horizontal::Center, gui::Alignment::Vertical::Center)); check->setMinimumSize(60, style::window::label::big_h); setChecked(true); label = new gui::Label(this, 0, 0, 0, 0, description); label->setEdges(RectangleEdge::None); label->setAlignment(gui::Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Center)); label->setMargins(gui::Margins(style::window::default_left_margin, 0, 0, 0)); label->setFont(style::window::font::big); label->setMinimumHeight(style::window::label::big_h); label->setMaximumWidth(style::window::default_body_width); focusChangedCallback = [&](Item &item) { if (focus) { label->setFont(style::window::font::bigbold); } else { label->setFont(style::window::font::big); } return true; }; resizeItems(); } bool CheckBoxWithLabel::isChecked() const { return check->isChecked(); } void CheckBoxWithLabel::setChecked(bool state) { check->setCheck(state); } } // namespace gui