From 9cac95cacd111b13fbca80a46dd480adaf82058e Mon Sep 17 00:00:00 2001 From: Diaskhan_Imanberdiyev Date: Sat, 28 Sep 2024 19:36:02 +0500 Subject: [PATCH] clean code --- .../Plugins/ListerPluginWrapper.cs | 2 ++ src/SmartCommander/Plugins/PluginManager.cs | 28 ++++++++-------- .../Views/ViewerWindow.axaml.cs | 33 +++++-------------- 3 files changed, 25 insertions(+), 38 deletions(-) diff --git a/src/SmartCommander/Plugins/ListerPluginWrapper.cs b/src/SmartCommander/Plugins/ListerPluginWrapper.cs index 7eb9c2f..b69a802 100644 --- a/src/SmartCommander/Plugins/ListerPluginWrapper.cs +++ b/src/SmartCommander/Plugins/ListerPluginWrapper.cs @@ -1,6 +1,8 @@ using System; using System.Runtime.InteropServices; +namespace SmartCommander.Plugins; + public class ListerPluginWrapper : IDisposable { private IntPtr _pluginHandle; diff --git a/src/SmartCommander/Plugins/PluginManager.cs b/src/SmartCommander/Plugins/PluginManager.cs index d78d7b7..18313a1 100644 --- a/src/SmartCommander/Plugins/PluginManager.cs +++ b/src/SmartCommander/Plugins/PluginManager.cs @@ -1,21 +1,21 @@ using System; -namespace SmartCommander.TcPlugins +namespace SmartCommander.Plugins; + +public static class PluginManager { - public static class PluginManager + public static ListerPluginWrapper CreateListerWrapper() { - public static ListerPluginWrapper CreateListerWrapper() - { - //string pluginPath = "C:\\totalcmd\\plugins\\CodeViewer\\CodeViewer.wlx64"; - string pluginPath = "C:\\totalcmd\\plugins\\wlx\\CodeViewer\\CodeViewer.wlx64"; - return new ListerPluginWrapper(pluginPath); - } - - public static IntPtr CreateListerWindow(this ListerPluginWrapper listerWrapper,IntPtr parentWindowHandle,string fileToLoad) - { - int showFlags = 1; - return listerWrapper.LoadFile(parentWindowHandle, fileToLoad, showFlags); - } + //string pluginPath = "C:\\totalcmd\\plugins\\CodeViewer\\CodeViewer.wlx64"; + string pluginPath = "C:\\totalcmd\\plugins\\wlx\\CodeViewer\\CodeViewer.wlx64"; + return new ListerPluginWrapper(pluginPath); + } + public static IntPtr CreateListerWindow(this ListerPluginWrapper listerWrapper, IntPtr parentWindowHandle, string fileToLoad) + { + int showFlags = 1; + return listerWrapper.LoadFile(parentWindowHandle, fileToLoad, showFlags); } + } + diff --git a/src/SmartCommander/Views/ViewerWindow.axaml.cs b/src/SmartCommander/Views/ViewerWindow.axaml.cs index 9267b1e..6a6e556 100644 --- a/src/SmartCommander/Views/ViewerWindow.axaml.cs +++ b/src/SmartCommander/Views/ViewerWindow.axaml.cs @@ -1,17 +1,14 @@ using Avalonia.Controls; using Avalonia.Controls.Platform; using Avalonia.Platform; -using AvaloniaEdit.Editing; -using SmartCommander.TcPlugins; +using SmartCommander.Plugins; using SmartCommander.ViewModels; using System; -using System.Resources; namespace SmartCommander; public partial class ViewerWindow : Window { - ListerPluginWrapper listerPluginWrapper { get; set; } IntPtr listerWindowHandle { get; set; } public ViewerWindow() { @@ -28,13 +25,14 @@ private void OnWindowOpened(object? sender, EventArgs e) { var viewModel = this.DataContext as ViewerViewModel; - - var embed = new EmbedSample(viewModel!.Filename); - if (embed.CanShowByPlugin) + if (OperatingSystem.IsWindows()) { - grid.Children.Add(embed); + var embed = new EmbedSample(viewModel!.Filename); + if (embed.CanShowByPlugin) + { + grid.Children.Add(embed); + } } - } } @@ -48,18 +46,14 @@ public Win32WindowControlHandle(IntPtr handle, string descriptor) : base(handle, public void Destroy() { - ///_ = WinApi.DestroyWindow(Handle); } } public class EmbedSample : NativeControlHost { - //public static INativeDemoControl? Implementation { get; set; } ListerPluginWrapper listerPluginWrapper { get; set; } IntPtr listerWindowHandle { get; set; } - string filename; - public bool CanShowByPlugin { get @@ -72,14 +66,14 @@ public EmbedSample(string Filename) { HorizontalAlignment = 0; VerticalAlignment = 0; - filename = Filename; listerPluginWrapper = PluginManager.CreateListerWrapper(); - listerWindowHandle = listerPluginWrapper.CreateListerWindow(IntPtr.Zero, filename); + listerWindowHandle = listerPluginWrapper.CreateListerWindow(IntPtr.Zero, Filename); } protected override IPlatformHandle CreateNativeControlCore(IPlatformHandle parent) { + //TODO better use INativeDemoControl? Implementation; to make it cross platform return new Win32WindowControlHandle(listerWindowHandle, "Lister"); } @@ -89,12 +83,3 @@ protected override void DestroyNativeControlCore(IPlatformHandle control) base.DestroyNativeControlCore(control); } } - -//public interface INativeDemoControl -//{ -// /// Used to specify which control should be displayed as a demo -// /// -// /// -// IPlatformHandle CreateControl(bool isSecond, IPlatformHandle parent, Func createDefault); -//} -