// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include #include #include #include #include #include namespace app::notes { class NoteMainWindow : public gui::AppWindow, public NotesMainWindowContract::View { public: NoteMainWindow(app::ApplicationCommon *app, std::unique_ptr &&windowPresenter); ~NoteMainWindow() noexcept override; // virtual methods bool onInput(const gui::InputEvent &inputEvent) override; void rebuild() override; void buildInterface() override; void destroyInterface() override; bool onDatabaseMessage(sys::Message *msg) override; private: void onEmptyList(); void onListFilled(); std::unique_ptr presenter; gui::ListView *list = nullptr; gui::Icon *emptyListIcon = nullptr; }; } // namespace app::notes