Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Problems.GrammaticalOptimization/SharpVectorCore/Events/IMouseEvent.cs @ 13777

Last change on this file since 13777 was 12762, checked in by aballeit, 9 years ago

#2283 GUI updates, Tree-chart, MCTS Version 2 (prune leaves)

File size: 10.4 KB
Line 
1using System;
2using SharpVectors.Dom.Views;
3
4namespace SharpVectors.Dom.Events
5{
6  /// <summary>
7  /// The <see cref="IMouseEvent">IMouseEvent</see> interface provides
8  /// specific contextual information associated with Mouse events.
9  /// </summary>
10  /// <remarks>
11  /// <para>
12  /// In the case of nested elements mouse events are always targeted at
13  /// the most deeply nested element. Ancestors of the targeted element
14  /// may use bubbling to obtain notification of mouse events which
15  /// occur within its descendent elements.
16  /// </para>
17  /// <para>
18  /// Note: To create an instance of the MouseEvent interface, use the
19  /// feature string "MouseEvent" as the value of the input parameter
20  /// used with the DocumentEvent.createEvent method.
21  /// </para>
22  /// </remarks>
23  public interface IMouseEvent
24    : IUiEvent
25  {
26    /// <summary>
27    /// The horizontal coordinate at which the event occurred relative
28    /// to the origin of the screen coordinate system.
29    /// </summary>
30    long ScreenX
31    {
32      get;
33    }
34   
35    /// <summary>
36    /// The vertical coordinate at which the event occurred relative to
37    /// the origin of the screen coordinate system.
38    /// </summary>
39    long ScreenY
40    {
41      get;
42    }
43   
44    /// <summary>
45    /// The horizontal coordinate at which the event occurred relative
46    /// to the DOM implementation's client area.
47    /// </summary>
48    long ClientX
49    {
50      get;
51    }
52   
53    /// <summary>
54    /// The vertical coordinate at which the event occurred relative to
55    /// the DOM implementation's client area.
56    /// </summary>
57    long ClientY
58    {
59      get;
60    }
61   
62    /// <summary>
63    /// <c>true</c> if the control (Ctrl) key modifier is activated.
64    /// </summary>
65    bool CtrlKey
66    {
67      get;
68    }
69   
70    /// <summary>
71    /// <c>true</c> if the shift (Shift) key modifier is activated.
72    /// </summary>
73    bool ShiftKey
74    {
75      get;
76    }
77   
78    /// <summary>
79    /// <c>true</c> if the alt (alternative) key modifier is activated.
80    /// </summary>
81    bool AltKey
82    {
83      get;
84    }
85   
86    /// <summary>
87    /// <c>true</c> if the meta (Meta) key modifier is activated.
88    /// </summary>
89    /// <remarks>
90    /// Note: The Command key modifier on Macintosh system must be represented using this key modifier.
91    /// </remarks>
92    bool MetaKey
93    {
94      get;
95    }
96   
97    /// <summary>
98    /// During mouse events caused by the depression or release of a mouse
99    /// button, button is used to indicate which mouse button changed
100    /// state.
101    /// </summary>
102    /// <remarks>
103    /// <c>0</c> indicates the normal (in general on the left or
104    /// the one button on Macintosh mice, used to activate a button or
105    /// select text) button of the mouse. <c>2</c> indicates the contextual
106    /// property (in general on the right, used to display a context menu)
107    /// button of the mouse if present. <c>1</c> indicates the extra (in
108    /// general in the middle and often combined with the mouse wheel)
109    /// button. Some mice may provide or simulate more buttons and values
110    /// higher than <c>2</c> could be used to represent such buttons.
111    /// </remarks>
112    ushort Button
113    {
114      get;
115    }
116   
117    /// <summary>
118    /// Used to identify a secondary EventTarget related to a UI event.
119    /// </summary>
120    /// <remarks>
121    /// Currently this attribute is used with the mouseover event to
122    /// indicate the <see cref="IEventTarget">IEventTarget</see> which
123    /// the pointing device exited and with the mouseout event to
124    /// indicate the <see cref="IEventTarget">IEventTarget</see> which
125    /// the pointing device entered.
126    /// </remarks>
127    IEventTarget RelatedTarget
128    {
129      get;
130    }
131   
132    /// <summary>
133    /// <c>true</c> if the alt-graph (Alt Gr) key modifier is activated.
134    /// </summary>
135    /// <remarks>
136    /// Note: Some operating systems simulate the alt-graph key modifier
137    /// with the combinaison of alt and ctrl key modifiers.
138    /// Implementations are encouraged to use this modifier instead.
139    /// </remarks>
140    bool AltGraphKey
141    {
142      get;
143    }
144   
145    /// <summary>
146    /// The <see cref="InitMouseEvent">InitMouseEvent</see> method is used
147    /// to initialize the value of a MouseEvent created using the
148    /// <see cref="IDocumentEvent.CreateEvent">IDocumentEvent.CreateEvent</see>
149    /// method.
150    /// </summary>
151    /// <remarks>
152    /// This method may only be called before the
153    /// <see cref="IMouseEvent">IMouseEvent</see> has been dispatched via
154    /// the
155    /// <see cref="IEventTarget.DispatchEvent">IEventTarget.DispatchEvent</see>
156    /// method, though it may be called multiple times before being
157    /// dispatched. If called multiple times, the final invocation
158    /// takes precedence.
159    /// </remarks>
160    /// <param name="typeArg">
161    /// Specifies the event type.
162    /// </param>
163    /// <param name="canBubbleArg">
164    /// Specifies whether or not the event can bubble.
165    /// </param>
166    /// <param name="cancelableArg">
167    /// Specifies whether or not the event's default action can be
168    /// prevented.
169    /// </param>
170    /// <param name="viewArg">
171    /// Specifies the <see cref="IEvent">IEvent</see>'s view.
172    /// </param>
173    /// <param name="detailArg">
174    /// Specifies the <see cref="IEvent">IEvent</see>'s mouse click count.
175    /// </param>
176    /// <param name="screenXArg">
177    /// Specifies the <see cref="IEvent">IEvent</see>'s screen x
178    /// coordinate.
179    /// </param>
180    /// <param name="screenYArg">
181    /// Specifies the <see cref="IEvent">IEvent</see>'s screen y
182    /// coordinate.
183    /// </param>
184    /// <param name="clientXArg">
185    /// Specifies the <see cref="IEvent">IEvent</see>'s client x
186    /// coordinate.
187    /// </param>
188    /// <param name="clientYArg">
189    /// Specifies the <see cref="IEvent">IEvent</see>'s client y
190    /// coordinate.
191    /// </param>
192    /// <param name="ctrlKeyArg">
193    /// Specifies whether or not control key was depressed during
194    /// the <see cref="IEvent">IEvent</see>.
195    /// </param>
196    /// <param name="altKeyArg">
197    /// Specifies whether or not alt key was depressed during the
198    /// <see cref="IEvent">IEvent</see>.
199    /// </param>
200    /// <param name="shiftKeyArg">
201    /// Specifies whether or not shift key was depressed during the
202    /// <see cref="IEvent">IEvent</see>.
203    /// </param>
204    /// <param name="metaKeyArg">
205    /// Specifies whether or not meta key was depressed during the
206    /// <see cref="IEvent">IEvent</see>.
207    /// </param>
208    /// <param name="buttonArg">
209    /// Specifies the <see cref="IEvent">IEvent</see>'s mouse button.
210    /// </param>
211    /// <param name="relatedTargetArg">
212    /// Specifies the <see cref="IEvent">IEvent</see>'s related
213    /// <see cref="IEventTarget">IEventTarget</see>.
214    /// </param>
215    void InitMouseEvent(
216      string typeArg,
217      bool canBubbleArg,
218      bool cancelableArg,
219      IAbstractView viewArg,
220      long detailArg,
221      long screenXArg,
222      long screenYArg,
223      long clientXArg,
224      long clientYArg,
225      bool ctrlKeyArg,
226      bool altKeyArg,
227      bool shiftKeyArg,
228      bool metaKeyArg,
229      ushort buttonArg,
230      IEventTarget relatedTargetArg);
231   
232    /// <summary>
233    /// The <see cref="InitMouseEventNs">InitMouseEventNs</see> method
234    /// is used to initialize the value of a
235    /// <see cref="IMouseEvent">IMouseEvent</see> created using the
236    /// <see cref="IDocumentEvent.CreateEvent">IDocumentEvent.CreateEvent</see>
237    /// interface.
238    /// </summary>
239    /// <remarks>
240    /// This method may only be called before the
241    /// <see cref="IMouseEvent">IMouseEvent</see> has been dispatched via
242    /// the
243    /// <see cref="IEventTarget.DispatchEvent">IEventTarget.DispatchEvent</see>
244    /// method, though it may be called multiple times during that phase
245    /// if necessary. If called multiple times, the final invocation takes
246    /// precedence.
247    /// </remarks>
248    /// <param name="namespaceUri">
249    /// Specifies the
250    /// <see href="http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/glossary.html#dt-namespaceURI">namespace URI</see>
251    /// associated with this event, or null if the application wish to
252    /// have no namespace.
253    /// </param>
254    /// <param name="typeArg">
255    /// Specifies the event type.
256    /// </param>
257    /// <param name="canBubbleArg">
258    /// Specifies whether or not the event can bubble.
259    /// </param>
260    /// <param name="cancelableArg">
261    /// Specifies whether or not the event's default action can be
262    /// prevented.
263    /// </param>
264    /// <param name="viewArg">
265    /// Specifies the <see cref="IEvent">IEvent</see>'s AbstractView.
266    /// </param>
267    /// <param name="detailArg">
268    /// Specifies the <see cref="IEvent">IEvent</see>'s mouse click count.
269    /// </param>
270    /// <param name="screenXArg">
271    /// Specifies the <see cref="IEvent">IEvent</see>'s screen x
272    /// coordinate.
273    /// </param>
274    /// <param name="screenYArg">
275    /// Specifies the <see cref="IEvent">IEvent</see>'s screen y
276    /// coordinate.
277    /// </param>
278    /// <param name="clientXArg">
279    /// Specifies the <see cref="IEvent">IEvent</see>'s client x
280    /// coordinate.
281    /// </param>
282    /// <param name="clientYArg">
283    /// Specifies the <see cref="IEvent">IEvent</see>'s client y
284    /// coordinate.
285    /// </param>
286    /// <param name="ctrlKeyArg">
287    /// Specifies whether or not control key was depressed during the
288    /// <see cref="IEvent">IEvent</see>.
289    /// </param>
290    /// <param name="altKeyArg">
291    /// Specifies whether or not alt key was depressed during the
292    /// <see cref="IEvent">IEvent</see>.
293    /// </param>
294    /// <param name="shiftKeyArg">
295    /// Specifies whether or not shift key was depressed during the
296    /// <see cref="IEvent">IEvent</see>.
297    /// </param>
298    /// <param name="metaKeyArg">
299    /// Specifies whether or not meta key was depressed during the Event.
300    /// </param>
301    /// <param name="buttonArg">
302    /// Specifies the <see cref="IEvent">IEvent</see>'s mouse button.
303    /// </param>
304    /// <param name="relatedTargetArg">
305    /// Specifies the <see cref="IEvent">IEvent</see>'s related
306    /// <see cref="IEventTarget">IEventTarget</see>.
307    /// </param>
308    /// <param name="altGraphKeyArg">
309    /// Specifies whether or not alt graph key was depressed during the
310    /// <see cref="IEvent">IEvent</see>.
311    /// </param>
312    void InitMouseEventNs(
313      string namespaceUri,
314      string typeArg,
315      bool canBubbleArg,
316      bool cancelableArg,
317      IAbstractView viewArg,
318      long detailArg,
319      long screenXArg,
320      long screenYArg,
321      long clientXArg,
322      long clientYArg,
323      bool ctrlKeyArg,
324      bool altKeyArg,
325      bool shiftKeyArg,
326      bool metaKeyArg,
327      ushort buttonArg,
328      IEventTarget relatedTargetArg,
329      bool altGraphKeyArg);
330  }
331}
Note: See TracBrowser for help on using the repository browser.