LunarPresentation/Commands/InsertAndEditBaseText.cs
(开头部分) 24KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Windows;
using System.Windows.Controls;
namespace SHomeWorkshop.LunarPresentation.Commands
{
public partial class Command
{
/// <summary>
/// 在当前公式下侧插入一个文本块,并进入编辑状态。
/// </summary>
public static void InsertAtNextAndEditBaseText(string newText = null)
{
//先看看是不是插入新叶。
if (Globals.selectedEditor != null &&
Globals.selectedEditor.SelectedExpression != null &&
Globals.selectedEditor.SelectedExpression is Expressions.LeafPanel)
{
Expressions.LeafPanel newLeaf = Command.InsertSameLevelLeaf();
if (newLeaf != null)
{
Command.EditFstBaseText();
Globals.selectedEditor.SelectedExpression = newLeaf;
}
return;
}
ModifingItem mi = new ModifingItem();
LunarPresentation.Expressions.BaseText btx = Command.InsertBaseText(true, mi);
if (btx != null)
{
int newIndex = btx.ParentPanel.BasePanel.Children.IndexOf(btx);
Action actionInsert = new Action(btx.ExID, btx.ParentPanel.BasePanel.Children.IndexOf(btx),
btx.GetType().Name, "InsertExpression", null, btx.XmlData.OuterXml,
ActionType.Insert, btx.ParentPanel.ExID);
mi.Add(actionInsert);
RefreshHeaderLevel(mi, btx);
//承上一个文本块的“任务列表项”属性。但只显示为“未开始”。
if (newIndex > 0 && btx.ParentPanel != null)
{
Expressions.Expression preEx = btx.ParentPanel.BasePanel.Children[newIndex - 1] as Expressions.Expression;
if (preEx is Expressions.BaseText && preEx.Visibility == Visibility.Visible)
{
Expressions.BaseText btOld = preEx as Expressions.BaseText;
if (btOld.TaskItemType != Expressions.BaseText.TaskType.NotTask)
{
Action actTaskItemType = new Action(btx.ExID, -1, btx.GetType().Name,
"TaskItemType", btx.TaskItemType.ToString(),
Expressions.BaseText.TaskType.NotStarted.ToString());
btx.TaskItemType = Expressions.BaseText.TaskType.NotStarted;
mi.Add(actTaskItemType);
}
}
后面还有 566 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。