2023-01-26 22:25:48 +08:00
using System ;
using System.Collections.Generic ;
using System.Text ;
using System.Windows ;
using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels ;
namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
{
class SvgViewModel : BaseViewModel
{
public SvgViewModel ( )
{
Title = "Custom node" ;
Info = "Creating your own custom design is very easy!" ;
DiagramViewModel = new DiagramViewModel ( ) ;
DiagramViewModel . CellHorizontalAlignment = CellHorizontalAlignment . Center ;
DiagramViewModel . CellVerticalAlignment = CellVerticalAlignment . Center ;
DiagramViewModel . PageSizeType = PageSizeType . Custom ;
DiagramViewModel . PageSize = new Size ( double . NaN , double . NaN ) ;
2023-01-27 14:54:03 +08:00
DiagramViewModel . ColorViewModel = new ColorViewModel ( ) ;
DiagramViewModel . ColorViewModel . FillColor . Color = System . Windows . Media . Colors . Orange ;
2023-01-26 22:25:48 +08:00
2023-01-27 14:54:03 +08:00
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel ( DiagramViewModel ) { Left = 50 , Top = 50 , Text = "1" } ;
2023-01-26 22:25:48 +08:00
DiagramViewModel . DirectAddItemCommand . Execute ( node1 ) ;
2023-01-27 14:54:03 +08:00
PathItemViewModel node2 = new PathItemViewModel ( DiagramViewModel ) { Left = 300 , Top = 300 , Icon = "M 0 -50 L 50 -50 L 50 -10 A 1 1 0 0 0 50 10 L 50 50 L 0 50 L 0 10 A 1 1 0 0 0 0 -10 Z" } ;
2023-01-26 22:25:48 +08:00
DiagramViewModel . DirectAddItemCommand . Execute ( node2 ) ;
2023-01-27 14:54:03 +08:00
PathItemViewModel node3 = new PathItemViewModel ( DiagramViewModel ) { Left = 300 , Top = 50 , Icon = "M 0 -50 L 50 -50 L 50 -10 A 1 1 0 0 0 50 10 L 50 50 L 0 50 L 0 10 A 1 1 0 0 0 0 -10 Z" } ;
2023-01-26 22:25:48 +08:00
DiagramViewModel . DirectAddItemCommand . Execute ( node3 ) ;
2023-01-27 14:54:03 +08:00
ConnectionViewModel connector1 = new ConnectionViewModel ( DiagramViewModel , node1 . RightConnector , node2 . TopConnector , DrawMode . ConnectingLineSmooth , RouterMode . RouterNormal ) ;
2023-01-26 22:25:48 +08:00
DiagramViewModel . DirectAddItemCommand . Execute ( connector1 ) ;
2023-01-27 14:54:03 +08:00
ConnectionViewModel connector2 = new ConnectionViewModel ( DiagramViewModel , node2 . BottomConnector , node3 . BottomConnector , DrawMode . ConnectingLineStraight , RouterMode . RouterOrthogonal ) ;
2023-01-26 22:25:48 +08:00
DiagramViewModel . DirectAddItemCommand . Execute ( connector2 ) ;
DiagramViewModel . ClearSelectedItemsCommand . Execute ( null ) ;
}
}
}