This commit is contained in:
艾竹
2023-03-29 22:55:12 +08:00
parent f80a67ff10
commit 02ebd056b3
8 changed files with 37 additions and 34 deletions

View File

@@ -1499,7 +1499,7 @@
<Path Width="10" Height="10" Stretch="Uniform" Fill="Black" Data="M17,9.17a1,1,0,0,0-1.41,0L12,12.71,8.46,9.17a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.42l4.24,4.24a1,1,0,0,0,1.42,0L17,10.59A1,1,0,0,0,17,9.17Z"></Path> <Path Width="10" Height="10" Stretch="Uniform" Fill="Black" Data="M17,9.17a1,1,0,0,0-1.41,0L12,12.71,8.46,9.17a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.42l4.24,4.24a1,1,0,0,0,1.42,0L17,10.59A1,1,0,0,0,17,9.17Z"></Path>
</Button> </Button>
<Line X1="0" Y1="0" X2="150" Y2="0" Stroke="Gray" StrokeThickness="0.5" VerticalAlignment="Bottom" Grid.ColumnSpan="3"></Line> <Line X1="0" Y1="0" X2="150" Y2="0" Stroke="Gray" StrokeThickness="0.5" VerticalAlignment="Bottom" Grid.ColumnSpan="3"></Line>
<TextBlock Grid.Row="1" Grid.ColumnSpan="3" Text="{Binding PageViewModel.DiagramViewModel.SearchInfo}"/> <TextBlock Grid.Row="1" Grid.ColumnSpan="3" Margin="2,0,0,0" VerticalAlignment="Center" Text="{Binding PageViewModel.DiagramViewModel.SearchInfo}"/>
</Grid> </Grid>
</Border> </Border>
</Fluent:RibbonGroupBox> </Fluent:RibbonGroupBox>

View File

@@ -592,7 +592,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{ {
get get
{ {
return _searchText; return _searchInfo;
} }
set set
{ {
@@ -2645,7 +2645,7 @@ namespace AIStudio.Wpf.DiagramDesigner
private void ExecutedSearchDownCommand(object obj) private void ExecutedSearchDownCommand(object obj)
{ {
if (obj != null) if (!string.IsNullOrEmpty(obj?.ToString()))
{ {
var selecteddesign = SelectedItem as DesignerItemViewModelBase; var selecteddesign = SelectedItem as DesignerItemViewModelBase;
var searchitems = Items.OfType<DesignerItemViewModelBase>().Where(p => p.Text?.Contains(obj.ToString()) == true).ToList(); var searchitems = Items.OfType<DesignerItemViewModelBase>().Where(p => p.Text?.Contains(obj.ToString()) == true).ToList();

View File

@@ -679,7 +679,7 @@
<Path Width="10" Height="10" Stretch="Uniform" Fill="Black" Data="M17,9.17a1,1,0,0,0-1.41,0L12,12.71,8.46,9.17a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.42l4.24,4.24a1,1,0,0,0,1.42,0L17,10.59A1,1,0,0,0,17,9.17Z"></Path> <Path Width="10" Height="10" Stretch="Uniform" Fill="Black" Data="M17,9.17a1,1,0,0,0-1.41,0L12,12.71,8.46,9.17a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.42l4.24,4.24a1,1,0,0,0,1.42,0L17,10.59A1,1,0,0,0,17,9.17Z"></Path>
</Button> </Button>
<Line X1="0" Y1="0" X2="150" Y2="0" Stroke="Gray" StrokeThickness="0.5" VerticalAlignment="Bottom" Grid.ColumnSpan="3"></Line> <Line X1="0" Y1="0" X2="150" Y2="0" Stroke="Gray" StrokeThickness="0.5" VerticalAlignment="Bottom" Grid.ColumnSpan="3"></Line>
<TextBlock Grid.Row="1" Grid.ColumnSpan="3" Text="{Binding SearchInfo}"/> <TextBlock Grid.Row="1" Grid.ColumnSpan="3" Margin="2,0,0,0" VerticalAlignment="Center" Text="{Binding SearchInfo}" />
</Grid> </Grid>
</Border> </Border>
</StackPanel> </StackPanel>

View File

@@ -138,8 +138,10 @@ namespace AIStudio.Wpf.Mind.Helpers
{ {
if (mindNode.NodeLevel == 0) if (mindNode.NodeLevel == 0)
{ {
double left = mindNode.MiddlePosition.X - Math.Max(mindNode.DesiredSize.Width, mindNode.Children.SumOrDefault(p => p.DesiredSize.Width)) / 2; mindNode.DesiredPosition = mindNode.Position;
double top = mindNode.MiddlePosition.Y + mindNode.ItemHeight / 2 + mindNode.Spacing.Height;
double left = mindNode.DesiredPosition.X + mindNode.ItemWidth / 2 - Math.Max(mindNode.DesiredSize.Width, mindNode.Children.SumOrDefault(p => p.DesiredSize.Width)) / 2;
double top = mindNode.DesiredPosition.Y + mindNode.ItemHeight + mindNode.Spacing.Height;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)
@@ -160,13 +162,12 @@ namespace AIStudio.Wpf.Mind.Helpers
} }
} }
mindNode.DesiredPosition = mindNode.Position;
mindNode.Offset = new PointBase();//修正后归0 mindNode.Offset = new PointBase();//修正后归0
} }
else else
{ {
double left = mindNode.DesiredMiddlePosition.X; double left = mindNode.DesiredPosition.X + mindNode.ItemWidth / 2;
double top = mindNode.DesiredMiddlePosition.Y + mindNode.ItemHeight / 2 + mindNode.Spacing.Height; double top = mindNode.DesiredPosition.Y + mindNode.ItemHeight + mindNode.Spacing.Height;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)

View File

@@ -176,9 +176,11 @@ namespace AIStudio.Wpf.Mind.Helpers
{ {
if (mindNode.NodeLevel == 0) if (mindNode.NodeLevel == 0)
{ {
mindNode.DesiredPosition = mindNode.Position;
var tops = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.BottomLeft).ToList(); var tops = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.BottomLeft).ToList();
double topleft = mindNode.MiddlePosition.X + mindNode.ItemWidth / 2 + mindNode.Spacing.Width; double topleft = mindNode.DesiredPosition.X + mindNode.ItemWidth + mindNode.Spacing.Width;
double toptop = mindNode.MiddlePosition.Y - mindNode.ItemHeight / 2 - mindNode.Spacing.Height; double toptop = mindNode.DesiredPosition.Y - mindNode.Spacing.Height;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
@@ -201,8 +203,8 @@ namespace AIStudio.Wpf.Mind.Helpers
var bottomoffset = mindNode.Spacing.Width / 2; var bottomoffset = mindNode.Spacing.Width / 2;
var bottoms = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.TopLeft).ToList(); var bottoms = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.TopLeft).ToList();
double bottomleft = mindNode.MiddlePosition.X + mindNode.ItemWidth / 2 + mindNode.Spacing.Width + bottomoffset; double bottomleft = mindNode.DesiredPosition.X + mindNode.ItemWidth + mindNode.Spacing.Width + bottomoffset;
double bottomtop = mindNode.MiddlePosition.Y + mindNode.ItemHeight / 2 + mindNode.Spacing.Height; double bottomtop = mindNode.DesiredPosition.Y + mindNode.ItemHeight + mindNode.Spacing.Height;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
@@ -223,7 +225,6 @@ namespace AIStudio.Wpf.Mind.Helpers
} }
} }
mindNode.DesiredPosition = mindNode.Position;
mindNode.Offset = new PointBase();//修正后归0 mindNode.Offset = new PointBase();//修正后归0
} }
else if (mindNode.NodeLevel == 1) else if (mindNode.NodeLevel == 1)
@@ -281,8 +282,8 @@ namespace AIStudio.Wpf.Mind.Helpers
{ {
if (mindNode.GetLevel1Node().ConnectorOrientation == ConnectorOrientation.BottomLeft) if (mindNode.GetLevel1Node().ConnectorOrientation == ConnectorOrientation.BottomLeft)
{ {
double left = mindNode.DesiredMiddlePosition.X; double left = mindNode.DesiredPosition.X + mindNode.ItemWidth / 2;
double top = mindNode.DesiredMiddlePosition.Y + mindNode.ItemHeight / 2 + mindNode.Spacing.Height; double top = mindNode.DesiredPosition.Y + mindNode.ItemHeight + mindNode.Spacing.Height;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)
@@ -304,8 +305,8 @@ namespace AIStudio.Wpf.Mind.Helpers
} }
else else
{ {
double left = mindNode.DesiredMiddlePosition.X; double left = mindNode.DesiredPosition.X + mindNode.ItemWidth / 2;
double bottom = mindNode.DesiredMiddlePosition.Y - mindNode.ItemHeight / 2 - mindNode.Spacing.Height; double bottom = mindNode.DesiredPosition.Y - mindNode.Spacing.Height;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)

View File

@@ -131,8 +131,8 @@ namespace AIStudio.Wpf.Mind.Helpers
mindNode.DesiredPosition = mindNode.Position; mindNode.DesiredPosition = mindNode.Position;
} }
double left = mindNode.DesiredMiddlePosition.X + mindNode.ItemWidth / 2 + mindNode.Spacing.Width; double left = mindNode.DesiredPosition.X + mindNode.ItemWidth + mindNode.Spacing.Width;
double top = mindNode.DesiredMiddlePosition.Y - Math.Min(mindNode.DesiredSize.Height, mindNode.Children.SumOrDefault(p => p.DesiredSize.Height)) / 2; double top = mindNode.DesiredPosition.Y + mindNode.ItemHeight / 2 - Math.Min(mindNode.DesiredSize.Height, mindNode.Children.SumOrDefault(p => p.DesiredSize.Height)) / 2;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)

View File

@@ -143,11 +143,13 @@ namespace AIStudio.Wpf.Mind.Helpers
{ {
if (mindNode.NodeLevel == 0) if (mindNode.NodeLevel == 0)
{ {
mindNode.DesiredPosition = mindNode.Position;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
var rights = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.Left).ToList(); var rights = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.Left).ToList();
double left = mindNode.MiddlePosition.X + mindNode.ItemWidth / 2 + mindNode.Spacing.Width; double left = mindNode.DesiredPosition.X + mindNode.ItemWidth + mindNode.Spacing.Width;
double lefttop = mindNode.MiddlePosition.Y - Math.Min(mindNode.DesiredSize.Height, rights.SumOrDefault(p => p.DesiredSize.Height)) / 2; double lefttop = mindNode.DesiredPosition.Y + mindNode.ItemHeight / 2 - Math.Min(mindNode.DesiredSize.Height, rights.SumOrDefault(p => p.DesiredSize.Height)) / 2;
foreach (var child in rights) foreach (var child in rights)
{ {
child.Offset = new PointBase(child.Offset.X - child.RootNode.Offset.X, child.Offset.Y - child.RootNode.Offset.Y); child.Offset = new PointBase(child.Offset.X - child.RootNode.Offset.X, child.Offset.Y - child.RootNode.Offset.Y);
@@ -166,8 +168,8 @@ namespace AIStudio.Wpf.Mind.Helpers
} }
var lefts = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.Right).ToList(); var lefts = mindNode.Children.Where(p => p.ConnectorOrientation == ConnectorOrientation.Right).ToList();
double right = mindNode.MiddlePosition.X - mindNode.ItemWidth / 2 - mindNode.Spacing.Width; double right = mindNode.DesiredPosition.X - mindNode.Spacing.Width;
double righttop = mindNode.MiddlePosition.Y - Math.Min(mindNode.DesiredSize.Height, lefts.SumOrDefault(p => p.DesiredSize.Height)) / 2; double righttop = mindNode.DesiredPosition.Y + mindNode.ItemHeight / 2 - Math.Min(mindNode.DesiredSize.Height, lefts.SumOrDefault(p => p.DesiredSize.Height)) / 2;
foreach (var child in lefts) foreach (var child in lefts)
{ {
child.Offset = new PointBase(child.Offset.X - child.RootNode.Offset.X, child.Offset.Y - child.RootNode.Offset.Y); child.Offset = new PointBase(child.Offset.X - child.RootNode.Offset.X, child.Offset.Y - child.RootNode.Offset.Y);
@@ -185,15 +187,14 @@ namespace AIStudio.Wpf.Mind.Helpers
} }
} }
mindNode.DesiredPosition = mindNode.Position;
mindNode.Offset = new PointBase();//修正后归0 mindNode.Offset = new PointBase();//修正后归0
} }
else else
{ {
if (mindNode.GetLevel1Node().ConnectorOrientation == ConnectorOrientation.Left) if (mindNode.GetLevel1Node().ConnectorOrientation == ConnectorOrientation.Left)
{ {
double left = mindNode.DesiredMiddlePosition.X + mindNode.ItemWidth / 2 + mindNode.Spacing.Width; double left = mindNode.DesiredPosition.X + mindNode.ItemWidth + mindNode.Spacing.Width;
double top = mindNode.DesiredMiddlePosition.Y - Math.Min(mindNode.DesiredSize.Height, mindNode.Children.SumOrDefault(p => p.DesiredSize.Height)) / 2; double top = mindNode.DesiredPosition.Y + mindNode.ItemHeight / 2 - Math.Min(mindNode.DesiredSize.Height, mindNode.Children.SumOrDefault(p => p.DesiredSize.Height)) / 2;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)
@@ -215,8 +216,8 @@ namespace AIStudio.Wpf.Mind.Helpers
} }
else else
{ {
double right = mindNode.DesiredMiddlePosition.X - mindNode.ItemWidth / 2 - mindNode.Spacing.Width; double right = mindNode.DesiredPosition.X - mindNode.Spacing.Width;
double top = mindNode.DesiredMiddlePosition.Y - Math.Min(mindNode.DesiredSize.Height, mindNode.Children.SumOrDefault(p => p.DesiredSize.Height)) / 2; double top = mindNode.DesiredPosition.Y + mindNode.ItemHeight / 2 - Math.Min(mindNode.DesiredSize.Height, mindNode.Children.SumOrDefault(p => p.DesiredSize.Height)) / 2;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)

View File

@@ -133,8 +133,8 @@ namespace AIStudio.Wpf.Mind.Helpers
mindNode.DesiredPosition = mindNode.Position; mindNode.DesiredPosition = mindNode.Position;
} }
double left = mindNode.DesiredMiddlePosition.X - Math.Max(mindNode.DesiredSize.Width, mindNode.Children.SumOrDefault(p => p.DesiredSize.Width)) / 2; double left = mindNode.DesiredPosition.X + mindNode.ItemWidth / 2 - Math.Max(mindNode.DesiredSize.Width, mindNode.Children.SumOrDefault(p => p.DesiredSize.Width)) / 2;
double top = mindNode.DesiredMiddlePosition.Y + mindNode.ItemHeight / 2 + mindNode.Spacing.Height; double top = mindNode.DesiredPosition.Y + mindNode.ItemHeight + mindNode.Spacing.Height;
if (mindNode.Children?.Count > 0) if (mindNode.Children?.Count > 0)
{ {
foreach (var child in mindNode.Children) foreach (var child in mindNode.Children)