using EPLAN.Harness.API; using EPLAN.Harness.API.Plugins.Core; using EPLAN.Harness.AppCore; using Sinvo.EplanHpD.Plugin.WPFUI.Extension; using Sinvo.EplanHpD.Plugin.WPFUI.Utils; using Sinvo.EplanHpD.Plugin.WPFUI.View; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms.Integration; namespace Sinvo.EplanHpD.Plugin { #if Release_Scanner || DEBUG public class ScanPluginEntry : EPLAN.Harness.API.Plugins.IHpDPlugin #else public class ScanPluginEntry #endif { public string Name => "兴禾ProD插件-3D-扫描"; public string Author => "Sinvo"; public string Description => "兴禾EPLAN Harness proD 2.9 Studio插件,提供扫描定位功能"; /// /// 获取DLL版本 /// public Version Version => Assembly.GetAssembly(this.GetType()).GetName().Version; public System.Drawing.Image ToolbarIcon { get { var imageBytes = Resource.Sinvo; if (imageBytes != null) { using (var ms = new MemoryStream(imageBytes)) { return Image.FromStream(ms); } } return null; } } public string ToolbarText => "扫描器"; public HpDModule Module => HpDModule.WorkSpace; public string ToolbarTooltip => "扫描器"; ScannerWindow window; public void Execute(HpdApi api) { //var doc = api.CurrentProject.GetActiveDocument(); if (window == null) { window = new ScannerWindow(); ElementHost.EnableModelessKeyboardInterop(window); var mainApp = BaseApp.ActiveApplication; var helper = new System.Windows.Interop.WindowInteropHelper(window); helper.Owner = mainApp.Handle; window.Closed += delegate { window = null; }; window.Show(); } else { window.WindowState = System.Windows.WindowState.Normal; window.Activate(); } } public void Initialize() { if (!AppDomainDllLoader.isLoaded) { AppDomainDllLoader.SetLaoder(); ApplicationExt.InitApplication(); Consts.InitConfigs(); } } public void Terminate() { //throw new NotImplementedException(); } } }