// Copyright (C) Stichting Deltares 2016. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System; using System.Collections.Generic; using System.Linq; using Core.Common.Base.IO; using Core.Common.Base.Plugin; using Core.Common.Controls.TreeView; using Core.Common.Gui.Forms; namespace Core.Common.Gui.Plugin { /// /// Template class for gui plugin definitions. /// public abstract class GuiPlugin : IDisposable { /// /// Gets or sets the gui. /// public virtual IGui Gui { get; set; } /// /// Ribbon command handler (adding tabs, groups, buttons, etc.) which can be provided by the gui plugin. /// public virtual IRibbonCommandHandler RibbonCommandHandler { get { return null; } } /// /// Activates the plugin. /// public virtual void Activate() {} /// /// Deactivates the plugin. /// public virtual void Deactivate() {} /// /// This method returns an enumeration of . /// /// The enumeration of provided by the . public virtual IEnumerable GetFileImporters() { yield break; } /// /// This method returns an enumeration of . /// /// The enumeration of provided by the . public virtual IEnumerable GetFileExporters() { yield break; } /// /// This method returns an enumeration of . /// /// The enumeration of provided by the . public virtual IEnumerable GetDataItemInfos() { yield break; } /// /// Returns all instances provided for data of this plugin. /// public virtual IEnumerable GetPropertyInfos() { return Enumerable.Empty(); } /// /// Returns all instances provided for data of this plugin. /// public virtual IEnumerable GetViewInfos() { yield break; } /// /// Returns all instances provided for data of this plugin. /// public virtual IEnumerable GetTreeNodeInfos() { yield break; } /// /// Gets the child data instances that have definitions of /// some parent data object. /// /// The parent data object. /// Sequence of child data. public virtual IEnumerable GetChildDataWithViewDefinitions(object dataObject) { yield break; } public virtual void Dispose() { Gui = null; } } }