diff --git a/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj b/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj index a1bb605..e1a927f 100644 --- a/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj +++ b/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj @@ -231,6 +231,9 @@ + + PreserveNewest + PreserveNewest @@ -874,10 +877,6 @@ PreserveNewest - - - - 8.0 diff --git a/AIStudio.Wpf.DiagramApp/DesignItems/Customs/1.json b/AIStudio.Wpf.DiagramApp/DesignItems/Customs/1.json new file mode 100644 index 0000000..58a1ea3 --- /dev/null +++ b/AIStudio.Wpf.DiagramApp/DesignItems/Customs/1.json @@ -0,0 +1 @@ +{"Title":null,"DiagramType":0,"DiagramItems":[{"Name":null,"DiagramType":0,"ShowGrid":false,"GridCellSize":"0,0","CellHorizontalAlignment":0,"CellVerticalAlignment":0,"PageSizeOrientation":0,"PageSize":"0,0","PageSizeType":0,"GridMarginSize":"0,0","GridColor":"#00000000","DesignerItems":[{"ModelType":null,"ModelTypeName":"AIStudio.Wpf.DiagramDesigner.DefaultDesignerItemViewModel","SerializableType":null,"SerializableTypeName":"AIStudio.Wpf.DiagramDesigner.DesignerItemBase","SerializableString":"{\"Left\":244.0,\"Top\":144.46000022888188,\"Angle\":0.0,\"ScaleX\":1.0,\"ScaleY\":1.0,\"Margin\":0.0,\"ItemWidth\":65.0,\"ItemHeight\":65.0,\"Icon\":null,\"Reserve\":null,\"ItemTypeName\":\"AIStudio.Wpf.DiagramDesigner.DefaultDesignerItemViewModel\",\"ParentId\":\"00000000-0000-0000-0000-000000000000\",\"Id\":\"35365569-5f02-4edd-b040-2cd0150641d7\",\"ZIndex\":0,\"IsGroup\":false,\"Text\":\"AIStudio\",\"ColorItem\":{\"LineColor\":{\"BrushType\":1,\"Color\":\"#FF808080\",\"GradientStop\":null,\"Offset\":null,\"Image\":null,\"SubType\":0,\"StartPoint\":\"0,0\",\"EndPoint\":\"0,0\",\"Opacity\":1.0,\"LinearOrientation\":0,\"RadialOrientation\":0,\"Angle\":0},\"FillColor\":{\"BrushType\":1,\"Color\":\"#FFFFA500\",\"GradientStop\":null,\"Offset\":null,\"Image\":null,\"SubType\":0,\"StartPoint\":\"0,0\",\"EndPoint\":\"0,0\",\"Opacity\":1.0,\"LinearOrientation\":0,\"RadialOrientation\":0,\"Angle\":0},\"ShadowColor\":\"#00FFFFFF\",\"LineWidth\":1.0,\"LineDashStyle\":0,\"LineAnimation\":0},\"FontItem\":{\"FontWeight\":\"Normal\",\"FontStyle\":\"Normal\",\"FontStretch\":\"Normal\",\"Underline\":false,\"Strikethrough\":false,\"OverLine\":false,\"FontColor\":\"#FF000000\",\"FontFamily\":\"Arial\",\"FontSize\":12.0,\"FontObject\":\"Arial, 12pt\",\"TextEffectColor\":\"#00FFFFFF\",\"HighlightColor\":\"#00FFFFFF\",\"FontCase\":0,\"HorizontalAlignment\":1,\"VerticalAlignment\":1,\"LineHeight\":0.0},\"SharpItem\":{\"SourceMarker\":{\"Path\":\"\",\"Width\":10.0,\"PathStyle\":0,\"SizeStyle\":10},\"SinkMarker\":{\"Path\":\"M 0 -5 10 0 0 5 z\",\"Width\":10.0,\"PathStyle\":1,\"SizeStyle\":10}}}"}],"Connections":[]}]} \ No newline at end of file diff --git a/AIStudio.Wpf.DiagramApp/ViewModels/LogicalViewModel.cs b/AIStudio.Wpf.DiagramApp/ViewModels/LogicalViewModel.cs index e5943e4..14ee724 100644 --- a/AIStudio.Wpf.DiagramApp/ViewModels/LogicalViewModel.cs +++ b/AIStudio.Wpf.DiagramApp/ViewModels/LogicalViewModel.cs @@ -13,7 +13,7 @@ namespace AIStudio.Wpf.Logical { public LogicalViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType) { - + } public LogicalViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument) { @@ -38,65 +38,83 @@ namespace AIStudio.Wpf.Logical { base.Init(); - TimerDesignerItemViewModel timer = new TimerDesignerItemViewModel() { Left = 0, Top = 10 }; + TimerDesignerItemViewModel timer = new TimerDesignerItemViewModel() { Left = 28, Top = 28 }; timer.Value = 0.5; DiagramViewModel.DirectAddItemCommand.Execute(timer); - InputItemViewModel in1 = new InputItemViewModel() { Left = 0, Top = 50 }; + InputItemViewModel in1 = new InputItemViewModel() { Left = 28, Top = 110 }; in1.LinkPoint = LogicalService.LinkPoint[0]; DiagramViewModel.DirectAddItemCommand.Execute(in1); - InputItemViewModel in2 = new InputItemViewModel() { Left = 0, Top = 80 }; + InputItemViewModel in2 = new InputItemViewModel() { Left = 28, Top = 300 }; in2.LinkPoint = LogicalService.LinkPoint[1]; DiagramViewModel.DirectAddItemCommand.Execute(in2); - AddGateItemViewModel item1 = new AddGateItemViewModel() { Left = 150, Top = 50 }; + AddGateItemViewModel item1 = new AddGateItemViewModel() { Left = 178, Top = 160 }; DiagramViewModel.DirectAddItemCommand.Execute(item1); - ConstantDesignerItemViewModel constant = new ConstantDesignerItemViewModel() { Left = 150, Top = 118 }; + ConstantDesignerItemViewModel constant = new ConstantDesignerItemViewModel() { Left = 178, Top = 300, Value = 10 }; DiagramViewModel.DirectAddItemCommand.Execute(constant); - GTGateItemViewModel gTGate = new GTGateItemViewModel() { Left = 300, Top = 50 }; + GTGateItemViewModel gTGate = new GTGateItemViewModel() { Left = 328, Top = 110 }; DiagramViewModel.DirectAddItemCommand.Execute(gTGate); - InputItemViewModel in3 = new InputItemViewModel() { Left = 300, Top = 118 }; + InputItemViewModel in3 = new InputItemViewModel() { Left = 328, Top = 210 }; in3.LinkPoint = LogicalService.LinkPoint[2]; DiagramViewModel.DirectAddItemCommand.Execute(in3); - InputItemViewModel in4 = new InputItemViewModel() { Left = 300, Top = 148 }; + InputItemViewModel in4 = new InputItemViewModel() { Left = 328, Top = 300 }; in4.LinkPoint = LogicalService.LinkPoint[3]; DiagramViewModel.DirectAddItemCommand.Execute(in4); - SELGateItemViewModel sELGate = new SELGateItemViewModel() { Left = 450, Top = 50 }; + SELGateItemViewModel sELGate = new SELGateItemViewModel() { Left = 478, Top = 160 }; DiagramViewModel.DirectAddItemCommand.Execute(sELGate); - OutputItemViewModel out1 = new OutputItemViewModel() { Left = 600, Top = 50 }; + OutputItemViewModel out1 = new OutputItemViewModel() { Left = 628, Top = 110 }; out1.LinkPoint = LogicalService.LinkPoint[4]; DiagramViewModel.DirectAddItemCommand.Execute(out1); ConnectionViewModel connector1 = new ConnectionViewModel(in1.Output[0], item1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector1.ColorViewModel.FillColor.Color = Colors.Green; + connector1.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector1); ConnectionViewModel connector2 = new ConnectionViewModel(in2.Output[0], item1.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector2.ColorViewModel.FillColor.Color = Colors.Green; + connector2.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector2); ConnectionViewModel connector3 = new ConnectionViewModel(item1.Output[0], gTGate.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector3.ColorViewModel.FillColor.Color = Colors.Green; + connector3.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector3); ConnectionViewModel connector4 = new ConnectionViewModel(constant.Output[0], gTGate.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector4.ColorViewModel.FillColor.Color = Colors.Green; + connector4.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector4); ConnectionViewModel connector5 = new ConnectionViewModel(gTGate.Output[0], sELGate.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector5.ColorViewModel.FillColor.Color = Colors.Green; + connector5.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector5); ConnectionViewModel connector6 = new ConnectionViewModel(in3.Output[0], sELGate.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector6.ColorViewModel.FillColor.Color = Colors.Green; + connector6.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector6); ConnectionViewModel connector7 = new ConnectionViewModel(in4.Output[0], sELGate.Input[2], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector7.ColorViewModel.FillColor.Color = Colors.Green; + connector7.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector7); ConnectionViewModel connector8 = new ConnectionViewModel(sELGate.Output[0], out1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode); + connector8.ColorViewModel.FillColor.Color = Colors.Green; + connector8.ColorViewModel.LineAnimation = LineAnimation.PathAnimation; DiagramViewModel.DirectAddItemCommand.Execute(connector8); + + DiagramViewModel.ClearSelectedItemsCommand.Execute(null); } private void Items_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) @@ -148,6 +166,11 @@ namespace AIStudio.Wpf.Logical private void Do() { + Random rd = new Random(); + foreach (var link in LogicalService.LinkPoint) + { + link.Value = rd.NextDouble() * 10; + } foreach (var item in DiagramViewModel.Items.OfType()) { foreach (var output in item.Output) diff --git a/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml b/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml index e0de588..0c4b359 100644 --- a/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml +++ b/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml @@ -132,9 +132,9 @@ StrokeDashArray="2" Fill="Transparent" SnapsToDevicePixels="true"/> - + - +