From 84095629df05c8bc73c80ae2c3d519424c78e60d Mon Sep 17 00:00:00 2001 From: Przemyslaw Brudny Date: Thu, 25 Feb 2021 18:05:08 +0100 Subject: [PATCH] [EGD-5883] Added generic button popups attach to applications Created structure and implementation for popup windows attachments on button actions into applications. Moved Volume window to fit into solution. BarGraph refactored. --- module-apps/Application.cpp | 34 +++++++++- module-apps/Application.hpp | 8 +++ module-apps/CMakeLists.txt | 3 +- .../ApplicationAlarmClock.cpp | 2 + .../ApplicationAntenna.cpp | 2 + .../ApplicationCalculator.cpp | 2 + .../ApplicationCalendar.cpp | 2 + .../application-call/ApplicationCall.cpp | 2 + .../ApplicationCallLog.cpp | 2 + .../application-clock/ApplicationClock.cpp | 2 + .../ApplicationDesktop.cpp | 2 + .../ApplicationMeditation.cpp | 2 + .../ApplicationMessages.cpp | 2 + .../ApplicationMusicPlayer.cpp | 2 + .../application-notes/ApplicationNotes.cpp | 2 + .../ApplicationOnBoarding.cpp | 2 + .../ApplicationPhonebook.cpp | 2 + .../ApplicationSettings.cpp | 2 + .../widgets/SpinBox.cpp | 8 +-- .../ApplicationSettings.cpp | 2 + module-apps/popups/Popups.hpp | 28 ++++++++ .../{windows => popups}/VolumeWindow.cpp | 35 ++++++++-- .../{windows => popups}/VolumeWindow.hpp | 4 +- module-apps/widgets/BarGraph.cpp | 64 ++++--------------- module-apps/widgets/BarGraph.hpp | 4 -- module-apps/windows/AppWindow.cpp | 6 +- module-apps/windows/BrightnessWindow.cpp | 9 ++- module-gui/gui/widgets/ProgressBar.cpp | 10 --- module-gui/gui/widgets/ProgressBar.hpp | 3 - 29 files changed, 160 insertions(+), 88 deletions(-) create mode 100644 module-apps/popups/Popups.hpp rename module-apps/{windows => popups}/VolumeWindow.cpp (72%) rename module-apps/{windows => popups}/VolumeWindow.hpp (95%) diff --git a/module-apps/Application.cpp b/module-apps/Application.cpp index 67a6bb47f..9c41d6aef 100644 --- a/module-apps/Application.cpp +++ b/module-apps/Application.cpp @@ -260,8 +260,8 @@ namespace app } else if (auto msg = dynamic_cast(msgl)) { if (!msg->muted) { - // Popup should show up - LOG_ERROR("Popup with volume level %s", std::to_string(msg->volume).c_str()); + handleVolumePopup(); + return msgHandled(); } } return msgNotHandled(); @@ -629,6 +629,36 @@ namespace app sender->bus.sendUnicast(msg, application); } + void Application::attachPopups(const std::vector &popupsList) + { + using namespace gui::popup; + for (auto popup : popupsList) { + switch (popup) { + case ID::Volume: + windowsFactory.attach(window::volume_window, [](Application *app, const std::string &name) { + return std::make_unique(app, window::volume_window); + }); + break; + case ID::PhoneModes: + case ID::Brightness: + break; + } + } + } + + bool Application::handleVolumePopup() + { + using namespace gui::popup; + if (getCurrentWindow()->getName() == window::volume_window) { + return true; + } + else if (windowsFactory.isRegistered(window::volume_window)) { + switchWindow(window::volume_window); + return true; + } + return false; + } + bool Application::popToWindow(const std::string &window) { if (window == gui::name::window::no_window) { diff --git a/module-apps/Application.hpp b/module-apps/Application.hpp index 2fc620483..5b9211bbb 100644 --- a/module-apps/Application.hpp +++ b/module-apps/Application.hpp @@ -26,6 +26,7 @@ #include // for move, pair #include // for vector #include "TopBarManager.hpp" +#include "popups/Popups.hpp" #include "WindowsFactory.hpp" #include "WindowsStack.hpp" @@ -324,6 +325,13 @@ namespace app WindowsStack windowsStack; WindowsFactory windowsFactory; + /// Method used to attach popups windows to application + void attachPopups(const std::vector &popupsList); + + /// Individual popups handlers + public: + bool handleVolumePopup(); + public: /// @ingrup AppWindowStack /// get to the first time we entered this &window diff --git a/module-apps/CMakeLists.txt b/module-apps/CMakeLists.txt index d9a0b2fdc..e382a97bc 100644 --- a/module-apps/CMakeLists.txt +++ b/module-apps/CMakeLists.txt @@ -28,7 +28,7 @@ set( SOURCES "windows/NoEvents.cpp" "widgets/ButtonOnOff.cpp" "widgets/InputBox.cpp" - "windows/VolumeWindow.cpp" + "popups/VolumeWindow.cpp" "windows/BrightnessWindow.cpp" "windows/HomeModesWindow.cpp" "widgets/BrightnessBox.cpp" @@ -146,6 +146,7 @@ target_include_directories(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/messages ${CMAKE_CURRENT_SOURCE_DIR}/windows + ${CMAKE_CURRENT_SOURCE_DIR}/popups ${CMAKE_CURRENT_SOURCE_DIR}/options ${CMAKE_CURRENT_SOURCE_DIR}/options/type ${CMAKE_BINARY_DIR} diff --git a/module-apps/application-alarm-clock/ApplicationAlarmClock.cpp b/module-apps/application-alarm-clock/ApplicationAlarmClock.cpp index 1e20fc56f..bf6e82d4d 100644 --- a/module-apps/application-alarm-clock/ApplicationAlarmClock.cpp +++ b/module-apps/application-alarm-clock/ApplicationAlarmClock.cpp @@ -107,6 +107,8 @@ namespace app windowsFactory.attach( style::alarmClock::window::name::dialogYesNo, [](Application *app, const std::string &name) { return std::make_unique(app, name); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationAlarmClock::destroyUserInterface() diff --git a/module-apps/application-antenna/ApplicationAntenna.cpp b/module-apps/application-antenna/ApplicationAntenna.cpp index 0869b221c..422298e8b 100644 --- a/module-apps/application-antenna/ApplicationAntenna.cpp +++ b/module-apps/application-antenna/ApplicationAntenna.cpp @@ -175,6 +175,8 @@ namespace app windowsFactory.attach(algo_window, [](Application *app, const std::string &name) { return std::make_unique(app); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationAntenna::destroyUserInterface() diff --git a/module-apps/application-calculator/ApplicationCalculator.cpp b/module-apps/application-calculator/ApplicationCalculator.cpp index eab5a2457..77aa49edd 100644 --- a/module-apps/application-calculator/ApplicationCalculator.cpp +++ b/module-apps/application-calculator/ApplicationCalculator.cpp @@ -42,6 +42,8 @@ namespace app windowsFactory.attach(gui::name::window::main_window, [](Application *app, const std::string &name) { return std::make_unique(app, name); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationCalculator::destroyUserInterface() diff --git a/module-apps/application-calendar/ApplicationCalendar.cpp b/module-apps/application-calendar/ApplicationCalendar.cpp index dab434cb1..bc3f34ad7 100644 --- a/module-apps/application-calendar/ApplicationCalendar.cpp +++ b/module-apps/application-calendar/ApplicationCalendar.cpp @@ -142,6 +142,8 @@ namespace app windowsFactory.attach(event_reminder_window, [](Application *app, const std::string &name) { return std::make_unique(app, event_reminder_window); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationCalendar::destroyUserInterface() diff --git a/module-apps/application-call/ApplicationCall.cpp b/module-apps/application-call/ApplicationCall.cpp index 933d92bd7..4bc98f1c3 100644 --- a/module-apps/application-call/ApplicationCall.cpp +++ b/module-apps/application-call/ApplicationCall.cpp @@ -71,6 +71,8 @@ namespace app showNotification(buttonAction, iconNoSim, textNoSim); return actionHandled(); }); + + attachPopups({gui::popup::ID::Volume}); } // number of seconds after end call to switch back to previous application diff --git a/module-apps/application-calllog/ApplicationCallLog.cpp b/module-apps/application-calllog/ApplicationCallLog.cpp index 84086117e..d170abfb0 100644 --- a/module-apps/application-calllog/ApplicationCallLog.cpp +++ b/module-apps/application-calllog/ApplicationCallLog.cpp @@ -105,6 +105,8 @@ namespace app windowsFactory.attach(calllog::settings::DialogYesNoStr, [](Application *app, const std::string &name) { return std::make_unique(app, name); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationCallLog::destroyUserInterface() diff --git a/module-apps/application-clock/ApplicationClock.cpp b/module-apps/application-clock/ApplicationClock.cpp index fc46b9280..7805e9837 100644 --- a/module-apps/application-clock/ApplicationClock.cpp +++ b/module-apps/application-clock/ApplicationClock.cpp @@ -85,6 +85,8 @@ namespace app windowsFactory.attach(gui::name::window::main_window, [](Application *app, const std::string &name) { return std::make_unique(app, name); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationClock::destroyUserInterface() diff --git a/module-apps/application-desktop/ApplicationDesktop.cpp b/module-apps/application-desktop/ApplicationDesktop.cpp index 8fb1aa81a..9ea8eab23 100644 --- a/module-apps/application-desktop/ApplicationDesktop.cpp +++ b/module-apps/application-desktop/ApplicationDesktop.cpp @@ -430,6 +430,8 @@ namespace app windowsFactory.attach(desktop_mmi_internal, [](Application *app, const std::string newname) { return std::make_unique(app, desktop_mmi_internal); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationDesktop::destroyUserInterface() diff --git a/module-apps/application-meditation/ApplicationMeditation.cpp b/module-apps/application-meditation/ApplicationMeditation.cpp index 2f930acbb..a23484bf3 100644 --- a/module-apps/application-meditation/ApplicationMeditation.cpp +++ b/module-apps/application-meditation/ApplicationMeditation.cpp @@ -52,6 +52,8 @@ namespace app windowsFactory.attach(app::window::name::meditation_preparation, [](Application *app, const std::string &name) { return std::make_unique(app); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationMeditation::destroyUserInterface() diff --git a/module-apps/application-messages/ApplicationMessages.cpp b/module-apps/application-messages/ApplicationMessages.cpp index 59c69c90f..ebc5b0e40 100644 --- a/module-apps/application-messages/ApplicationMessages.cpp +++ b/module-apps/application-messages/ApplicationMessages.cpp @@ -146,6 +146,8 @@ namespace app windowsFactory.attach(gui::name::window::search_results, [](Application *app, const std::string &name) { return std::make_unique(app); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationMessages::destroyUserInterface() diff --git a/module-apps/application-music-player/ApplicationMusicPlayer.cpp b/module-apps/application-music-player/ApplicationMusicPlayer.cpp index a7d90bec3..a7f8aa692 100644 --- a/module-apps/application-music-player/ApplicationMusicPlayer.cpp +++ b/module-apps/application-music-player/ApplicationMusicPlayer.cpp @@ -66,6 +66,8 @@ namespace app windowsFactory.attach(gui::name::window::main_window, [](Application *app, const std::string &name) { return std::make_unique(app); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationMusicPlayer::destroyUserInterface() diff --git a/module-apps/application-notes/ApplicationNotes.cpp b/module-apps/application-notes/ApplicationNotes.cpp index a50b75f4c..b7eb97d6d 100644 --- a/module-apps/application-notes/ApplicationNotes.cpp +++ b/module-apps/application-notes/ApplicationNotes.cpp @@ -121,6 +121,8 @@ namespace app windowsFactory.attach( utils::localize.get("app_phonebook_options_title"), [](Application *app, const std::string &name) { return std::make_unique(app, name); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationNotes::destroyUserInterface() diff --git a/module-apps/application-onboarding/ApplicationOnBoarding.cpp b/module-apps/application-onboarding/ApplicationOnBoarding.cpp index 9f02ee128..6322ce3d1 100644 --- a/module-apps/application-onboarding/ApplicationOnBoarding.cpp +++ b/module-apps/application-onboarding/ApplicationOnBoarding.cpp @@ -105,6 +105,8 @@ namespace app std::move(eulaRepository)); return std::make_unique(app, std::move(presenter)); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationOnBoarding::destroyUserInterface() diff --git a/module-apps/application-phonebook/ApplicationPhonebook.cpp b/module-apps/application-phonebook/ApplicationPhonebook.cpp index 7f5989cc1..620e1b286 100644 --- a/module-apps/application-phonebook/ApplicationPhonebook.cpp +++ b/module-apps/application-phonebook/ApplicationPhonebook.cpp @@ -146,6 +146,8 @@ namespace app windowsFactory.attach(gui::window::name::new_contact, [](Application *app, const std::string &name) { return std::make_unique(app); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationPhonebook::destroyUserInterface() diff --git a/module-apps/application-settings-new/ApplicationSettings.cpp b/module-apps/application-settings-new/ApplicationSettings.cpp index e9db5d66d..0ceaf40a5 100644 --- a/module-apps/application-settings-new/ApplicationSettings.cpp +++ b/module-apps/application-settings-new/ApplicationSettings.cpp @@ -435,6 +435,8 @@ namespace app windowsFactory.attach(gui::window::name::options_quote, [](Application *app, const std::string &name) { return std::make_unique(app, std::move(settings::getQuotesModel(app))); }); + + attachPopups({gui::popup::ID::Volume}); } void ApplicationSettingsNew::destroyUserInterface() diff --git a/module-apps/application-settings-new/widgets/SpinBox.cpp b/module-apps/application-settings-new/widgets/SpinBox.cpp index 655f8f768..f7d73ce28 100644 --- a/module-apps/application-settings-new/widgets/SpinBox.cpp +++ b/module-apps/application-settings-new/widgets/SpinBox.cpp @@ -39,15 +39,15 @@ namespace gui return false; } - int update = 0; + int update = bar->getValue(); if (event.is(KeyCode::KEY_LEFT)) { - update = -1; + update--; } else if (event.is(KeyCode::KEY_RIGHT)) { - update = 1; + update++; } - if (update != 0 && bar->update(update)) { + if (update >= 0 && bar->setValue(update)) { updateBarCallback(bar->getValue()); return true; } diff --git a/module-apps/application-settings/ApplicationSettings.cpp b/module-apps/application-settings/ApplicationSettings.cpp index 4b34f9625..7152efa3e 100644 --- a/module-apps/application-settings/ApplicationSettings.cpp +++ b/module-apps/application-settings/ApplicationSettings.cpp @@ -163,6 +163,8 @@ namespace app return std::make_unique(app); }); } + + attachPopups({gui::popup::ID::Volume}); } void ApplicationSettings::destroyUserInterface() diff --git a/module-apps/popups/Popups.hpp b/module-apps/popups/Popups.hpp new file mode 100644 index 000000000..d7577afe5 --- /dev/null +++ b/module-apps/popups/Popups.hpp @@ -0,0 +1,28 @@ +// 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 + +#include + +namespace gui +{ + namespace popup + { + enum class ID + { + Volume, + PhoneModes, + Brightness, + }; + + namespace window + { + inline constexpr auto volume_window = "VolumePopup"; + inline constexpr auto phone_modes_window = "PhoneModesPopup"; + inline constexpr auto brightness_window = "BrightnessPopup"; + } // namespace window + } // namespace popup +} // namespace gui diff --git a/module-apps/windows/VolumeWindow.cpp b/module-apps/popups/VolumeWindow.cpp similarity index 72% rename from module-apps/windows/VolumeWindow.cpp rename to module-apps/popups/VolumeWindow.cpp index 3e045e0bf..beb9508c6 100644 --- a/module-apps/windows/VolumeWindow.cpp +++ b/module-apps/popups/VolumeWindow.cpp @@ -56,7 +56,9 @@ namespace gui } void VolumeWindow::onBeforeShow(ShowMode mode, SwitchData *data) - {} + { + updateGraph(); + } bool VolumeWindow::onInput(const gui::InputEvent &inputEvent) { @@ -64,14 +66,33 @@ namespace gui return false; } - if (inputEvent.keyCode == gui::KeyCode::KEY_VOLUP) { - volumeBar->update(1); - } - - if (inputEvent.keyCode == gui::KeyCode::KEY_VOLDN) { - volumeBar->update(-1); + if ((inputEvent.isShortPress())) { + switch (inputEvent.keyCode) { + case KeyCode::KEY_VOLUP: { + application->increaseCurrentVolume(); + updateGraph(); + return true; + } + case KeyCode::KEY_VOLDN: { + application->decreaseCurrentVolume(); + updateGraph(); + return true; + } + case KeyCode::KEY_RF: { + application->returnToPreviousWindow(); + return true; + } + default: + break; + } } return AppWindow::onInput(inputEvent); } + + void VolumeWindow::updateGraph() + { + application->getCurrentVolume(Volume); + volumeBar->setValue(Volume); + } } // namespace gui diff --git a/module-apps/windows/VolumeWindow.hpp b/module-apps/popups/VolumeWindow.hpp similarity index 95% rename from module-apps/windows/VolumeWindow.hpp rename to module-apps/popups/VolumeWindow.hpp index ebf208c4d..260788bf6 100644 --- a/module-apps/windows/VolumeWindow.hpp +++ b/module-apps/popups/VolumeWindow.hpp @@ -24,10 +24,12 @@ namespace gui { class VolumeWindow : public AppWindow { - protected: Label *volumeText = nullptr; VBarGraph *volumeBar = nullptr; + audio::Volume Volume = 0; + + void updateGraph(); public: VolumeWindow(app::Application *app, const std::string &name); diff --git a/module-apps/widgets/BarGraph.cpp b/module-apps/widgets/BarGraph.cpp index 170653854..714aa4688 100644 --- a/module-apps/widgets/BarGraph.cpp +++ b/module-apps/widgets/BarGraph.cpp @@ -30,59 +30,22 @@ namespace gui return rectangle; } - auto BarGraph::incrementWith(uint32_t levels) -> bool - { - if ((currentLevel + levels) <= numberOfRectangles) { - for (uint32_t i = 0; i < levels; ++i) { - rectangles[currentLevel]->setFillColor(ColorFullBlack); - rectangles[currentLevel]->setBorderColor(ColorFullBlack); - ++currentLevel; - } - return true; - } - else { - LOG_ERROR("bargraph incremented out of size"); - return false; - } - } - - auto BarGraph::decrementWith(uint32_t levels) -> bool - { - if (currentLevel >= levels) { - for (uint32_t i = levels; i > 0; --i) { - --currentLevel; - rectangles[currentLevel]->setFillColor(ColorFullWhite); - rectangles[currentLevel]->setBorderColor(ColorFullBlack); - } - return true; - } - else { - LOG_ERROR("bargraph incremented out of size"); - return false; - } - } - - auto BarGraph::update(int value) -> bool - { - if (value > 0) { - return incrementWith(value); - } - else if (value < 0) { - return decrementWith((-value)); - } - - return false; - } - bool BarGraph::setValue(unsigned int value) { - if (const auto levels = static_cast(value) - static_cast(currentLevel); levels > 0) { - return incrementWith(levels); + if (value > numberOfRectangles) { + LOG_ERROR("Provider value greater than graph scale"); + return false; } - else if (levels < 0) { - return decrementWith(-levels); + + currentLevel = value; + for (unsigned int i = 0; i < currentLevel; i++) { + rectangles[i]->setFillColor(ColorFullBlack); } - return false; + for (unsigned int i = currentLevel; i < numberOfRectangles; i++) { + rectangles[i]->setFillColor(ColorFullWhite); + } + + return true; } VBarGraph::VBarGraph(Item *parent, Position x, Position y, uint32_t numberOfRectangles) @@ -106,10 +69,11 @@ namespace gui rectangles.clear(); } - for (unsigned int i = 0; i <= numberOfRectangles; i++) { + for (unsigned int i = 0; i < numberOfRectangles; i++) { auto rectangle = createRectangle(style::bargraph::rect_axis_length_lrg, style::bargraph::rect_axis_length_sml); + rectangle->setBorderColor(ColorFullBlack); if ((i + 1) != numberOfRectangles) { rectangle->setMargins(Margins(0, 0, 0, style::bargraph::spacing)); diff --git a/module-apps/widgets/BarGraph.hpp b/module-apps/widgets/BarGraph.hpp index 07499f0a8..b5404eb01 100644 --- a/module-apps/widgets/BarGraph.hpp +++ b/module-apps/widgets/BarGraph.hpp @@ -25,9 +25,6 @@ namespace gui [[nodiscard]] auto createRectangle(uint32_t width, uint32_t height) const -> Rect *; - auto incrementWith(uint32_t levels) -> bool; - auto decrementWith(uint32_t levels) -> bool; - public: void setPercentageValue(unsigned int value) override; @@ -35,7 +32,6 @@ namespace gui { return currentLevel; } - auto update(int value = 1) -> bool final; auto setValue(unsigned int value) -> bool override; }; diff --git a/module-apps/windows/AppWindow.cpp b/module-apps/windows/AppWindow.cpp index 3809b70d2..85daebfca 100644 --- a/module-apps/windows/AppWindow.cpp +++ b/module-apps/windows/AppWindow.cpp @@ -144,12 +144,10 @@ namespace gui if ((inputEvent.isShortPress())) { switch (inputEvent.keyCode) { case KeyCode::KEY_VOLUP: { - application->increaseCurrentVolume(); - return true; + return application->increaseCurrentVolume(); } case KeyCode::KEY_VOLDN: { - application->decreaseCurrentVolume(); - return true; + return application->decreaseCurrentVolume(); } case KeyCode::KEY_RF: { application->returnToPreviousWindow(); diff --git a/module-apps/windows/BrightnessWindow.cpp b/module-apps/windows/BrightnessWindow.cpp index 68892b480..c2c30d7d0 100644 --- a/module-apps/windows/BrightnessWindow.cpp +++ b/module-apps/windows/BrightnessWindow.cpp @@ -66,12 +66,17 @@ namespace gui return false; } + int update = brightnessBar->getValue(); if (inputEvent.keyCode == gui::KeyCode::KEY_VOLUP) { - brightnessBar->update(1); + update++; } if (inputEvent.keyCode == gui::KeyCode::KEY_VOLDN) { - brightnessBar->update(-1); + update--; + } + + if (update >= 0) { + brightnessBar->setValue(update); } return AppWindow::onInput(inputEvent); diff --git a/module-gui/gui/widgets/ProgressBar.cpp b/module-gui/gui/widgets/ProgressBar.cpp index 26d80d795..cdfd5d647 100644 --- a/module-gui/gui/widgets/ProgressBar.cpp +++ b/module-gui/gui/widgets/ProgressBar.cpp @@ -41,11 +41,6 @@ namespace gui return currentValue == value; } - bool ProgressBar::update(int value) noexcept - { - return setValue(currentValue + value); - } - void ProgressBar::setPercentageValue(unsigned int value) noexcept { const auto percent = static_cast(value) / 100.0f; @@ -117,11 +112,6 @@ namespace gui return value == currentValue; } - bool CircularProgressBar::update(int value) noexcept - { - return setValue(currentValue + value); - } - void CircularProgressBar::setPercentageValue(unsigned int value) noexcept { const auto percent = static_cast(value) / 100.0f; diff --git a/module-gui/gui/widgets/ProgressBar.hpp b/module-gui/gui/widgets/ProgressBar.hpp index 2d6a01e73..a407b4244 100644 --- a/module-gui/gui/widgets/ProgressBar.hpp +++ b/module-gui/gui/widgets/ProgressBar.hpp @@ -18,7 +18,6 @@ namespace gui virtual void setMaximum(unsigned int value) = 0; virtual auto setValue(unsigned int value) -> bool = 0; - virtual auto update(int value = 1) -> bool = 0; virtual void setPercentageValue(unsigned int value) = 0; }; @@ -29,7 +28,6 @@ namespace gui void setMaximum(unsigned int value) noexcept override; auto setValue(unsigned int value) noexcept -> bool override; - auto update(int value = 1) noexcept -> bool override; void setPercentageValue(unsigned int value) noexcept override; void buildDrawListImplementation(std::list &commands) override; @@ -50,7 +48,6 @@ namespace gui void setMaximum(unsigned int value) noexcept override; auto setValue(unsigned int value) noexcept -> bool override; - auto update(int value = 1) noexcept -> bool override; void setPercentageValue(unsigned int value) noexcept override; void buildDrawListImplementation(std::list &commands) override;