using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.ComponentModel; using System.Threading; using System.Collections.ObjectModel; namespace IvyBus { /* This is the Application side of binding storage */ /* association of a generated Key and a delegate and the expression */ /* this is SEND to other client */ #if (!PocketPC) [PropertyTab(typeof(System.Windows.Forms.Design.EventsTab), PropertyTabScope.Component)] [DefaultEvent("Callback")] #endif [DesignerCategory("Component")] [DesignTimeVisible(false)] /* should be added via Ivy component */ public class IvyApplicationBindingControl : System.ComponentModel.Component { public IvyApplicationBinding binding; #if (!PocketPC) [Category("Ivy")] #endif public BindingType Binding { get { return binding.Binding; } set { binding.Binding = value; } } #if (!PocketPC) [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] #endif public int Key { get { return binding.Key; } set { binding.Key = value; } } #if (!PocketPC) [Category("Ivy")] #endif [DefaultValue(null)] public string Expression { get { return binding.Expression; } set { binding.Expression = value; } } public string FormatedExpression { get { return binding.FormattedExpression; } } ///SentMessageClasses the first word token of sent messages /// optimise the parsing process when sending messages /// #if (!PocketPC) [Category("Ivy")] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] // sinon bug System.String constructor not found ! [Editor( "System.Windows.Forms.Design.StringCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor,System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" )] [Description("Arguments used when formating the expression")] #endif public Collection Arguments { get { return binding.Arguments; } } #if (!PocketPC) [Category("Ivy")] [Description("Event fired when Message Matching expression received")] #endif public event EventHandler Callback { add { binding.Callback += value; } remove { binding.Callback -= value; } } public IvyApplicationBindingControl() { binding = new IvyApplicationBinding(); } public IvyApplicationBindingControl(IContainer container) : this() { container.Add(this); } } }