LunarPresentation/Commands/CutOrDelete.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Windows;
using System.Windows.Controls;
namespace SHomeWorkshop.LunarPresentation.Commands
{
public partial class Command
{
/// <summary>
/// 将公式Xml文本置入操作系统剪贴板。
/// </summary>
/// <param name="onlyDelete">此参数为真时,直接将公式删除,
/// 而不会将公式文本置入操作系统剪贴板。</param>
public static void CutOrDelete(bool onlyDelete = false)
{
if (Globals.selectedEditor == null) return;
if (Globals.selectedEditor.SelectedExpression == null) return;
LunarPresentation.Expressions.Expression curEx
= Globals.selectedEditor.SelectedExpression;
if (curEx is Expressions.LeafPanel)
{
Command.CutOrDeleteLeaf(onlyDelete); return;
}
if (curEx is Expressions.SubPanel)
{
MessageBox.Show("子面板不能被“删除”或“剪切”、“复制”、“粘贴”,仅能被复制成图像!",
Globals.appName, MessageBoxButton.OK, MessageBoxImage.Warning);
return;//子面板不支持Cut。
}
if (curEx is Expressions.BaseText)
{
Expressions.BaseText curBt = curEx as Expressions.BaseText;
if (curBt.IsCollapsed)
{
MessageBox.Show("折叠的标题文本块不允许被剪切或删除。此外“复制、粘贴、平移、拖动、更改缩进、对齐、嵌入”等操作亦被禁止。",
Globals.appName, MessageBoxButton.OK, MessageBoxImage.Warning);
return;
}
}
if (curEx.Parent is StackPanel)
{
StackPanel spanel = curEx.Parent as StackPanel;
int index = spanel.Children.IndexOf(curEx);
Editor editor = curEx.Editor;
ModifingItem mi = new ModifingItem();
if (spanel.Children.Count <= 1)
{
curEx.XmlData.InsertXml(LunarPresentation.Properties.Resources.BaseText);
LunarPresentation.Expressions.BaseText newExpression =
new LunarPresentation.Expressions.BaseText(curEx.RootPanel, curEx.ParentPanel, curEx.Editor);
spanel.Children.Insert(spanel.Children.IndexOf(curEx) + 1, newExpression);
newExpression.XmlData = curEx.XmlData.NextSibling;
后面还有 53 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。