18 #ifndef LINKELEMENTCOMMAND_H 19 #define LINKELEMENTCOMMAND_H 21 #include <QUndoCommand> 36 int id()
const override {
return 2;}
37 bool mergeWith(
const QUndoCommand *other)
override;
41 void setLink (
const QList<Element *>& element_list);
43 void unlink (QList<Element *> element_list);
50 void setUpNewLink (
const QList<Element *> &element_list,
bool already_link);
51 void makeLink (
const QList <Element *> &element_list);
60 #endif // LINKELEMENTCOMMAND_H void unlink(QList< Element *> element_list)
LinkElementCommand::unlink Unlink all elements of element_list from the edited element.
void setUpNewLink(const QList< Element *> &element_list, bool already_link)
LinkElementCommand::setUpNewLink Update the content of m_link_after with the content of ...
void makeLink(const QList< Element *> &element_list)
LinkElementCommand::makeLink Make the link between m_element and element_list; This method unlink ele...
bool mergeWith(const QUndoCommand *other) override
LinkElementCommand::mergeWith.
QList< Element * > m_linked_before
void unlinkAll()
LinkElementCommand::unlinkAll Unlink all element of the edited element.
The LinkElementCommand class This undo class manage link between elements. In the same instance of th...
void undo() override
LinkElementCommand::undo Undo this command.
void redo() override
LinkElementCommand::redo Redo this command.
static bool isLinkable(Element *element_a, Element *element_b, bool already_linked=false)
LinkElementCommand::isLinkable.
LinkElementCommand(Element *element_, QUndoCommand *parent=nullptr)
LinkElementCommand::LinkElementCommand Constructor.
void setLink(const QList< Element *> &element_list)
LinkElementCommand::setLink Replace all linked elements of edited element by elements stored in This...
QList< Element * > m_linked_after