20#ifndef COMMAND_FACTORY_INTERFACE_HH_
21#define COMMAND_FACTORY_INTERFACE_HH_
26#include "interfaces/command_interface.h"
27#include "interfaces/gui_interface.h"
28#include "interfaces/sdformat_parser_interface.h"
29#include "interfaces/model_viewer_interface.h"
43 private:
virtual void Initialize(std::shared_ptr<GUII> gui, std::shared_ptr<SDFormatParserI> sdformatParser,
44 std::shared_ptr<ModelViewerI> model_viewer) = 0;
59 sdf::ElementPtr element_to_delete) = 0;
66 sdf::ElementPtr parent_element, sdf::ElementPtr new_element) = 0;
97 public:
virtual std::unique_ptr<CommandI>
MakeModifyElementCommand(sdf::ElementPtr element_to_modify, std::string new_value) = 0;
Interface for the SDFormat Editor's Command Factory.
Definition command_factory_interface.h:37
virtual void PushToUndoCommandsStack(std::unique_ptr< CommandI > command, const bool new_change=true)=0
Pushes to the undo commands stack.
virtual std::unique_ptr< CommandI > MakeUndoCommand()=0
Create an undo command.
virtual std::unique_ptr< CommandI > MakeAddElementCommand(sdf::ElementPtr parent_element, sdf::ElementPtr new_element)=0
Create an add element command.
virtual void Initialize(std::shared_ptr< GUII > gui, std::shared_ptr< SDFormatParserI > sdformatParser, std::shared_ptr< ModelViewerI > model_viewer)=0
Initialization of the Command Factory. Should be wrapped in the constructor of the implementation.
virtual std::unique_ptr< CommandI > MakeCloseModelViewerCommand()=0
Create a close model viewer model command.
virtual std::unique_ptr< CommandI > MakeSaveFileCommand()=0
Create a save file command.
virtual std::unique_ptr< CommandI > MakeModifyElementCommand(sdf::ElementPtr element_to_modify, std::string new_value)=0
create a modify element command
virtual std::unique_ptr< CommandI > MakeOpenFileCommand(std::string file_path)=0
Create an open file command.
virtual std::unique_ptr< CommandI > MakeRedoCommand()=0
Create a redo command.
virtual std::unique_ptr< CommandI > MakeModifyElementCommand(sdf::ElementPtr element_to_modify, bool new_value)=0
create a modify element command
virtual std::unique_ptr< CommandI > MakeModifyAttributeCommand(sdf::ParamPtr attribute_to_modify, bool new_value)=0
create a modify attribute command
virtual void ClearUndoRedoStacks()=0
Clears both the undo and redo stacks.
virtual std::unique_ptr< CommandI > MakeDeleteElementCommand(sdf::ElementPtr element_to_delete)=0
Create a delete element command.
virtual std::unique_ptr< CommandI > MakeCreateFileCommand()=0
Create a create file command.
virtual std::unique_ptr< CommandI > MakeModifyAttributeCommand(sdf::ParamPtr attribute_to_modify, std::string new_value)=0
create a modify attribute command
virtual void PushToRedoCommandsStack(std::unique_ptr< CommandI > command)=0
Pushes to the redo commands stack.
virtual std::unique_ptr< CommandI > MakeOpenModelViewerCommand()=0
Create a open model viewer model command.
virtual std::unique_ptr< CommandI > MakeRenderModelCommand(bool render_collisions_in_model_viewer)=0
Create a render model command.
Interface for the SDFormat Editor's Graphical User Interface Note that this class also inherits from ...
Definition gui_interface.h:39