/* * @file ApplicationNotes.cpp * @author Robert Borzecki (robert.borzecki@mudita.com) * @date 30 lip 2019 * @brief * @copyright Copyright (C) 2019 mudita.com * @details */ #include "MessageType.hpp" #include "windows/NotesMainWindow.hpp" #include "windows/NotesEditWindow.hpp" #include "service-db/messages/DBMessage.hpp" #include "ApplicationNotes.hpp" namespace app { ApplicationNotes::ApplicationNotes(std::string name, std::string parent, bool startBackgound) : Application( name, parent, startBackgound, 4096 ) { } ApplicationNotes::~ApplicationNotes() { LOG_INFO("deleting"); } // Invoked upon receiving data message sys::Message_t ApplicationNotes::DataReceivedHandler(sys::DataMessage* msgl,sys::ResponseMessage* resp) { auto retMsg = Application::DataReceivedHandler(msgl); //if message was handled by application's template there is no need to process further. if( (reinterpret_cast( retMsg.get() )->retCode == sys::ReturnCodes::Success ) ){ return retMsg; } bool handled = false; //handle database response if( resp != nullptr ) { uint32_t msgType = resp->responseTo; switch( msgType ) { case static_cast(MessageType::DBNotesGetLimitOffset): { if( currentWindow->onDatabaseMessage( resp ) ) refreshWindow( gui::RefreshModes::GUI_REFRESH_FAST ); }break; } } if( handled ) return std::make_shared(); else return std::make_shared(sys::ReturnCodes::Unresolved); } // Invoked during initialization sys::ReturnCodes ApplicationNotes::InitHandler() { auto ret = Application::InitHandler(); if( ret != sys::ReturnCodes::Success ) return ret; createUserInterface(); setActiveWindow("MainWindow"); return ret; } sys::ReturnCodes ApplicationNotes::DeinitHandler() { return sys::ReturnCodes::Success; } void ApplicationNotes::createUserInterface() { gui::AppWindow* window = nullptr; window = new gui::NotesMainWindow(this); windows.insert(std::pair(window->getName(), window)); window = new gui::NotesEditWindow(this); windows.insert(std::pair(window->getName(), window)); } void ApplicationNotes::destroyUserInterface() { } } /* namespace app */