using System.Collections.Generic;
using System.Drawing;
using System.Reflection;
using System.Resources;
namespace Core.Common.Base
{
///
/// Provides default functionality making it easier to implement .
/// Handles Active status in activate/deactivate.
///
public abstract class ApplicationPlugin : IPlugin
{
///
/// Gets or sets the application.
/// The application.
public virtual IApplication Application { get; set; }
///
/// Gets the name of the plugin.
///
public abstract string Name { get; }
///
/// Gets the name of the plugin as displayed in the user interface.
///
public abstract string DisplayName { get; }
///
/// Gets the description of the plugin.
///
public abstract string Description { get; }
///
/// Gets the version of the plugin.
///
public abstract string Version { get; }
///
/// Image for displaying in gui. Default format 32x32 bitmap or scalable.
///
public virtual Image Image
{
get
{
return null;
}
}
///
/// ResourceManger of plugin. Default Properties.Resources.
///
public virtual ResourceManager Resources { get; set; }
///
/// Provides information about data that can be created
///
public virtual IEnumerable GetDataItemInfos()
{
yield break;
}
///
/// File importers of this plugin
///
public virtual IEnumerable GetFileImporters()
{
yield break;
}
///
/// File exporters of this plugin
///
public virtual IEnumerable GetFileExporters()
{
yield break;
}
///
/// Activates the plugin.
///
public virtual void Activate()
{
}
///
/// Deactivates the plugin.
///
public virtual void Deactivate()
{
}
}
}