tbf/WorkflowConfigurator/UserControls/IMyUI.cs
2022-01-07 12:23:23 +01:00

60 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using SharedDatabase.Entities;
namespace WorkflowConfigurator.UserControls
{
/// <summary>
/// Interface to be implemented by (sub)controls
/// for process/part/workstep modification.
/// </summary>
public interface IMyUI
{
/// <summary>
/// Update UI elements lock state (visible/enabled/etc.)
/// </summary>
/// <param name="limitedUnlock">Process name, descriptions, checks and Oracle parameters can be changed</param>
/// <param name="completeUnlock">Everything can be changed</param>
void UpdateLockState(bool limitedUnlock, bool completeUnlock);
/// <summary>
/// Update UI elements from data objects.
/// </summary>
void Data2UI();
/// <summary>
/// Verify validity of data in UI elements.
/// </summary>
/// <param name="message">Messgae when data are not valid</param>
/// <returns>true = data valid</returns>
bool VerifyUIData(out string message);
/// <summary>
/// Update data objects from UI elements.
/// </summary>
void UI2Data();
/// <summary>
/// Save UI settings like splitter positions, column widths, etc. to Program.LocalSettings object.
/// </summary>
void Settings2UI();
/// <summary>
/// SRestore UI settings like splitter positions, column widths, etc. from Program.LocalSettings object.
/// </summary>
void UI2Settings();
/// <summary>
/// Set 'unsavedChanges' etc. Called from bottom to top.
/// </summary>
void SetUnsavedFlag();
/// <summary>
/// Reset 'unsavedChanges' etc. Called from top to bottom.
/// </summary>
void ResetUnsavedFlag();
void UpdateProcess(Process process, Reason reason, IList<Process> allProcesses);
}
}