using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Input; using System.Threading.Tasks; using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using ArcGIS.Core.Geometry; using ArcGIS.Desktop.Catalog; using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Core.Events; using ArcGIS.Desktop.Editing; using ArcGIS.Desktop.Extensions; using ArcGIS.Desktop.Framework; using ArcGIS.Desktop.Framework.Contracts; using ArcGIS.Desktop.Framework.Dialogs; using ArcGIS.Desktop.Framework.Threading.Tasks; using ArcGIS.Desktop.Mapping; namespace OliviaAddInPro { internal class Module1 : Module { private static Module1 _this = null; /// /// Retrieve the singleton instance to this module here /// public static Module1 Current { get { return _this ?? (_this = (Module1)FrameworkApplication.FindModule("OliviaAddInPro_Module")); } } #region Overrides /// /// Called by Framework when ArcGIS Pro is closing /// /// False to prevent Pro from closing, otherwise True protected override bool CanUnload() { //TODO - add your business logic //return false to ~cancel~ Application close return true; } protected override bool Initialize() { ProjectClosedEvent.Subscribe(OnProjectClosed); return base.Initialize(); } private void OnProjectClosed(ProjectEventArgs obj) { DockPane dockPane = FrameworkApplication.DockPaneManager.Find("OliviaAddInPro_DockpaneLimpieza"); if (dockPane != null) { dockPane.IsVisible = false; } dockPane = FrameworkApplication.DockPaneManager.Find("OliviaAddInPro_DockpaneRecogida"); if (dockPane != null) { dockPane.IsVisible = false; } } #endregion Overrides } }