From a1e2e7de61606024e25e8122596492122ffae2ae Mon Sep 17 00:00:00 2001 From: jpbruyere Date: Sat, 20 Aug 2016 18:58:31 +0200 Subject: [PATCH] Command class creation --- Crow.csproj | 1 + src/Command.cs | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 src/Command.cs diff --git a/Crow.csproj b/Crow.csproj index 5c6cb9e3..70b7d799 100644 --- a/Crow.csproj +++ b/Crow.csproj @@ -143,6 +143,7 @@ + diff --git a/src/Command.cs b/src/Command.cs new file mode 100644 index 00000000..35a7facc --- /dev/null +++ b/src/Command.cs @@ -0,0 +1,69 @@ +// +// Command.cs +// +// Author: +// Jean-Philippe Bruyère +// +// Copyright (c) 2016 jp +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +using System; +using System.Xml.Serialization; +using System.ComponentModel; + +namespace Crow +{ + public class Command : IValueChange + { + #region IValueChange implementation + public event EventHandler ValueChanged; + public virtual void NotifyValueChanged(string MemberName, object _value) + { + ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value)); + } + #endregion + + #region CTOR + public Command () + { + } + #endregion + + string caption; + bool isEnabled; + + + [XmlAttributeAttribute()][DefaultValue(true)] + public virtual bool IsEnabled { + get { return isEnabled; } + set { + if (isEnabled == value) + return; + isEnabled = value; + NotifyValueChanged ("IsEnabled", isEnabled); + } + } + [XmlAttributeAttribute()][DefaultValue("Unamed Command")] + public virtual string Caption { + get { return caption; } + set { + if (caption == value) + return; + caption = value; + NotifyValueChanged ("Caption", caption); + + } + } + } +} -- 2.47.3