项目结构调整

This commit is contained in:
艾竹
2023-04-16 20:11:40 +08:00
parent cbfbf96033
commit 81f91f3f35
2124 changed files with 218 additions and 5516 deletions

View File

@@ -0,0 +1,183 @@
using System;
using System.Collections.Generic;
using System.Windows;
using System.Xml.Serialization;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.Mind.ViewModels;
using Newtonsoft.Json;
namespace AIStudio.Wpf.Mind.Models
{
[Serializable]
[XmlInclude(typeof(MindNodeDesignerItem))]
public class MindNodeDesignerItem : DesignerItemBase
{
public MindNodeDesignerItem()
{
}
public MindNodeDesignerItem(MindNode item) : base(item)
{
MindType = item.MindType;
MindTheme = item.MindTheme;
Spacing = item.Spacing;
Offset = item.Offset;
IsExpanded = item.IsExpanded;
LinkInfoItem = new LinkInfoItem(item.LinkInfo);
ImageInfoItem = new ImageInfoItem(item.ImageInfo);
Remark = item.Remark;
Priority= item.Priority?.ToString();
Rate=item.Rate.ToString();
if (item.Tags != null)
{
Tags = new List<string>(item.Tags);
}
}
[XmlAttribute]
public MindType MindType
{
get; set;
}
[XmlAttribute]
public MindTheme MindTheme
{
get; set;
}
[XmlIgnore]
public Size Spacing
{
get; set;
}
[JsonIgnore]
[XmlAttribute("Spacing")]
public string XmlSpacing
{
get
{
return SerializeHelper.SerializeSize(Spacing);
}
set
{
Spacing = SerializeHelper.DeserializeSize(value);
}
}
[XmlIgnore]
public Point Offset
{
get; set;
}
[JsonIgnore]
[XmlAttribute("Offset")]
public string XmlOffset
{
get
{
return SerializeHelper.SerializePoint(Offset);
}
set
{
Offset = SerializeHelper.DeserializePoint(value);
}
}
[XmlAttribute]
public bool IsExpanded
{
get; set;
}
[XmlElement]
public LinkInfoItem LinkInfoItem
{
get;set;
}
[XmlElement]
public ImageInfoItem ImageInfoItem
{
get; set;
}
[XmlAttribute]
public string Remark
{
get; set;
}
[XmlAttribute]
public string Priority
{
get; set;
}
[XmlAttribute]
public string Rate
{
get; set;
}
[XmlArray]
public List<string> Tags
{
get; set;
}
}
[Serializable]
[XmlInclude(typeof(LinkInfoItem))]
public class LinkInfoItem
{
public LinkInfoItem()
{
}
public LinkInfoItem(LinkInfo linkinfo)
{
Url = linkinfo?.Url;
Text = linkinfo?.Text;
}
[XmlAttribute]
public string Url
{
get;set;
}
[XmlAttribute]
public string Text
{
get; set;
}
}
[Serializable]
[XmlInclude(typeof(ImageInfoItem))]
public class ImageInfoItem
{
public ImageInfoItem()
{
}
public ImageInfoItem(ImageInfo imageInfo)
{
Url = imageInfo?.Url;
Text = imageInfo?.Text;
}
public string Url
{
get; set;
}
public string Text
{
get; set;
}
}
}

View File

@@ -0,0 +1,157 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Windows;
using System.Xml.Serialization;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.DiagramDesigner.Serializable;
using AIStudio.Wpf.DiagramDesigner.Serializable.ViewModels;
using AIStudio.Wpf.Mind;
using AIStudio.Wpf.Mind.ViewModels;
namespace AIStudio.Wpf.Mind.Models
{
public class MindNodeModel : DiagramNode
{
public MindType MindType
{
get; set;
}
public MindTheme MindTheme
{
get; set;
}
public Size Spacing
{
get; set;
}
public Point Offset
{
get; set;
}
public bool IsExpanded
{
get; set;
}
public LinkInfoModel LinkInfoModel
{
get; set;
}
public ImageInfoModel ImageInfoModel
{
get; set;
}
public string Remark
{
get; set;
}
public double? Priority
{
get; set;
}
public double? Rate
{
get; set;
}
public List<string> Tags
{
get; set;
}
public override DiagramItemViewModel ToNodel(IDiagramViewModel diagramViewModel)
{
MindNode mindNode = new MindNode(diagramViewModel);
mindNode.MindType = MindType;
mindNode.MindTheme = MindTheme;
mindNode.Spacing = Spacing;
mindNode.Offset = Offset;
mindNode.IsExpanded = IsExpanded;
if (string.IsNullOrEmpty(LinkInfoModel?.Url) && string.IsNullOrEmpty(LinkInfoModel?.Text))
{
mindNode.LinkInfo = null;
}
else
{
mindNode.LinkInfo = new LinkInfo(LinkInfoModel?.Url, LinkInfoModel?.Text);
}
if (string.IsNullOrEmpty(ImageInfoModel?.Url) && string.IsNullOrEmpty(ImageInfoModel?.Text))
{
mindNode.ImageInfo = null;
}
else
{
mindNode.ImageInfo = new ImageInfo(ImageInfoModel?.Url, ImageInfoModel?.Text);
}
mindNode.Remark = Remark;
mindNode.Priority = Priority;
mindNode.Rate = Rate;
if (Tags != null)
{
mindNode.Tags = new System.Collections.ObjectModel.ObservableCollection<string>(Tags);
}
mindNode.InitLayout(false);
return mindNode;
}
}
public class LinkInfoModel
{
public LinkInfoModel()
{
}
public LinkInfoModel(LinkInfo linkinfo)
{
Url = linkinfo?.Url;
Text = linkinfo?.Text;
}
public string Url
{
get; set;
}
public string Text
{
get; set;
}
}
public class ImageInfoModel
{
public ImageInfoModel()
{
}
public ImageInfoModel(ImageInfo imageInfo)
{
Url = imageInfo?.Url;
Text = imageInfo?.Text;
}
public string Url
{
get; set;
}
public string Text
{
get; set;
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AIStudio.Wpf.Mind.Models
{
public enum MindTheme
{
[Description("天空蓝")]
SkyBlue,
[Description("紧凑蓝")]
SkyBlueMini,
[Description("文艺绿")]
LiteratureGreen,
[Description("紧凑绿")]
LiteratureGreenMini,
[Description("脑残粉")]
BrainDeadPink,
[Description("紧凑粉")]
BrainDeadPinkMini,
[Description("浪漫紫")]
RomanticPurple,
[Description("紧凑紫")]
RomanticPurpleMini,
[Description("清新红")]
FreshRed,
[Description("紧凑红")]
FreshRedMini,
[Description("泥土黄")]
EarthyYellow,
[Description("紧凑黄")]
EarthyYellowMini,
[Description("冷光黄")]
CoolLightYellow,
[Description("紧凑黄")]
CoolLightYellowMini,
}
}

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace AIStudio.Wpf.Mind.Models
{
public enum MindType
{
[Description("思维导图")]
Mind,
[Description("目录组织图")]
Directory,
[Description("鱼骨头图")]
FishBone,
[Description("逻辑结构图")]
Logical,
[Description("组织结构图")]
Organizational,
[Description("天盘图(暂未完成)")]
Celestial
}
}

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AIStudio.Wpf.Mind.Models
{
public class TreeNode
{
public string Text
{
get; set;
}
public List<TreeNode> Children
{
get; set;
}
}
}