mxgraph - 如何将多个步骤合并为一个撤消/重做?
问题描述
我使用 mxGraph 来制作编辑器。当用户单击一次按钮时,我需要在图中执行许多步骤(例如移动某些节点的位置,添加或删除某些节点,以及修改某些节点的属性)。
一般来说,我可以使用mxModel.setValue ()
,mxGraph.removeCells ()
来完成一个操作,但是用户需要ctrl + z
多次按下才能恢复图形的原始状态。
如何将任意数量的操作合并为一个操作,并通过一次 undo/redo 恢复整个图的状态?
解决方案
我不知道这是否是您正在寻找的,但如果您在一个 model.beginUpdate() 和一个 model.endUpdate() 之间所做的一切都属于同一个“撤消”操作。通过调用 mxUndoManager.undo 一次,您应该能够一次撤消所有这些...
推荐阅读
- ios - Swift 从协议中获取价值数据
- ruby - (:+) 在这行代码中调用了什么以及它的功能是什么?
- lua - lua,使用有限模块从 C 调用脚本,string.len 上的错误
- flutter - 如果用户选择正确答案,我希望我的按钮(白色)为绿色,如果错误则为红色,然后是绿色的正确按钮
- python - 来自 BytesIO 的 pandas read_csv
- cmake - CMake 错误:源目录似乎不包含 CMakeLists.txt
- reactjs - 在蚂蚁设计中选择日期后无法清除范围选择器
- arrays - 如何将字符串恢复为数组列表
- ansible - json_query 使用包含在另一个列表中搜索项目失败
- c - 使用未提供给它们的数据的函数