// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "CalculatorStyle.hpp" #include "MathOperationsBox.hpp" #include #include #include namespace gui { MathOperationsBox::MathOperationsBox( gui::Item *parent, int offsetTop, uint32_t width, uint32_t height, uint32_t cellWidth, uint32_t cellHeight) : GridLayout(parent, style::window::default_left_margin, offsetTop, width, height, {cellWidth, cellHeight}) { assert(parent != nullptr); parent->addWidget(this); grid.x = cellWidth; grid.y = cellHeight; fillInTheGrid(); } void MathOperationsBox::fillInTheGrid() { using namespace calc; std::array math_operations = { "", symbols::strings::plus, "", symbols::strings::multiplication, symbols::strings::equals, symbols::strings::division, "", symbols::strings::minus, ""}; for (const auto &symbol : math_operations) { auto cell = new Label(this); cell->setSize(grid.x, grid.y); cell->setAlignment(gui::Alignment(gui::Alignment::Horizontal::Center, gui::Alignment::Vertical::Center)); cell->setEdges(gui::RectangleEdge::None); cell->setText(symbol); cell->setFont(style::window::font::largelight); this->addWidget(cell); } } } // namespace gui