using System.Drawing;
namespace DelftTools.Controls
{
///
/// Command pattern implementation.
///
public interface ICommand
{
///
/// Execute a Command with the supplied arguments.
///
/// Arguments used in executing the Command.
void Execute(params object[] arguments);
///
/// Unexecute or undo the Command.
///
void Unexecute();
///
/// Name of the Command. This might show up in the toolbar button.
///
string Name { get; }
///
/// Commands can be disabled if they cannot be executed.
///
bool Enabled { get; }
///
/// Image displayed commandtext in interface
///
Image Image { set; get; }
///
/// Commands can checked if they represent a (boolean) state.
/// HACK: command can't be checked, button associated with command can be checked! Find a better design.
///
bool Checked { set; get; }
}
}