线条文本可以保存了

This commit is contained in:
艾竹
2022-12-06 21:28:42 +08:00
parent 194eb9b104
commit 9a8d4c95f0
11 changed files with 291 additions and 74 deletions

View File

@@ -11,59 +11,190 @@ namespace AIStudio.Wpf.DiagramDesigner
{
public interface IDiagramViewModel
{
string Name { get; set; }
List<SelectableDesignerItemViewModelBase> SelectedItems { get; }
ObservableCollection<SelectableDesignerItemViewModelBase> Items { get; }
SelectionService SelectionService { get; }
string Name
{
get; set;
}
List<SelectableDesignerItemViewModelBase> SelectedItems
{
get;
}
ObservableCollection<SelectableDesignerItemViewModelBase> Items
{
get;
}
SelectionService SelectionService
{
get;
}
SimpleCommand CreateNewDiagramCommand { get; }
SimpleCommand DirectAddItemCommand { get; }
SimpleCommand AddItemCommand { get; }
SimpleCommand RemoveItemCommand { get; }
SimpleCommand DirectRemoveItemCommand { get; }
SimpleCommand ClearSelectedItemsCommand { get; }
SimpleCommand AlignTopCommand { get; }
SimpleCommand AlignVerticalCentersCommand { get; }
SimpleCommand AlignBottomCommand { get; }
SimpleCommand AlignLeftCommand { get; }
SimpleCommand AlignHorizontalCentersCommand { get; }
SimpleCommand AlignRightCommand { get; }
SimpleCommand BringForwardCommand { get; }
SimpleCommand BringToFrontCommand { get; }
SimpleCommand SendBackwardCommand { get; }
SimpleCommand SendToBackCommand { get; }
SimpleCommand CreateNewDiagramCommand
{
get;
}
SimpleCommand DirectAddItemCommand
{
get;
}
SimpleCommand AddItemCommand
{
get;
}
SimpleCommand RemoveItemCommand
{
get;
}
SimpleCommand DirectRemoveItemCommand
{
get;
}
SimpleCommand ClearSelectedItemsCommand
{
get;
}
SimpleCommand AlignTopCommand
{
get;
}
SimpleCommand AlignVerticalCentersCommand
{
get;
}
SimpleCommand AlignBottomCommand
{
get;
}
SimpleCommand AlignLeftCommand
{
get;
}
SimpleCommand AlignHorizontalCentersCommand
{
get;
}
SimpleCommand AlignRightCommand
{
get;
}
SimpleCommand BringForwardCommand
{
get;
}
SimpleCommand BringToFrontCommand
{
get;
}
SimpleCommand SendBackwardCommand
{
get;
}
SimpleCommand SendToBackCommand
{
get;
}
SimpleCommand DistributeHorizontalCommand { get; }
SimpleCommand DistributeVerticalCommand { get; }
SimpleCommand SelectAllCommand { get; }
SimpleCommand UndoCommand { get; }
SimpleCommand RedoCommand { get; }
SimpleCommand DistributeHorizontalCommand
{
get;
}
SimpleCommand DistributeVerticalCommand
{
get;
}
SimpleCommand SelectAllCommand
{
get;
}
SimpleCommand UndoCommand
{
get;
}
SimpleCommand RedoCommand
{
get;
}
Func<SelectableDesignerItemViewModelBase, bool> OutAddVerify { get; set; }
Func<SelectableDesignerItemViewModelBase, bool> OutAddVerify
{
get; set;
}
void ClearSelectedItems();
bool BelongToSameGroup(IGroupable item1, IGroupable item2);
Rect GetBoundingRectangle(IEnumerable<DesignerItemViewModelBase> items);
void UpdateZIndex();
bool IsReadOnly{ get; set; }
bool IsLoading{get;set;}
Size PageSize { get; set; }
PageSizeType PageSizeType { get; set; }
bool ShowGrid { get; set; }
Size GridCellSize { get; set; }
PageSizeOrientation PageSizeOrientation { get; set; }
CellHorizontalAlignment CellHorizontalAlignment { get; set; }
CellVerticalAlignment CellVerticalAlignment { get; set; }
double GridMargin { get; set; }
Color GridColor { get; set; }
DiagramType DiagramType { get; set; }
bool IsReadOnly
{
get; set;
}
bool IsLoading
{
get; set;
}
Size PageSize
{
get; set;
}
PageSizeType PageSizeType
{
get; set;
}
bool ShowGrid
{
get; set;
}
Size GridCellSize
{
get; set;
}
PageSizeOrientation PageSizeOrientation
{
get; set;
}
CellHorizontalAlignment CellHorizontalAlignment
{
get; set;
}
CellVerticalAlignment CellVerticalAlignment
{
get; set;
}
double GridMargin
{
get; set;
}
Color GridColor
{
get; set;
}
DiagramType DiagramType
{
get; set;
}
Point CurrentPoint { get; set; }
Color CurrentColor { get; set; }
//如果这个赋值了,优先用这个的
DrawMode? VectorLineDrawMode { get; set; }
Point CurrentPoint
{
get; set;
}
Color CurrentColor
{
get; set;
}
#region
IDrawModeViewModel DrawModeViewModel
{
get; set;
}
IColorViewModel ColorViewModel
{
get; set;
}
#endregion
//用于wpf大小与物理像素之间转换
double ScreenScale { get; set; }
double ScreenScale
{
get; set;
}
void SetScreenScale();