using System;
using SharpVectors.Dom.Views;
namespace SharpVectors.Dom.Events
{
/// <summary>
/// The <see cref="ITextEvent">ITextEvent</see> interface provides
/// specific contextual information associated with Text Events.
/// </summary>
/// <remarks>
/// Note: To create an instance of the
/// <see cref="ITextEvent">ITextEvent</see> interface, use the
/// feature string <c>"TextEvent"</c> as the value of the input parameter
/// used with the
/// <see cref="IDocumentEvent.CreateEvent">IDocumentEvent.CreateEvent</see>
/// method.
/// </remarks>
public interface ITextEvent
: IUiEvent
{
/// <summary>
/// <see cref="Data">Data</see> holds the value of the characters
/// generated by the character device. This may be a single
/// Unicode character or it may be a string.
/// </summary>
string Data
{
get;
}
/// <summary>
/// The <see cref="InitTextEvent">InitTextEvent</see> method is used
/// to initialize the value of a
/// <see cref="ITextEvent">ITextEvent</see> created using the
/// <see cref="IDocumentEvent.CreateEvent">IDocumentEvent.CreateEvent</see>
/// method.
/// </summary>
/// <remarks>
/// This method may only be called before the
/// <see cref="ITextEvent">ITextEvent</see> has been dispatched via
/// the
/// <see cref="IEventTarget.DispatchEvent">IEventTarget.DispatchEvent</see>
/// method, though it may be called multiple times during that phase
/// if necessary. If called multiple times, the final invocation takes
/// precedence. This method has no effect if called after the event
/// has been dispatched.
/// </remarks>
/// <param name="typeArg">
/// Specifies the event type.
/// </param>
/// <param name="canBubbleArg">
/// Specifies whether or not the event can bubble. This parameter
/// overrides the intrinsic bubbling behavior of the event.
/// </param>
/// <param name="cancelableArg">
/// Specifies whether or not the event's default action can be
/// prevent. This parameter overrides the intrinsic cancelable
/// behavior of the event.
/// </param>
/// <param name="viewArg">
/// Specifies the <see cref="ITextEvent">TextEvent</see>'s view.
/// </param>
/// <param name="dataArg">
/// Specifies the <see cref="ITextEvent">TextEvent</see>'s data
/// attribute.
/// </param>
void InitTextEvent(
string typeArg,
bool canBubbleArg,
bool cancelableArg,
IAbstractView viewArg,
string dataArg);
/// <summary>
/// The <see cref="InitTextEventNs">InitTextEventNs</see> method is
/// used to initialize the value of a
/// <see cref="ITextEvent">ITextEvent</see> created using the
/// <see cref="IDocumentEvent.CreateEvent">IDocumentEvent.CreateEvent</see>
/// method. This method may only be called before the
/// <see cref="ITextEvent">ITextEvent</see> has been dispatched via
/// the
/// <see cref="IEventTarget.DispatchEvent">IEventTarget.DispatchEvent</see>
/// method, though it may be called multiple times during that phase
/// if necessary. If called multiple times, the final invocation takes
/// precedence. This method has no effect if called after the event
/// has been dispatched.
/// </summary>
/// <param name="namespaceUri">
/// Specifies the
/// <see href="http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/glossary.html#dt-namespaceURI">namespace URI</see>
/// associated with this event, or <c>null</c> if the applications
/// wish to have no namespace.
/// </param>
/// <param name="type">
/// Specifies the event type.
/// </param>
/// <param name="canBubbleArg">
/// Specifies whether or not the event can bubble.
/// </param>
/// <param name="cancelableArg">
/// Specifies whether or not the event's default action can be
/// prevent.
/// </param>
/// <param name="viewArg">
/// Specifies the <see cref="ITextEvent">ITextEvent</see>'s view.
/// </param>
/// <param name="dataArg">
/// Specifies the <see cref="ITextEvent">ITextEvent</see>'s data
/// attribute
/// </param>
void InitTextEventNs(
string namespaceUri,
string type,
bool canBubbleArg,
bool cancelableArg,
IAbstractView viewArg,
string dataArg);
}
}