Исправила недочеты

This commit is contained in:
bulatova_karina 2023-11-05 15:52:59 +03:00
parent a0f62132e3
commit d55c245c5e
4 changed files with 21 additions and 39 deletions

View File

@ -79,7 +79,7 @@ namespace WarmlyShip
EventArgs e)
{
pictureBoxCollection.Image =
_storage[listBoxStorages.SelectedItem?.ToString() ?? string.Empty]?.ShowShips();
_storage[listBoxStorages.SelectedItem?.ToString() ?? string.Empty]?.ShowShips();
}
/// <summary>
/// Удаление набора
@ -92,11 +92,9 @@ namespace WarmlyShip
{
return;
}
if (MessageBox.Show($"Удалить объект{listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes)
if (MessageBox.Show($"Удалить объект {listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
_storage.DelSet(listBoxStorages.SelectedItem.ToString()
?? string.Empty);
_storage.DelSet(listBoxStorages.SelectedItem.ToString() ?? string.Empty);
ReloadObjects();
}
}
@ -143,14 +141,12 @@ namespace WarmlyShip
{
return;
}
var obj = _storage[listBoxStorages.SelectedItem.ToString() ??
string.Empty];
var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty];
if (obj == null)
{
return;
}
if (MessageBox.Show("Удалить объект?", "Удаление",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
if (MessageBox.Show("Удалить объект?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}

View File

@ -14,7 +14,7 @@ namespace WarmlyShip.Generics
/// </summary>
private readonly List<T?> _places;
/// <summary>
/// Количество объектов в массиве
/// Количество объектов в списке
/// </summary>
public int Count => _places.Count;
/// <summary>
@ -37,39 +37,26 @@ namespace WarmlyShip.Generics
/// <returns></returns>
public bool Insert(T warmlyship)
{
// TODO вставка в начало набора
if (_places.Count == _maxCount)
{
return false;
}
Insert(warmlyship, 0);
return true;
}
/// <summary>
/// Добавление объекта в набор на конкретную позицию
/// </summary>
/// <param name="car">Добавляемый теплоход</param>
/// <param name="warmlyship">Добавляемый теплоход</param>
/// <param name="position">Позиция</param>
/// <returns></returns>
public bool Insert(T warmlyship, int position)
{
int nullIndex = -1;
int i;
if (position < 0 || position >= Count)
return false;
for (i = position; i < Count; i++)
if (!(position >= 0 && position <= Count && _places.Count < _maxCount))
{
if (_places[i] == null)
{
nullIndex = i;
break;
}
}
if (nullIndex < 0)
return false;
for (i = nullIndex; i > position; i--)
{
_places[i] = _places[i - 1];
}
_places[position] = warmlyship;
_places.Insert(position, warmlyship);
return true;
}
/// <summary>
@ -83,7 +70,7 @@ namespace WarmlyShip.Generics
{
return false;
}
_places.RemoveAt(position);
_places[position] = null;
return true;
}
/// <summary>

View File

@ -110,7 +110,7 @@ namespace WarmlyShip.Generics
{
for (int j = 0; j < _pictureHeight / _placeSizeHeight +
1; ++j)
{//линия рамзетки места
{
g.DrawLine(pen, i * _placeSizeWidth, j *
_placeSizeHeight, i * _placeSizeWidth + _placeSizeWidth / 2, j *
_placeSizeHeight);
@ -128,9 +128,6 @@ namespace WarmlyShip.Generics
int i = 0;
foreach (var ship in _collection.GetShips())
{
// TODO получение объекта
// TODO установка позиции
// TODO прорисовка объекта
if (ship != null)
{
int width = _pictureWidth / _placeSizeWidth;

View File

@ -45,7 +45,11 @@ namespace WarmlyShip.Generics
/// <param name="name">Название набора</param>
public void AddSet(string name)
{
_shipStorages.Add(name, new ShipsGenericCollection<DrawingWarmlyShip, DrawingObjectShip>(_pictureWidth, _pictureHeight));
if (_shipStorages.ContainsKey(name))
{
return;
}
_shipStorages[name] = new ShipsGenericCollection<DrawingWarmlyShip, DrawingObjectShip>(_pictureWidth, _pictureHeight);
}
/// <summary>
/// Удаление набора
@ -53,7 +57,6 @@ namespace WarmlyShip.Generics
/// <param name="name">Название набора</param>
public void DelSet(string name)
{
// TODO Прописать логику для удаления
if (!_shipStorages.ContainsKey(name))
{
return;
@ -71,7 +74,6 @@ namespace WarmlyShip.Generics
{
get
{
// TODO Продумать логику получения набора
if (_shipStorages.ContainsKey(ind))
{
return _shipStorages[ind];