Files
DP44/Common/DTS.Common/.svn/pristine/65/65222504cc62bf56a2c6b28df671504edee800e4.svn-base

76 lines
3.6 KiB
Plaintext
Raw Normal View History

2026-04-17 14:55:32 -04:00
using DTS.Common.Base;
using DTS.Common.Enums.Sensors;
using DTS.Common.Interface.Pagination;
using System;
using System.Collections.Generic;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorsListViewModel : IBaseViewModel, IFilterableListView
{
ISensorsListView View { get; set; }
IAnalogSensor[] AnalogSensors { get; set; }
ISquib[] Squibs { get; set; }
IDigitalInputSetting[] DigitalInputSettings { get; set; }
IDigitalOutputSetting[] DigitalOutputSettings { get; set; }
IUartIOSetting[] UartIOSettings { get; set; }
IStreamOutputSetting[] StreamOutputSettings { get; set; }
CalibrationBehaviors CalibrationBehavior { get; set; }
void HandleAssemblyVisibilityColumns(bool bDontAllowDataCollectionIfOverused);
void HandleInspectBeforeUseVisibilityColumn(bool show);
void GetSensors(int sensorCalWarningPeriodDays, bool dontAllowDataCollectionIfOverused, int sensorUsageWarningCount,
bool included, Action OnComplete);
/// <summary>
/// retrieves and populates view model with all sensors matching sensors allowed
/// </summary>
/// <param name="sensorCalWarningPeriodDays">cal warning period in days, used for colorization</param>
/// <param name="sensorsAllowed">array of which sensors to display</param>
/// <param name="sensors">dictionary look up of databaseid to ISensorData for sensors in a test</param>
void GetSensors(int sensorCalWarningPeriodDays, int[] sensorsAllowed, IReadOnlyDictionary<int, ISensorData> sensors);
void SetSelectedSerial(string serialNumber);
void Sort(object sortBy, bool bColumnClick);
void SortOverdue(object sortBy, bool bColumnClick);
void Unset();
void Filter(string currentFilter);
void FilterSquib(object columnTag, string searchTerm);
void FilterDigitalIn(object columnTag, string searchTerm);
void FilterDigitalOut(object columnTag, string searchTerm);
void FilterUartIO(object columnTag, string searchTerm);
void FilterStreamIn(object columnTag, string searchTerm);
void FilterStreamOut(object columnTag, string searchTerm);
void SetCachedSensors(ISensorData[] cachedSensors);
void SetCachedCalibrations(ISensorCalibration[] sensorCalibrations);
string CapacityFormat { get; set; }
/// <summary>
/// determines whether included columns are used in models/views
/// </summary>
/// <param name="bUsesIncludedColumn"></param>
void UseIncludedColumn(bool bUsesIncludedColumn);
/// <summary>
///// determines whether the Assembly, Usage count, and Maximum usage columns are used in models/views
///// </summary>
///// <param name="bUsesIncludedColumn"></param>
//void UseUsageCountColumns(bool bUsesUsageCountColumns);
/// <summary>
/// sets the included property for all sensors
/// </summary>
/// <param name="bIncluded"></param>
void SetIncludedAll(bool bIncluded);
/// <summary>
/// returns all the included sensors
/// </summary>
/// <returns></returns>
IDragAndDropItem[] GetIncludedSensors();
/// <summary>
/// controls whether TDC incompatible sensors should be included or not
/// </summary>
bool ShowOnlyTDCSensors { set; }
/// <summary>
/// controls whether Sliceware incompatible sensors should be included or not
/// </summary>
bool ShowOnlySlicewareSensors { set; }
}
}