94 lines
2.4 KiB
C#
94 lines
2.4 KiB
C#
using ModuleTools.Enums;
|
||
using System;
|
||
using System.Windows.Forms;
|
||
|
||
namespace DesktopTools.Controls
|
||
{
|
||
public abstract partial class AbstractControlViewEntityList : UserControl
|
||
{
|
||
/// <summary>
|
||
/// Событие, вызываемое при закрытии контрола
|
||
/// </summary>
|
||
protected event Action<Guid> CloseEvent;
|
||
|
||
/// <summary>
|
||
/// Событие, вызываемое при закрытии контрола
|
||
/// </summary>
|
||
public event Action<Guid> CloseEventAdd { add { CloseEvent += value; } remove { CloseEvent -= value; } }
|
||
|
||
/// <summary>
|
||
/// Открытие формы
|
||
/// </summary>
|
||
public abstract void Open();
|
||
|
||
/// <summary>
|
||
/// Закрытие формы
|
||
/// </summary>
|
||
public void Close()
|
||
{
|
||
CloseEvent?.Invoke(ControlId);
|
||
if (FormForSelected != null)
|
||
{
|
||
FormForSelected.DialogResult = DialogResult.Cancel;
|
||
FormForSelected.Close();
|
||
}
|
||
Dispose();
|
||
}
|
||
|
||
/// <summary>
|
||
/// Дубликат контрола
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public abstract AbstractControlViewEntityList Clone();
|
||
|
||
/// <summary>
|
||
/// Идентификатор контрола
|
||
/// </summary>
|
||
public Guid ControlId { get; protected set; }
|
||
|
||
/// <summary>
|
||
/// Заголовок контрола
|
||
/// </summary>
|
||
public string Title { get; protected set; }
|
||
|
||
/// <summary>
|
||
/// Порядок контрола в меню
|
||
/// </summary>
|
||
public int Order { get; protected set; }
|
||
|
||
/// <summary>
|
||
/// Операция в системе
|
||
/// </summary>
|
||
public AccessOperation AccessOperation { get; protected set; }
|
||
|
||
/// <summary>
|
||
/// Идентификатор выбранной записи
|
||
/// </summary>
|
||
public Guid? SelectedId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Название выбранной записи
|
||
/// </summary>
|
||
public string SelectedText { get; set; }
|
||
|
||
/// <summary>
|
||
/// Ссылка на форму, в который открыевается контрол для выбора значения
|
||
/// </summary>
|
||
public Form FormForSelected { get; set; }
|
||
|
||
/// <summary>
|
||
/// Получение названиия объекта по его идентификатору
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
public abstract string GetTitleFromId(Guid id);
|
||
|
||
/// <summary>
|
||
/// Констркутор
|
||
/// </summary>
|
||
public AbstractControlViewEntityList()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
}
|
||
}
|