From 71d59df0cdf8019b8978d99f595203f0d025ec25 Mon Sep 17 00:00:00 2001 From: meelstorm <8780022+TesAnti@users.noreply.github.com> Date: Wed, 23 Jul 2025 13:25:19 +0200 Subject: [PATCH] IDS camera added --- .../EmulationSettings.cs | 8 +- ...awkeye.VisionBuilder.UI.Sources.IDS.csproj | 19 ++ .../IDSImageSource.cs | 228 ++++++++++++++++++ .../IDSImageSourceSettings.cs | 40 +++ .../uEyeDotNet.dll | Bin 0 -> 414304 bytes IDSTest/IDSTest.csproj | 19 ++ IDSTest/Program.cs | 13 + VisionBuilder.UI.Camera/ModuleExtensions.cs | 3 + .../VisionBuilder.UI.Camera.csproj | 1 + VisionBuilder.UI.Common/Extensions.cs | 3 +- .../Processing/IImageSource.cs | 1 - .../ModuleExtensions.cs | 1 - VisionBuilder.UI.IOCommander/IOCommander.cs | 1 - .../Modules/IOCommanderCameraModule.cs | 4 +- .../Modules/IOCommanderModule.cs | 7 +- .../HawkeyeRecognitionControl.cs | 7 +- VisionBuilder.UI.Windows.Test/Program.cs | 2 +- .../Components/PreviewWindow.cs | 14 +- VisionBuilder.UI.sln | 16 ++ .../Configuration/DefaultControlFactory.cs | 33 +++ .../Attributes/FileAttribute.cs | 15 ++ 21 files changed, 411 insertions(+), 24 deletions(-) create mode 100644 Hawkeye.VisionBuilder.UI.Sources.IDS/Hawkeye.VisionBuilder.UI.Sources.IDS.csproj create mode 100644 Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSource.cs create mode 100644 Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSourceSettings.cs create mode 100644 Hawkeye.VisionBuilder.UI.Sources.IDS/uEyeDotNet.dll create mode 100644 IDSTest/IDSTest.csproj create mode 100644 IDSTest/Program.cs create mode 100644 framework/Inspectron.Settings/Attributes/FileAttribute.cs diff --git a/Hawkeye.VisionBuilder.UI.Sources.Emulation/EmulationSettings.cs b/Hawkeye.VisionBuilder.UI.Sources.Emulation/EmulationSettings.cs index 17622e3..f25c55c 100644 --- a/Hawkeye.VisionBuilder.UI.Sources.Emulation/EmulationSettings.cs +++ b/Hawkeye.VisionBuilder.UI.Sources.Emulation/EmulationSettings.cs @@ -19,9 +19,9 @@ public class EmulationSettings : ISettings public void RegisterSettings(InspectronSettings settings) { - settings.RegisterSimple(this, () => CycleDelay, CameraName+"/Emulation", nameof(CycleDelay)); - settings.RegisterSimple(this, () => PerImageDelay, CameraName + "/Emulation", nameof(PerImageDelay)); - settings.RegisterSimple(this, () => SingleRun, CameraName + "/Emulation", nameof(SingleRun)); - settings.RegisterSimple(this, () => EmulationPath, CameraName + "/Emulation", nameof(EmulationPath)); + settings.RegisterSimple(this, () => CycleDelay, CameraName+"/Sources/Emulation", nameof(CycleDelay)); + settings.RegisterSimple(this, () => PerImageDelay, CameraName + "/Sources/Emulation", nameof(PerImageDelay)); + settings.RegisterSimple(this, () => SingleRun, CameraName + "/Sources/Emulation", nameof(SingleRun)); + settings.RegisterSimple(this, () => EmulationPath, CameraName + "/Sources/Emulation", nameof(EmulationPath)); } } \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.UI.Sources.IDS/Hawkeye.VisionBuilder.UI.Sources.IDS.csproj b/Hawkeye.VisionBuilder.UI.Sources.IDS/Hawkeye.VisionBuilder.UI.Sources.IDS.csproj new file mode 100644 index 0000000..5df1e7b --- /dev/null +++ b/Hawkeye.VisionBuilder.UI.Sources.IDS/Hawkeye.VisionBuilder.UI.Sources.IDS.csproj @@ -0,0 +1,19 @@ + + + + net8.0 + enable + enable + + + + + + + + + uEyeDotNet.dll + + + + diff --git a/Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSource.cs b/Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSource.cs new file mode 100644 index 0000000..a8ccf07 --- /dev/null +++ b/Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSource.cs @@ -0,0 +1,228 @@ +using OpenCvSharp; +using Serilog; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Threading; +using System.Threading.Channels; +using System.Threading.Tasks; +using uEye.Defines; +using VisionBuilder.UI.Common; +using VisionBuilder.UI.Common.RecipeProcessing; +using Point = System.Drawing.Point; + +namespace Inspectron.Camera.UEye +{ + + public class IDSImageSource : IImageSource, IVisionBuilderModule + { + private readonly IDSImageSourceSettings _settings; + private uEye.Camera _camera = null; + + + int cameraIdx; + + + + public IDSImageSource(IDSImageSourceSettings settings) + { + _settings = settings; + _camera = new uEye.Camera(); + cameraIdx = _settings.CameraId; + System.AppDomain.CurrentDomain.ProcessExit += AppDomain_ProcessExit; + } + + private void AppDomain_ProcessExit(object sender, EventArgs e) + { + Close(); + } + + private Mat MemoryToImage(int idx) + { + uEye.Defines.ColorMode mode; + _camera.PixelFormat.Get(out mode); + int channels = 0; + + if (mode == uEye.Defines.ColorMode.Mono8) + { + channels = 1; + } + else if (mode == uEye.Defines.ColorMode.BGR8Packed || mode == uEye.Defines.ColorMode.RGB8Packed) + { + channels = 3; + } + else if (mode == uEye.Defines.ColorMode.BGRA8Packed) + { + channels = 3; + } + else + { + throw new Exception("unknown image format"); + } + + var size = new uEye.Types.Size(); + _camera.Memory.GetSize(idx, out size); + int pitch; + _camera.Memory.GetPitch(idx, out pitch); + + Byte[] u8img; + _camera.Memory.CopyToArray(idx, out u8img); + //Console.WriteLine($"Image size: {size.Width}x{size.Height}, channels: {channels}({mode}), data size: {u8img.Length}, pitch: {pitch}"); + //Console.ReadLine(); + Mat mat = new Mat(size.Height,pitch, MatType.CV_8UC(channels)); + mat.SetArray(u8img); + return mat; + } + + public void Open() + { + if (_camera.IsOpened) + return; + + uEye.Defines.Status statusRet = 0; + + // Open _camera + statusRet = _camera.Init(cameraIdx); + if (statusRet != uEye.Defines.Status.Success) + { + throw new Exception("_camera initializing failed: "+statusRet); + } + uEye.Types.SensorInfo info = new uEye.Types.SensorInfo(); + _camera.Information.GetSensorInfo(out info); + Console.WriteLine($"Camera {cameraIdx} opened: {info.SensorName} ({info.SensorID})"); + _camera.Parameter.Load(); + Console.WriteLine($"Camera {cameraIdx} parameters loaded"); + + _camera.Trigger.Set(uEye.Defines.TriggerMode.Continuous); + + statusRet = _camera.Memory.Allocate(); + Console.WriteLine("Memory allocated"); + if (statusRet != uEye.Defines.Status.Success) + { + throw new Exception("Allocate Memory failed"); + + } + _camera.EventFrame += onFrameEvent; + try + { + _camera.Device.Feature.ShutterMode.Set(uEye.Defines.Shuttermode.Global); + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + + public void Close() + { + if (!_camera.IsOpened) + return; + + uEye.Defines.Status statusRet; + statusRet = _camera.Exit(); + + if (statusRet != uEye.Defines.Status.Success) + { + throw new Exception("failed to close camera"); + } + } + + + + public void LoadParameters(string parameters_file) + { + uEye.Defines.Status statusRet = 0; + + Int32[] memList; + statusRet = _camera.Memory.GetList(out memList); + if (statusRet != uEye.Defines.Status.Success) + { + throw new Exception("Get memory list failed: " + statusRet); + } + + statusRet = _camera.Memory.Free(memList); + if (statusRet != uEye.Defines.Status.Success) + { + throw new Exception("Free memory list failed: " + statusRet); + } + + statusRet = _camera.Parameter.Load(parameters_file); + if (statusRet != uEye.Defines.Status.Success) + { + throw new Exception("Loading parameter failed: " + statusRet); + } + + uEye.Types.Size t = new uEye.Types.Size(); + + + statusRet = _camera.Memory.Allocate(); + if (statusRet != uEye.Defines.Status.SUCCESS) + { + throw new Exception("Allocate Memory failed"); + } + } + + public void SaveParameters(string parameters_file) + { + uEye.Defines.Status statusRet = 0; + + statusRet = _camera.Parameter.Save(parameters_file); + if (statusRet != uEye.Defines.Status.SUCCESS) + { + throw new Exception("failed to save Parameters"); + } + } + + + + + private void onFrameEvent(object sender, EventArgs e) + { + try + { + uEye.Camera camera = sender as uEye.Camera; + int s32MemId; + int active = (int)camera.Memory.GetActive(out s32MemId); + int num1 = (int)camera.Memory.Lock(s32MemId); + var image = this.MemoryToImage(s32MemId); + int num2 = (int)camera.Memory.Unlock(s32MemId); + + if (!_channel.Writer.TryWrite(image)) + { + Log.Warning("Image channel is full, dropping image"); + } + } + catch (TaskCanceledException ex) + { + int num = (int)(sender as uEye.Camera).Acquisition.Stop(); + + } + } + + + + + + private Channel _channel = Channel.CreateBounded(new BoundedChannelOptions(1) + { + FullMode = BoundedChannelFullMode.DropOldest, + SingleReader = true, + SingleWriter = true, + AllowSynchronousContinuations = true + }); + public async Task GetImage(CancellationToken token) + { + return await _channel.Reader.ReadAsync(token); + } + + public void InitializeModule() + { + Open(); + if(!(string.IsNullOrEmpty(_settings.CameraFile))) + LoadParameters(_settings.CameraFile); + _camera.Trigger.Set(uEye.Defines.TriggerMode.Continuous); + _camera.Acquisition.Capture(); + } + } +} \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSourceSettings.cs b/Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSourceSettings.cs new file mode 100644 index 0000000..9626c2a --- /dev/null +++ b/Hawkeye.VisionBuilder.UI.Sources.IDS/IDSImageSourceSettings.cs @@ -0,0 +1,40 @@ +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(); + } +} \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.UI.Sources.IDS/uEyeDotNet.dll b/Hawkeye.VisionBuilder.UI.Sources.IDS/uEyeDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b140925d6da0284b953b44a95198abe39cca41e GIT binary patch literal 414304 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

v2ZSJLLVDn|(^}eX0KP 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


&$#Zjk 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

JfV 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 + + + Exe + net8.0 + enable + enable + + + + + + + + + + + + diff --git a/IDSTest/Program.cs b/IDSTest/Program.cs new file mode 100644 index 0000000..57ad58c --- /dev/null +++ b/IDSTest/Program.cs @@ -0,0 +1,13 @@ +using Inspectron.Camera.UEye; + +IDSImageSource imageSource = new IDSImageSource(); + +Console.WriteLine("Opening"); +imageSource.InitializeModule(); + +while (true) +{ + Console.WriteLine("Getting image"); + var image=imageSource.GetImage(CancellationToken.None).Result; + image.SaveImage("test.png"); +} \ No newline at end of file diff --git a/VisionBuilder.UI.Camera/ModuleExtensions.cs b/VisionBuilder.UI.Camera/ModuleExtensions.cs index bbf123a..794996d 100644 --- a/VisionBuilder.UI.Camera/ModuleExtensions.cs +++ b/VisionBuilder.UI.Camera/ModuleExtensions.cs @@ -1,4 +1,5 @@ using Hawkeye.VisionBuilder.UI.Sources.Emulation; +using Inspectron.Camera.UEye; using Ninject; using Ninject.Extensions.ChildKernel; using VisionBuilder.UI.Common; @@ -12,6 +13,7 @@ public static class ModuleExtensions { self.Bind().ToConstant(new CameraSettings(cameraName)); self.Bind().ToConstant(new EmulationSettings(cameraName)); + self.Bind().ToConstant(new IDSImageSourceSettings(cameraName)); self.Bind().ToSelf().InSingletonScope(); return self; } @@ -26,6 +28,7 @@ public static class ModuleExtensions case CameraSettings.EImageSource.Hawkeye: break; case CameraSettings.EImageSource.IDS: + kernel.Bind().To().InSingletonScope(); break; case CameraSettings.EImageSource.Basler: break; diff --git a/VisionBuilder.UI.Camera/VisionBuilder.UI.Camera.csproj b/VisionBuilder.UI.Camera/VisionBuilder.UI.Camera.csproj index d29c8c2..149eabe 100644 --- a/VisionBuilder.UI.Camera/VisionBuilder.UI.Camera.csproj +++ b/VisionBuilder.UI.Camera/VisionBuilder.UI.Camera.csproj @@ -8,6 +8,7 @@ + diff --git a/VisionBuilder.UI.Common/Extensions.cs b/VisionBuilder.UI.Common/Extensions.cs index 312673c..c14a438 100644 --- a/VisionBuilder.UI.Common/Extensions.cs +++ b/VisionBuilder.UI.Common/Extensions.cs @@ -33,12 +33,13 @@ public static class Extensions { if (service != null) { + Log.Information($"Initializing module {service.GetType().Name}"); service.InitializeModule(); } } catch (Exception e) { - Log.Error($"Error initializing module {service.GetType().Name}: {e.Message}", e); + Log.Error($"Error initializing module {service.GetType().Name}: {e}", e); } } diff --git a/VisionBuilder.UI.Common/Processing/IImageSource.cs b/VisionBuilder.UI.Common/Processing/IImageSource.cs index 1a17427..7a34764 100644 --- a/VisionBuilder.UI.Common/Processing/IImageSource.cs +++ b/VisionBuilder.UI.Common/Processing/IImageSource.cs @@ -4,6 +4,5 @@ namespace VisionBuilder.UI.Common.RecipeProcessing; public interface IImageSource { - string GetName(); Task GetImage(CancellationToken token); } \ No newline at end of file diff --git a/VisionBuilder.UI.IOCommander.Windows/ModuleExtensions.cs b/VisionBuilder.UI.IOCommander.Windows/ModuleExtensions.cs index a9e421c..c4e572b 100644 --- a/VisionBuilder.UI.IOCommander.Windows/ModuleExtensions.cs +++ b/VisionBuilder.UI.IOCommander.Windows/ModuleExtensions.cs @@ -13,7 +13,6 @@ public static class ModuleExtensions public static IKernel UseIOCommanderWindowsDebug(this IKernel self) { TypeDescriptor.AddAttributes(typeof(List), new TypeConverterAttribute(typeof(PinLabelListConverter))); - self.Rebind().To().InSingletonScope(); self.Bind().ToConstant(new WindowsIOCommanderDebugViewSettings()); return self; diff --git a/VisionBuilder.UI.IOCommander/IOCommander.cs b/VisionBuilder.UI.IOCommander/IOCommander.cs index 85934ea..7c90ede 100644 --- a/VisionBuilder.UI.IOCommander/IOCommander.cs +++ b/VisionBuilder.UI.IOCommander/IOCommander.cs @@ -10,7 +10,6 @@ public class IOCommander : IIOCommander SerialPort _port; public IOCommander(string COMPort) { - _port = new SerialPort(COMPort); _port.BaudRate = 57600; _port.ReadTimeout = 100; diff --git a/VisionBuilder.UI.IOCommander/Modules/IOCommanderCameraModule.cs b/VisionBuilder.UI.IOCommander/Modules/IOCommanderCameraModule.cs index ae7ee25..a13ce58 100644 --- a/VisionBuilder.UI.IOCommander/Modules/IOCommanderCameraModule.cs +++ b/VisionBuilder.UI.IOCommander/Modules/IOCommanderCameraModule.cs @@ -28,7 +28,7 @@ public class IOCommanderCameraModule: IVisionBuilderModule _recognitionControl.ImageProcessed += _recognitionControl_ImageProcessed; _recognitionControl.SessionStarted += _recognitionControl_SessionStarted; _recognitionControl.SessionEnded += _recognitionControl_SessionEnded; - mainModule.OnPinChangedEvent += MainModule_OnPinChangedEvent; + } @@ -93,7 +93,7 @@ public class IOCommanderCameraModule: IVisionBuilderModule public void InitializeModule() { - + _mainModule.OnPinChangedEvent += MainModule_OnPinChangedEvent; } private void _recognitionControl_SessionEnded(SessionEndedEvent obj) diff --git a/VisionBuilder.UI.IOCommander/Modules/IOCommanderModule.cs b/VisionBuilder.UI.IOCommander/Modules/IOCommanderModule.cs index 2bbb91e..5b091c7 100644 --- a/VisionBuilder.UI.IOCommander/Modules/IOCommanderModule.cs +++ b/VisionBuilder.UI.IOCommander/Modules/IOCommanderModule.cs @@ -33,15 +33,12 @@ public class IOCommanderModule:IVisionBuilderModule } ConcurrentDictionary _pinStates = new ConcurrentDictionary(); - public event Action? OnPinChangedEvent - { - add => _ioCommander!.OnPinChanged += value; - remove => _ioCommander!.OnPinChanged -= value; - } + public event Action? OnPinChangedEvent = delegate { }; private void OnPinChanged(int arg1, bool arg2) { _pinStates.TryAdd(arg1, arg2); _debugViewService.SetInputPinStatus(arg1, arg2); + OnPinChangedEvent?.Invoke(arg1, arg2); } public void SetOutput(int pin, bool value) diff --git a/VisionBuilder.UI.Recipes.HawkeyeRecipe/HawkeyeRecognitionControl.cs b/VisionBuilder.UI.Recipes.HawkeyeRecipe/HawkeyeRecognitionControl.cs index f6f090c..7360b4d 100644 --- a/VisionBuilder.UI.Recipes.HawkeyeRecipe/HawkeyeRecognitionControl.cs +++ b/VisionBuilder.UI.Recipes.HawkeyeRecipe/HawkeyeRecognitionControl.cs @@ -25,11 +25,6 @@ namespace VisionBuilder.UI.Recipes.HawkeyeRecipe _loadingService = loadingService; } - public string GetCameraName() - { - return _imageSource.GetName(); - } - public List GetRecipesData() { _loadingService.StartLoading($"Loading recipes for {_recognitionConfiguration.CameraName}..."); @@ -171,7 +166,7 @@ namespace VisionBuilder.UI.Recipes.HawkeyeRecipe AnalysisTime = sw.Elapsed, ErrorNames = errorNames.ToList(), HasError = errorNames.Length > 0, - ImageSource = _imageSource.GetName(), + ImageSource = _recognitionConfiguration.CameraName, ImageOriginal = _workflow.Context.LastCameraImage.ImageData, ImageAnalysis = annotated }; diff --git a/VisionBuilder.UI.Windows.Test/Program.cs b/VisionBuilder.UI.Windows.Test/Program.cs index 329f0d6..aea810a 100644 --- a/VisionBuilder.UI.Windows.Test/Program.cs +++ b/VisionBuilder.UI.Windows.Test/Program.cs @@ -41,10 +41,10 @@ namespace VisionBuilder.UI.Windows.Test var mainKernel = Common.VisionBuilder.CreateMainKernel(settings); mainKernel + .UseConsole() .UseIOCommander([CAMERA1]) .UseIOCommanderWindowsDebug() .UseIOCommanderVirtualInput() - .UseConsole() .UseWindowsServices(); // CAMERA 1 // diff --git a/VisionBuilder.UI.Windows/Components/PreviewWindow.cs b/VisionBuilder.UI.Windows/Components/PreviewWindow.cs index 61f831e..7d6481d 100644 --- a/VisionBuilder.UI.Windows/Components/PreviewWindow.cs +++ b/VisionBuilder.UI.Windows/Components/PreviewWindow.cs @@ -1,4 +1,5 @@ -using OpenCvSharp.Extensions; +using OpenCvSharp; +using OpenCvSharp.Extensions; using VisionBuilder.UI.Common.ViewModel; namespace VisionBuilder.UI.Windows.Components; @@ -18,7 +19,15 @@ public class PreviewWindow:PictureBox switch (e.PropertyName) { case nameof(PreviewVM.ImagePreview): - var bmp = _previewVm.ImagePreview?.ToBitmap(); + var tmp = _previewVm.ImagePreview?.ToBitmap(); + var bmp = new Bitmap(_previewVm.ImagePreview?.Width ?? 0, _previewVm.ImagePreview?.Height ?? 0); + // hack to avoid IDS image glitch + using (Graphics g = Graphics.FromImage(bmp)) + { + g.Clear(Color.Pink); + g.DrawImage(tmp,0,0); + } + using (Graphics g = Graphics.FromImage(bmp)) { // draw red border around the image if it's an error @@ -31,6 +40,7 @@ public class PreviewWindow:PictureBox } } Image = bmp; + Invalidate(); break; } diff --git a/VisionBuilder.UI.sln b/VisionBuilder.UI.sln index 3c5a3c8..e7b750e 100644 --- a/VisionBuilder.UI.sln +++ b/VisionBuilder.UI.sln @@ -61,6 +61,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utility", "Utility", "{250F EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisionBuilder.UI.IOCommander.Windows", "VisionBuilder.UI.IOCommander.Windows\VisionBuilder.UI.IOCommander.Windows.csproj", "{254841AD-0706-4C92-A364-7E5DC17AF4AD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hawkeye.VisionBuilder.UI.Sources.IDS", "Hawkeye.VisionBuilder.UI.Sources.IDS\Hawkeye.VisionBuilder.UI.Sources.IDS.csproj", "{86511F06-AABC-4F1D-AB4E-9763AE4A0EF2}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{F2406FBB-DFD3-4CBE-9644-A9FFC2FCBB71}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IDSTest", "IDSTest\IDSTest.csproj", "{AD1A176C-B19F-4E60-9935-728722BAE3C1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -163,6 +169,14 @@ Global {254841AD-0706-4C92-A364-7E5DC17AF4AD}.Debug|Any CPU.Build.0 = Debug|Any CPU {254841AD-0706-4C92-A364-7E5DC17AF4AD}.Release|Any CPU.ActiveCfg = Release|Any CPU {254841AD-0706-4C92-A364-7E5DC17AF4AD}.Release|Any CPU.Build.0 = Release|Any CPU + {86511F06-AABC-4F1D-AB4E-9763AE4A0EF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {86511F06-AABC-4F1D-AB4E-9763AE4A0EF2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {86511F06-AABC-4F1D-AB4E-9763AE4A0EF2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {86511F06-AABC-4F1D-AB4E-9763AE4A0EF2}.Release|Any CPU.Build.0 = Release|Any CPU + {AD1A176C-B19F-4E60-9935-728722BAE3C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AD1A176C-B19F-4E60-9935-728722BAE3C1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AD1A176C-B19F-4E60-9935-728722BAE3C1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AD1A176C-B19F-4E60-9935-728722BAE3C1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -185,6 +199,8 @@ Global {FBDCC120-B6B3-4A28-8845-DF1690F619C1} = {C828783C-1CE1-4245-8731-4AE18A28F590} {E0F75E78-F7FA-4B7D-BA5F-A8A91C0A9AD9} = {C828783C-1CE1-4245-8731-4AE18A28F590} {254841AD-0706-4C92-A364-7E5DC17AF4AD} = {250F2B27-FA2B-4CE6-BFDE-54D0B7FC9FAF} + {86511F06-AABC-4F1D-AB4E-9763AE4A0EF2} = {D05689E3-04C6-4E3B-ACA7-3F4507CED4CC} + {AD1A176C-B19F-4E60-9935-728722BAE3C1} = {F2406FBB-DFD3-4CBE-9644-A9FFC2FCBB71} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {3CE42AE5-D79F-4E97-A246-AA8FD228B677} diff --git a/framework/Inspectron.Settings.Windows/Configuration/DefaultControlFactory.cs b/framework/Inspectron.Settings.Windows/Configuration/DefaultControlFactory.cs index e26b4ce..cc0da14 100644 --- a/framework/Inspectron.Settings.Windows/Configuration/DefaultControlFactory.cs +++ b/framework/Inspectron.Settings.Windows/Configuration/DefaultControlFactory.cs @@ -43,6 +43,10 @@ public class DefaultControlFactory : IControlFactory { return CreateListControl(name, description, type, initialValue, valueChangedCallback, optionsWindow, settingDescription, previewLabel, getPreview); } + else if (type == typeof(string) && propertyInfo.GetCustomAttribute()!=null) + { + return CreateFileControl(name, description, initialValue, valueChangedCallback, optionsWindow, settingDescription, previewLabel, getPreview, propertyInfo.GetCustomAttribute().Filter); + } else if (type == typeof(string) && name.EndsWith("Path", StringComparison.OrdinalIgnoreCase)) { return CreatePathControl(name, description, initialValue, valueChangedCallback, optionsWindow, settingDescription, previewLabel, getPreview); @@ -156,7 +160,36 @@ public class DefaultControlFactory : IControlFactory return CreateOuterPanel(settingDescription, previewLabel, label, textBox, browseButton); } + private Control CreateFileControl(string name, string description, object initialValue, Action valueChangedCallback, + OptionsWindow optionsWindow, string settingDescription, Label previewLabel, Func getPreview, string filter) + { + var textBox = new TextBox { Text = initialValue as string, Width = 400 }; + var label = new Label { Text = description, AutoSize = true, Padding = new Padding(0, 5, 0, 0) }; + var browseButton = new Button { Text = "Browse", AutoSize = true }; + browseButton.Click += (s, e) => + { + using (var dialog = new CommonOpenFileDialog {Filters = { new CommonFileDialogFilter(filter, filter) }}) + { + if (dialog.ShowDialog(optionsWindow.Handle) == CommonFileDialogResult.Ok) + { + textBox.Text = dialog.FileName; + valueChangedCallback(dialog.FileName); + if (previewLabel != null && getPreview != null) + previewLabel.Text = getPreview(dialog.FileName); + } + } + }; + + textBox.TextChanged += (s, e) => + { + valueChangedCallback(textBox.Text); + if (previewLabel != null && getPreview != null) + previewLabel.Text = getPreview(textBox.Text); + }; + + return CreateOuterPanel(settingDescription, previewLabel, label, textBox, browseButton); + } private Control CreateStringControl(string description, object initialValue, Action valueChangedCallback, string settingDescription, Label previewLabel, Func getPreview) { diff --git a/framework/Inspectron.Settings/Attributes/FileAttribute.cs b/framework/Inspectron.Settings/Attributes/FileAttribute.cs new file mode 100644 index 0000000..4443fa9 --- /dev/null +++ b/framework/Inspectron.Settings/Attributes/FileAttribute.cs @@ -0,0 +1,15 @@ +using System; + +namespace Inspectron.Settings.Attributes +{ + [AttributeUsage(AttributeTargets.Property)] + public class FileAttribute:Attribute + { + public string Filter { get; } + + public FileAttribute(string filter) + { + Filter = filter; + } + } +} \ No newline at end of file