箭头分离到独立的model中,方便自定义path

This commit is contained in:
艾竹
2023-01-26 18:27:17 +08:00
parent f11a4170d8
commit 9bb6c6d321
42 changed files with 993 additions and 299 deletions

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner.Geometrys;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface IColorViewModel
{
IColorObject LineColor
{
get; set;
}
IColorObject FillColor
{
get; set;
}
Color ShadowColor
{
get; set;
}
double LineWidth
{
get; set;
}
LineDashStyle LineDashStyle
{
get; set;
}
event PropertyChangedEventHandler PropertyChanged;
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner
{
/// <summary>
/// Simple service interface
/// </summary>
public interface IDiagramServiceProvider : INotifyPropertyChanged
{
IColorViewModel ColorViewModel
{
get;
}
IFontViewModel FontViewModel
{
get;
}
IShapeViewModel ShapeViewModel
{
get;
}
IDrawModeViewModel DrawModeViewModel
{
get;
}
IQuickThemeViewModel QuickThemeViewModel
{
get;
}
ILockObjectViewModel LockObjectViewModel
{
get;
}
SelectableDesignerItemViewModelBase SelectedItem
{
get; set;
}
IColorViewModel CopyDefaultColorViewModel();
IFontViewModel CopyDefaultFontViewModel();
IShapeViewModel CopyDefaultShapeViewModel();
}
}

View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface IDrawModeViewModel
{
DrawMode GetDrawMode();
void SetDrawMode(DrawMode drawMode);
void ResetDrawMode();
CursorMode CursorMode
{
get; set;
}
DrawMode LineDrawMode
{
get; set;
}
RouterMode LineRouterMode
{
get; set;
}
}
}

View File

@@ -0,0 +1,27 @@
using System.ComponentModel;
using System.Windows;
using System.Windows.Media;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface IFontViewModel
{
string FontFamily { get; set; }
Color FontColor { get; set; }
double FontSize { get; set; }
Color TextEffectColor { get; set; }
Color HighlightColor { get; set; }
FontCase FontCase { get; set; }
FontWeight FontWeight { get; set; }
FontStyle FontStyle { get; set; }
FontStretch FontStretch { get; set; }
bool Underline { get; set; }
bool Strikethrough { get; set; }
bool OverLine { get; set; }
HorizontalAlignment HorizontalAlignment { get; set; }
VerticalAlignment VerticalAlignment { get; set; }
double LineHeight { get; set; }
event PropertyChangedEventHandler PropertyChanged;
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface ILockObjectViewModel
{
List<LockObject> LockObject { get; set; }
void SetValue(LockObject obj);
event PropertyChangedEventHandler PropertyChanged;
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface IQuickThemeViewModel
{
QuickTheme[] QuickThemes { get; }
QuickTheme QuickTheme { get; set; }
}
}

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface IShapeViewModel
{
ILinkMarker SourceMarker
{
get; set;
}
ILinkMarker SinkMarker
{
get; set;
}
event PropertyChangedEventHandler PropertyChanged;
}
}