// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "CustomCheckBoxWithLabel.hpp" #include "AlarmClockStyle.hpp" #include #include namespace gui { CustomCheckBoxWithLabel::CustomCheckBoxWithLabel(const std::string &description, bool initialState, const std::function &navBarTemporaryMode, const std::function &navBarRestoreFromTemporaryMode) : initialState(initialState) { setEdges(RectangleEdge::None); setMinimumSize(style::window::default_body_width, style::window::label::big_h); setMargins(gui::Margins(style::widgets::leftMargin, style::margins::big, 0, 0)); checkBoxWithLabel = new gui::CheckBoxWithLabel( this, 0, 0, 0, 0, description, navBarTemporaryMode, navBarRestoreFromTemporaryMode, nav_bar::Side::Left); inputCallback = [&]([[maybe_unused]] Item &item, const InputEvent &event) { return checkBoxWithLabel->onInput(event); }; focusChangedCallback = [&](Item &item) { setFocusItem(focus ? checkBoxWithLabel : nullptr); return true; }; dimensionChangedCallback = [&](gui::Item &, const BoundingBox &newDim) -> bool { checkBoxWithLabel->setArea({0, 0, newDim.w, newDim.h}); checkBoxWithLabel->setChecked(this->initialState); return true; }; } bool CustomCheckBoxWithLabel::isChecked() { return checkBoxWithLabel->isChecked(); } } // namespace gui