20#ifndef SDFORMAT_EDITOR_GUI_INTERFACE_HH_
21#define SDFORMAT_EDITOR_GUI_INTERFACE_HH_
28#include <interfaces/sdformat_parser_interface.h>
29#include <interfaces/command_factory_interface.h>
38class GUII :
public std::enable_shared_from_this<GUII>
46 protected:
virtual void Initialize(
const std::string &windowName, std::shared_ptr<SDFormatParserI> sdformat_parser,
bool &success) = 0;
52 public:
virtual std::unique_ptr<CommandI>
Update(std::shared_ptr<CommandFactoryI> command_factory) = 0;
62 const std::string header;
63 const std::string body;
64 const std::string footer;
81 public:
virtual std::unique_lock<std::mutex>
LockMutex() = 0;
Interface for the SDFormat Editor's Command Factory.
Definition command_factory_interface.h:37
Interface for the SDFormat Editor's Graphical User Interface Note that this class also inherits from ...
Definition gui_interface.h:39
virtual void OpenChoiceDialog(DialogMessage dialogMessage, std::vector< std::pair< std::string, bool > > &choices)=0
Enables a choice dialog message in the GUI that will be override everything else.
virtual void Initialize(const std::string &windowName, std::shared_ptr< SDFormatParserI > sdformat_parser, bool &success)=0
Initialization of the GUI. Should be wrapped in the constructor of the implementation....
virtual std::unique_lock< std::mutex > LockMutex()=0
Method to lock mutex.
virtual void SetPreventInputFlag(bool set)=0
Method to change the flag which can be set to prevent the GUI from taking user input....
virtual bool ShouldClose()=0
Indicate if the GUI should close
virtual std::unique_ptr< CommandI > Update(std::shared_ptr< CommandFactoryI > command_factory)=0
Updating the GUI.
Struct representing a dialog message. This struct encapsulates the components of a dialog message.
Definition gui_interface.h:61