IMPL_LINK_NOARG(DiagramDialog, OnAddCancel, weld::Button&, void)
{ // If the user cancels the dialog, undo all changes done so far. It may // even be feasible to then delete the redo-stack, since it stays // available (?) - but it does no harm either... while (0 != m_nUndos)
{
comphelper::dispatchCommand(u".uno:Undo"_ustr, {});
m_nUndos--;
}
m_xDialog->response(RET_CANCEL);
}
IMPL_LINK_NOARG(DiagramDialog, OnAddClick, weld::Button&, void)
{ if (!m_rDiagram.isDiagram()) return;
if (bUndo)
{ // create undo action. That will internally secure the // current Diagram-defining data as end state
rDrawModel.AddUndo(
rDrawModel.GetSdrUndoFactory().CreateUndoDiagramModelData(m_rDiagram, aStartState));
m_nUndos++;
}
if (bUndo)
{ // rescue all start state Diagram-defining data
aStartState = pDiagramHelper->extractDiagramDataState();
}
if (pDiagramHelper->removeNode(mpTreeDiagram->get_id(*pEntry)))
{ if (bUndo)
{ // create undo action. That will internally secure the // current Diagram-defining data as end state
rDrawModel.AddUndo(rDrawModel.GetSdrUndoFactory().CreateUndoDiagramModelData(
m_rDiagram, aStartState));
m_nUndos++;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.