.
This commit is contained in:
@@ -22,20 +22,21 @@
|
|||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Name, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" />
|
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Material, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Weight, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Power:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Power:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_powerTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_powerTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Power, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Fuel capacity:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Fuel capacity:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_fuelСapacityTextBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_fuelСapacityTextBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" Text="{Binding FuelCapacity, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Button Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
<Button Content="Cancel" IsCancel="True" Grid.Row="5" Grid.Column="0" Margin="5,5,5,5" />
|
||||||
|
<Button Name="_saveButton" Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -22,8 +22,9 @@ namespace Lab2
|
|||||||
/// Конструктор
|
/// Конструктор
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="parLawnmower">Газонокосилка для редактирования</param>
|
/// <param name="parLawnmower">Газонокосилка для редактирования</param>
|
||||||
|
/// <param name="parReadOnly">Доступность полей формы</param>
|
||||||
/// <exception cref="ArgumentNullException">Выбрасывается, когда газонокосилка равна null</exception>
|
/// <exception cref="ArgumentNullException">Выбрасывается, когда газонокосилка равна null</exception>
|
||||||
public CreateLawnmower(Lawnmower parLawnmower)
|
public CreateLawnmower(Lawnmower parLawnmower, bool parReadOnly = false)
|
||||||
{
|
{
|
||||||
if (parLawnmower == null)
|
if (parLawnmower == null)
|
||||||
throw new ArgumentNullException(nameof(parLawnmower));
|
throw new ArgumentNullException(nameof(parLawnmower));
|
||||||
@@ -33,21 +34,27 @@ namespace Lab2
|
|||||||
_materialComboBox.ItemsSource = Enum.GetValues(typeof(Material));
|
_materialComboBox.ItemsSource = Enum.GetValues(typeof(Material));
|
||||||
|
|
||||||
_lawnmower = parLawnmower;
|
_lawnmower = parLawnmower;
|
||||||
|
DataContext = _lawnmower;
|
||||||
|
|
||||||
Title = $"Lawnmower {_lawnmower.Id}";
|
Title = $"Lawnmower {_lawnmower.Id}";
|
||||||
SyncFields();
|
|
||||||
|
SetEnabled(!parReadOnly);
|
||||||
|
|
||||||
|
if (parReadOnly)
|
||||||
|
_saveButton.Content = "Ok";
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Синхронизирует поля формы с данными
|
/// Устанавливает доступность полей формы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SyncFields()
|
/// <param name="parEnabled">Доступность</param>
|
||||||
|
private void SetEnabled(bool parEnabled)
|
||||||
{
|
{
|
||||||
_nameTextBox.Text = _lawnmower.Name;
|
_nameTextBox.IsEnabled = parEnabled;
|
||||||
_materialComboBox.SelectedItem = _lawnmower.Material;
|
_materialComboBox.IsEnabled = parEnabled;
|
||||||
_weightTextBox.Text = _lawnmower.Weight.ToString(CultureInfo.CurrentCulture);
|
_weightTextBox.IsEnabled = parEnabled;
|
||||||
_powerTextBox.Text = _lawnmower.Power.ToString();
|
_powerTextBox.IsEnabled = parEnabled;
|
||||||
_fuelСapacityTextBox.Text = _lawnmower.FuelCapacity.ToString(CultureInfo.CurrentCulture);
|
_fuelСapacityTextBox.IsEnabled = parEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -22,20 +22,21 @@
|
|||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Name, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" />
|
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Material, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Weight, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Handle length:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Handle length:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_handleLengthTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_handleLengthTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" Text="{Binding HandleLength, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Blade size:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Blade size:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_bladeSizeTextBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_bladeSizeTextBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" Text="{Binding BladeSize, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Button Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
<Button Content="Cancel" IsCancel="True" Grid.Row="5" Grid.Column="0" Margin="5,5,5,5" />
|
||||||
|
<Button Name="_saveButton" Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -22,8 +22,9 @@ namespace Lab2
|
|||||||
/// Конструктор
|
/// Конструктор
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="parScissors">Ножницы для редактирования</param>
|
/// <param name="parScissors">Ножницы для редактирования</param>
|
||||||
|
/// <param name="parReadOnly">Доступность полей формы</param>
|
||||||
/// <exception cref="ArgumentNullException">Выбрасывается, когда ножницы равны null</exception>
|
/// <exception cref="ArgumentNullException">Выбрасывается, когда ножницы равны null</exception>
|
||||||
public CreateScissors(Scissors parScissors)
|
public CreateScissors(Scissors parScissors, bool parReadOnly = false)
|
||||||
{
|
{
|
||||||
if (parScissors == null)
|
if (parScissors == null)
|
||||||
throw new ArgumentNullException(nameof(parScissors));
|
throw new ArgumentNullException(nameof(parScissors));
|
||||||
@@ -33,21 +34,27 @@ namespace Lab2
|
|||||||
_materialComboBox.ItemsSource = Enum.GetValues(typeof(Material));
|
_materialComboBox.ItemsSource = Enum.GetValues(typeof(Material));
|
||||||
|
|
||||||
_scissors = parScissors;
|
_scissors = parScissors;
|
||||||
|
DataContext = _scissors;
|
||||||
|
|
||||||
Title = $"Scissors {_scissors.Id}";
|
Title = $"Scissors {_scissors.Id}";
|
||||||
SyncFields();
|
|
||||||
|
SetEnabled(!parReadOnly);
|
||||||
|
|
||||||
|
if (parReadOnly)
|
||||||
|
_saveButton.Content = "Ok";
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Синхронизирует поля формы с данными
|
/// Устанавливает доступность полей формы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SyncFields()
|
/// <param name="parEnabled">Доступность</param>
|
||||||
|
private void SetEnabled(bool parEnabled)
|
||||||
{
|
{
|
||||||
_nameTextBox.Text = _scissors.Name;
|
_nameTextBox.IsEnabled = parEnabled;
|
||||||
_materialComboBox.SelectedItem = _scissors.Material;
|
_materialComboBox.IsEnabled = parEnabled;
|
||||||
_weightTextBox.Text = _scissors.Weight.ToString(CultureInfo.CurrentCulture);
|
_weightTextBox.IsEnabled = parEnabled;
|
||||||
_handleLengthTextBox.Text = _scissors.HandleLength.ToString(CultureInfo.CurrentCulture);
|
_handleLengthTextBox.IsEnabled = parEnabled;
|
||||||
_bladeSizeTextBox.Text = _scissors.BladeSize.ToString(CultureInfo.CurrentCulture);
|
_bladeSizeTextBox.IsEnabled = parEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -22,20 +22,21 @@
|
|||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Name, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" />
|
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Material, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Weight, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Handle length:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Handle length:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_handleLengthTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_handleLengthTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" Text="{Binding HandleLength, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Blade type:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Blade type:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<ComboBox x:Name="_bladeTypeComboBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" />
|
<ComboBox x:Name="_bladeTypeComboBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" Text="{Binding BladeType, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Button Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
<Button Content="Cancel" IsCancel="True" Grid.Row="5" Grid.Column="0" Margin="5,5,5,5" />
|
||||||
|
<Button Name="_saveButton" Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -22,8 +22,9 @@ namespace Lab2
|
|||||||
/// Конструктор
|
/// Конструктор
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="parScythe">Коса для редактирования</param>
|
/// <param name="parScythe">Коса для редактирования</param>
|
||||||
|
/// <param name="parReadOnly">Доступность полей формы</param>
|
||||||
/// <exception cref="ArgumentNullException">Выбрасывается, когда коса равна null</exception>
|
/// <exception cref="ArgumentNullException">Выбрасывается, когда коса равна null</exception>
|
||||||
public CreateScythe(Scythe parScythe)
|
public CreateScythe(Scythe parScythe, bool parReadOnly = false)
|
||||||
{
|
{
|
||||||
if (parScythe == null)
|
if (parScythe == null)
|
||||||
throw new ArgumentNullException(nameof(parScythe));
|
throw new ArgumentNullException(nameof(parScythe));
|
||||||
@@ -34,21 +35,27 @@ namespace Lab2
|
|||||||
_bladeTypeComboBox.ItemsSource = Enum.GetValues(typeof(BladeType));
|
_bladeTypeComboBox.ItemsSource = Enum.GetValues(typeof(BladeType));
|
||||||
|
|
||||||
_scythe = parScythe;
|
_scythe = parScythe;
|
||||||
|
DataContext = _scythe;
|
||||||
|
|
||||||
Title = $"Scythe {_scythe.Id}";
|
Title = $"Scythe {_scythe.Id}";
|
||||||
SyncFields();
|
|
||||||
|
SetEnabled(!parReadOnly);
|
||||||
|
|
||||||
|
if (parReadOnly)
|
||||||
|
_saveButton.Content = "Ok";
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Синхронизирует поля формы с данными
|
/// Устанавливает доступность полей формы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SyncFields()
|
/// <param name="parEnabled">Доступность</param>
|
||||||
|
private void SetEnabled(bool parEnabled)
|
||||||
{
|
{
|
||||||
_nameTextBox.Text = _scythe.Name;
|
_nameTextBox.IsEnabled = parEnabled;
|
||||||
_materialComboBox.SelectedItem = _scythe.Material;
|
_materialComboBox.IsEnabled = parEnabled;
|
||||||
_weightTextBox.Text = _scythe.Weight.ToString(CultureInfo.CurrentCulture);
|
_weightTextBox.IsEnabled = parEnabled;
|
||||||
_handleLengthTextBox.Text = _scythe.HandleLength.ToString(CultureInfo.CurrentCulture);
|
_handleLengthTextBox.IsEnabled = parEnabled;
|
||||||
_bladeTypeComboBox.SelectedItem = _scythe.BladeType;
|
_bladeTypeComboBox.IsEnabled = parEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -22,20 +22,21 @@
|
|||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Name:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_nameTextBox" Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Name, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Material:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" />
|
<ComboBox x:Name="_materialComboBox" Grid.Row="1" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Material, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Weight:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_weightTextBox" Grid.Row="2" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Weight, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Power:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Power:" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<TextBox x:Name="_powerTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" />
|
<TextBox x:Name="_powerTextBox" Grid.Row="3" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Power, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Label Content="Mode:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
<Label Content="Mode:" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" />
|
||||||
<ComboBox x:Name="_modeComboBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" />
|
<ComboBox x:Name="_modeComboBox" Grid.Row="4" Grid.Column="1" Margin="5,5,5,5" Text="{Binding Mode, UpdateSourceTrigger=Explicit}" />
|
||||||
|
|
||||||
<Button Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
<Button Content="Cancel" IsCancel="True" Grid.Row="5" Grid.Column="0" Margin="5,5,5,5" />
|
||||||
|
<Button Name="_saveButton" Click="SaveButton_Click" Content="Save" Grid.Row="5" Grid.Column="1" Margin="5,5,5,5" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -22,8 +22,9 @@ namespace Lab2
|
|||||||
/// Конструктор
|
/// Конструктор
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="parTrimmer">Триммер для редактирования</param>
|
/// <param name="parTrimmer">Триммер для редактирования</param>
|
||||||
|
/// <param name="parReadOnly">Доступность полей формы</param>
|
||||||
/// <exception cref="ArgumentNullException">Выбрасывается, когда триммер равен null</exception>
|
/// <exception cref="ArgumentNullException">Выбрасывается, когда триммер равен null</exception>
|
||||||
public CreateTrimmer(Trimmer parTrimmer)
|
public CreateTrimmer(Trimmer parTrimmer, bool parReadOnly = false)
|
||||||
{
|
{
|
||||||
if (parTrimmer == null)
|
if (parTrimmer == null)
|
||||||
throw new ArgumentNullException(nameof(parTrimmer));
|
throw new ArgumentNullException(nameof(parTrimmer));
|
||||||
@@ -34,21 +35,27 @@ namespace Lab2
|
|||||||
_modeComboBox.ItemsSource = Enum.GetValues(typeof(TrimmerMode));
|
_modeComboBox.ItemsSource = Enum.GetValues(typeof(TrimmerMode));
|
||||||
|
|
||||||
_trimmer = parTrimmer;
|
_trimmer = parTrimmer;
|
||||||
|
DataContext = _trimmer;
|
||||||
|
|
||||||
Title = $"Trimmer {_trimmer.Id}";
|
Title = $"Trimmer {_trimmer.Id}";
|
||||||
SyncFields();
|
|
||||||
|
SetEnabled(!parReadOnly);
|
||||||
|
|
||||||
|
if (parReadOnly)
|
||||||
|
_saveButton.Content = "Ok";
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Синхронизирует поля формы с данными
|
/// Устанавливает доступность полей формы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SyncFields()
|
/// <param name="parEnabled">Доступность</param>
|
||||||
|
private void SetEnabled(bool parEnabled)
|
||||||
{
|
{
|
||||||
_nameTextBox.Text = _trimmer.Name;
|
_nameTextBox.IsEnabled = parEnabled;
|
||||||
_materialComboBox.SelectedItem = _trimmer.Material;
|
_materialComboBox.IsEnabled = parEnabled;
|
||||||
_weightTextBox.Text = _trimmer.Weight.ToString(CultureInfo.CurrentCulture);
|
_weightTextBox.IsEnabled = parEnabled;
|
||||||
_powerTextBox.Text = _trimmer.Power.ToString();
|
_powerTextBox.IsEnabled = parEnabled;
|
||||||
_modeComboBox.SelectedItem = _trimmer.Mode;
|
_modeComboBox.IsEnabled = parEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -56,14 +56,14 @@ namespace Lab2
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="parTool"> Инструмент </param>
|
/// <param name="parTool"> Инструмент </param>
|
||||||
/// <returns> True, если редактирование прошло успешно, иначе - false </returns>
|
/// <returns> True, если редактирование прошло успешно, иначе - false </returns>
|
||||||
private bool ShowEditForm(Tool parTool)
|
private bool ShowEditForm(Tool parTool, bool parReadOnly = false)
|
||||||
{
|
{
|
||||||
Window? form = parTool switch
|
Window? form = parTool switch
|
||||||
{
|
{
|
||||||
Scissors scissors => new CreateScissors(scissors),
|
Scissors scissors => new CreateScissors(scissors, parReadOnly),
|
||||||
Scythe scythe => new CreateScythe(scythe),
|
Scythe scythe => new CreateScythe(scythe, parReadOnly),
|
||||||
Trimmer trimmer => new CreateTrimmer(trimmer),
|
Trimmer trimmer => new CreateTrimmer(trimmer, parReadOnly),
|
||||||
Lawnmower lawnmower => new CreateLawnmower(lawnmower),
|
Lawnmower lawnmower => new CreateLawnmower(lawnmower, parReadOnly),
|
||||||
_ => null,
|
_ => null,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -175,10 +175,14 @@ namespace Lab2
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void DeleteSelectedButton_Click(object sender, RoutedEventArgs e)
|
private void DeleteSelectedButton_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (!IsValidIndex(_dataGrid.SelectedIndex))
|
var selected = GetSelectedItem();
|
||||||
|
if (selected == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_tools.RemoveAt(_dataGrid.SelectedIndex);
|
if (!ShowEditForm(selected, true))
|
||||||
|
return;
|
||||||
|
|
||||||
|
_tools.Remove(selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user