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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。