internal PluginFeatureInfo(Plugin plugin, PluginFeatureAttribute?attribute, PluginFeature instance) { if (instance == null) { throw new ArgumentNullException(nameof(instance)); } Plugin = plugin ?? throw new ArgumentNullException(nameof(plugin)); FeatureType = instance.GetType(); Name = attribute?.Name ?? instance.GetType().Name.Humanize(LetterCasing.Title); Description = attribute?.Description; Icon = attribute?.Icon; Instance = instance; if (Icon != null) { return; } Icon = Instance switch { BaseDataModelExpansion => "TableAdd", DeviceProvider => "Devices", ProfileModule => "VectorRectangle", Module => "GearBox", LayerBrushProvider => "Brush", LayerEffectProvider => "AutoAwesome", _ => "Plugin" }; }
internal DataModelRegistration(DataModel dataModel, PluginFeature pluginFeature) { DataModel = dataModel; PluginFeature = pluginFeature; PluginFeature.Disabled += OnDisabled; }
internal LayerEffectRegistration(LayerEffectDescriptor descriptor, PluginFeature pluginFeature) { LayerEffectDescriptor = descriptor; PluginFeature = pluginFeature; PluginFeature.Disabled += OnDisabled; }
internal ArtemisPluginFeatureException(PluginFeature pluginFeature) { PluginFeature = pluginFeature; }
internal ArtemisPluginFeatureException(PluginFeature pluginFeature, string message, Exception inner) : base(message, inner) { PluginFeature = pluginFeature; }
internal PluginFeatureEventArgs(PluginFeature pluginFeature) { PluginFeature = pluginFeature; }