LunarPresentation/Commands/Tree/PasteLeaf.cs
(完整代码) 1KBusing System.Windows;
namespace SHomeWorkshop.LunarPresentation.Commands
{
public partial class Command
{
public static void PasteLeaf()
{
if (Globals.selectedEditor == null) return;
if (Globals.selectedEditor.SelectedExpression == null) return;
LunarPresentation.Expressions.Expression curEx
= Globals.selectedEditor.SelectedExpression;
Expressions.LeafPanel leaf = curEx as Expressions.LeafPanel;
if (leaf == null)
{
MessageBox.Show("请先选中一个叶面板!", Globals.appName,
MessageBoxButton.OK, MessageBoxImage.Warning);
return;
}
//粘贴也需要递归。
if (leaf.ParentExpression == null ||
leaf.ParentExpression is Expressions.Tree == false)
{
MessageBox.Show("发生意外,这个叶面板不在某个树上或被挂接到了某个意外的公式中!"
, Globals.appName, MessageBoxButton.OK, MessageBoxImage.Warning);
return;
}
Expressions.Tree pTree = leaf.ParentExpression as Expressions.Tree;
ModifingItem mi = new ModifingItem() { OldSelectedExID = leaf.ExID };
Expressions.LeafPanel newPastedStartLeaf
= pTree.PasteLeaf(leaf, Clipboard.GetText(TextDataFormat.UnicodeText), mi);
if (newPastedStartLeaf != null)
{
mi.NewSelectedExID = newPastedStartLeaf.ExID;
pTree.Editor.Do(mi);
pTree.Editor.IsModified = true;
pTree.Editor.SelectedExpression = newPastedStartLeaf;
}
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。