EveryFileExplorer/LibEveryFileExplorer/Files/FileFormat.cs

52 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Drawing;
namespace LibEveryFileExplorer.Files
{
internal interface FileFormatBase { }
public abstract class FileFormat<T> : FileFormatBase where T : FileFormatIdentifier, new()
{
private static T _identifier = new T();
public static T Identifier { get { return _identifier; } }
}
public abstract class FileFormatIdentifier
{
protected const String Category_Animations = "Animations";
protected const String Category_Archives = "Archives";
protected const String Category_Audio = "Audio";
protected const String Category_Cells = "Cells";
protected const String Category_Fonts = "Fonts";
protected const String Category_Graphics = "Graphics";
protected const String Category_Layouts = "Layouts";
protected const String Category_Models = "Models";
protected const String Category_Palettes = "Palettes";
protected const String Category_Particles = "Particles";
protected const String Category_Roms = "Roms";
protected const String Category_Screens = "Screens";
protected const String Category_Shaders = "Shaders";
protected const String Category_Strings = "Strings";
protected const String Category_Textures = "Textures";
protected const String Category_Videos = "Videos";
public abstract String GetCategory();
public abstract String GetFileDescription();
public abstract String GetFileFilter();
public virtual Bitmap GetIcon() { return null; }
public virtual Bitmap GetTreeIcon() { return null; }
public abstract FormatMatch IsFormat(EFEFile File);
}
public enum FormatMatch
{
No,
Extension,
Content
}
}