Surrounding property was added
This commit is contained in:
14
StructureHelper/Infrastructure/Enums/ActionType.cs
Normal file
14
StructureHelper/Infrastructure/Enums/ActionType.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelper.Infrastructure.Enums
|
||||
{
|
||||
public enum ActionType
|
||||
{
|
||||
ForceCombination,
|
||||
ForceCombinationByFactor
|
||||
}
|
||||
}
|
||||
@@ -263,13 +263,13 @@ namespace StructureHelper.Infrastructure.UI.DataContexts
|
||||
|
||||
public virtual INdmPrimitive GetNdmPrimitive()
|
||||
{
|
||||
RefreshNdmPrimitive();
|
||||
//RefreshNdmPrimitive();
|
||||
return primitive;
|
||||
}
|
||||
|
||||
public virtual void RefreshNdmPrimitive()
|
||||
{
|
||||
}
|
||||
//public virtual void RefreshNdmPrimitive()
|
||||
//{
|
||||
//}
|
||||
|
||||
public void RefreshColor()
|
||||
{
|
||||
|
||||
@@ -17,26 +17,37 @@ namespace StructureHelper.Infrastructure.UI.DataContexts
|
||||
public static ObservableCollection<PrimitiveBase> ConvertNdmPrimitivesToPrimitiveBase(IEnumerable<INdmPrimitive> primitives)
|
||||
{
|
||||
ObservableCollection<PrimitiveBase> viewItems = new ObservableCollection<PrimitiveBase>();
|
||||
foreach (var item in primitives)
|
||||
foreach (var primitive in primitives)
|
||||
{
|
||||
if (item is IRectanglePrimitive)
|
||||
{
|
||||
var rect = item as IRectanglePrimitive;
|
||||
viewItems.Add(new RectangleViewPrimitive(rect));
|
||||
}
|
||||
else if (item is ICirclePrimitive)
|
||||
{
|
||||
var circle = item as ICirclePrimitive;
|
||||
viewItems.Add(new CircleViewPrimitive(circle));
|
||||
}
|
||||
else if (item is IPointPrimitive)
|
||||
{
|
||||
var point = item as IPointPrimitive;
|
||||
viewItems.Add(new PointViewPrimitive(point));
|
||||
}
|
||||
else throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknown);
|
||||
viewItems.Add(ConvertNdmPrimitiveToPrimitiveBase(primitive));
|
||||
}
|
||||
return viewItems;
|
||||
}
|
||||
public static PrimitiveBase ConvertNdmPrimitiveToPrimitiveBase(INdmPrimitive primitive)
|
||||
{
|
||||
PrimitiveBase viewItem;
|
||||
if (primitive is IRectanglePrimitive)
|
||||
{
|
||||
var rect = primitive as IRectanglePrimitive;
|
||||
viewItem = new RectangleViewPrimitive(rect);
|
||||
}
|
||||
else if (primitive is ICirclePrimitive)
|
||||
{
|
||||
var circle = primitive as ICirclePrimitive;
|
||||
viewItem = new CircleViewPrimitive(circle);
|
||||
}
|
||||
else if (primitive is IPointPrimitive & primitive is not ReinforcementPrimitive)
|
||||
{
|
||||
var point = primitive as IPointPrimitive;
|
||||
viewItem = new PointViewPrimitive(point);
|
||||
}
|
||||
else if (primitive is ReinforcementPrimitive)
|
||||
{
|
||||
var point = primitive as ReinforcementPrimitive;
|
||||
viewItem = new ReinforcementViewPrimitive(point);
|
||||
}
|
||||
else throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknown + $". Actual type: {primitive.GetType()}");
|
||||
return viewItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,10 +7,23 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelper.Infrastructure.UI.DataContexts
|
||||
{
|
||||
internal class ReinforcementViewPrimitive : PointViewPrimitive
|
||||
public class ReinforcementViewPrimitive : PointViewPrimitive, IHasSurroundingPrimitive
|
||||
{
|
||||
public ReinforcementViewPrimitive(IPointPrimitive _primitive) : base(_primitive)
|
||||
ReinforcementPrimitive primitive;
|
||||
|
||||
public INdmPrimitive SurroundingPrimitive
|
||||
{
|
||||
get => primitive.SurroundingPrimitive;
|
||||
set
|
||||
{
|
||||
primitive.SurroundingPrimitive = value;
|
||||
OnPropertyChanged(nameof(SurroundingPrimitive));
|
||||
}
|
||||
}
|
||||
|
||||
public ReinforcementViewPrimitive(ReinforcementPrimitive _primitive) : base(_primitive)
|
||||
{
|
||||
primitive = _primitive;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<DataTemplate x:Key="ForceActionTemplate">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="200"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Name"/>
|
||||
<TextBox Grid.Column="1" Text="{Binding Name}"/>
|
||||
<TextBlock Grid.Row="1" Text="Set force into initial Gravity Center"/>
|
||||
<CheckBox Grid.Row="1" Grid.Column="1" Margin="3,5,3,5" IsChecked="{Binding SetInGravityCenter}"/>
|
||||
<TextBlock Grid.Row="2" Text="Center X"/>
|
||||
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding CenterX}" IsEnabled="{Binding CoordEnable}"/>
|
||||
<TextBlock Grid.Row="3" Text="Center Y"/>
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding CenterY}" IsEnabled="{Binding CoordEnable}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="CombinationListTemplate">
|
||||
<Grid Grid.Row="1" DataContext="{Binding DesignForces}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="80"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataGrid x:Name="ForceGrid" Style="{StaticResource ItemsDataGrid}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridComboBoxColumn Header="Limit state" Width="80" MinWidth="70" SelectedItemBinding="{Binding LimitState}" ItemsSource="{Binding Source={StaticResource LimitStateEnum}}"/>
|
||||
<DataGridComboBoxColumn Header="Duration" Width="80" MinWidth="70" SelectedItemBinding="{Binding CalcTerm}" ItemsSource="{Binding Source={StaticResource CalcTermEnum}}"/>
|
||||
<DataGridTextColumn Header="Moment Mx" Width="85" Binding="{Binding ForceTuple.Mx, Converter={StaticResource MomentConverter}, ValidatesOnExceptions=True}"/>
|
||||
<DataGridTextColumn Header="Moment My" Width="85" Binding="{Binding ForceTuple.My, Converter={StaticResource MomentConverter}, ValidatesOnExceptions=True}"/>
|
||||
<DataGridTextColumn Header="Force Nz" Width="85" Binding="{Binding ForceTuple.Nz, Converter={StaticResource ForceConverter}, ValidatesOnExceptions=True}"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<StackPanel Grid.Column="1">
|
||||
<Button Style="{StaticResource AddButton}"/>
|
||||
<Button Style="{StaticResource DeleteButton}"/>
|
||||
<Button Style="{StaticResource CopyButton}"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ResourceDictionary>
|
||||
Reference in New Issue
Block a user