Files
HawkeyeVision/Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSourceSettings.cs
2025-07-23 13:25:19 +02:00

40 lines
1.1 KiB
C#

using System.Text;
using Inspectron.Settings;
using Inspectron.Settings.Attributes;
using VisionBuilder.UI.Common;
namespace Inspectron.Camera.UEye;
public class IDSImageSourceSettings:ISettings
{
public string CameraName { get; }
public IDSImageSourceSettings(string cameraName)
{
CameraName = cameraName;
}
[SettingPreview(typeof(IDSImageSourceSettings), nameof(CameraIdsPreview))]
public int CameraId { get; set; } = 0;
[File("*.ini")] public string CameraFile { get; set; } = "";
public void RegisterSettings(InspectronSettings settings)
{
settings.RegisterSimple(this, () => CameraId, $"{CameraName}/Sources/IDS", nameof(CameraId));
settings.RegisterSimple(this, () => CameraFile, $"{CameraName}/Sources/IDS", nameof(CameraFile));
}
public static string CameraIdsPreview(int _)
{
uEye.Info.Camera.GetCameraList(out var cameraList);
StringBuilder sb = new StringBuilder();
foreach (var camera in cameraList)
{
sb.AppendLine($"Camera ID: {camera.CameraID}, Name: {camera.SerialNumber}");
}
return sb.ToString();
}
}