using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using KGIS.Plugin.LayerProperty.EventHandler; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace KGIS.Plugin.LayerProperty.Interface { public interface IDisplayScheme { event System.EventHandler DisplaySchemeUpdate; event LayersChangedEventHandler LayersChanged; string Name { get; set; } string Description { get; set; } string Key { get; set; } bool IsDefault { get; } ILayerScheme LayerScheme { get; } DataTable DataSource { get; } IEnvelope AreaOfInterest { get; set; } IMapFrame MapFrame { get; set; } List Layers { get; } void Apply(); void SortLayers(); void DiscardModify(); bool AddLayer(ILayerProperty layer); bool RemoveLayer(string key); bool RemoveLayer(ILayerProperty layer); bool RemoveAllLayers(); void ReloadLayers(); ILayerProperty GetLayer(string key); void SortLayersByType(); void RefreshDataSource(); bool Save(); void SavePropertyChangedLayers(); } }