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);
}
}
}