No subject

Thu Jul 22 06:11:08 MST 2010

two distinct pathways through a piece. =A0If the entry point is mouse<br>
clicking (selecting), then it behaves in the way described in that post<br>
you sent me. =A0If, however, the entry point is a keystroke, then I get<br>
the sense a completely different set of rules apply.<br></blockquote><div><=
br>There is no difference.=A0 <br>=A0</div><blockquote class=3D"gmail_quote=
" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, =
204); padding-left: 1ex;">

You mention TriggerAction and ReportAction as being exceptions, but I<br>
count at least 9 different traits that listen for keystrokes. =A0</blockquo=
te><div><br>Actually, almost all of them do.=A0 Off the top of my head, I c=
an&#39;t think of one that doesn&#39;t.<br>=A0</div><blockquote class=3D"gm=
ail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(2=
04, 204, 204); padding-left: 1ex;">
Some of<br>
those determine whether a keystroke makes it to another trait, and in<br>
those cases order could matter (or it could be that those &quot;Restrict&qu=
type traits apply to all other traits in the piece irrespective of<br>
order). =A0From trial and error, so far I&#39;ve determined that ReportActi=
and GlobalKeyAction both fire before Delete actions, but TriggerActions<br>
fire after delete actions. =A0</blockquote><div><br>Triggers are usually fi=
red last.=A0 All the others are triggered from the bottommost in the list t=
o the topmost in that order.<br>=A0</div><blockquote class=3D"gmail_quote" =
style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 20=
4); padding-left: 1ex;">
This suggests that there is a list. =A0A list<br>
that determines the order in which key listening traits fire when there<br>
are multiple traits on the same piece listening for the same keystroke. I c=
onfirmed that Delete happens before TriggerAction by moving the<br>
Delete above TriggerAction and then below TriggerAction and in both<br>
cases the Delete prevented the TriggerAction. =A0</blockquote><div><br>Trig=
gers are an exception to the rule.<br>=A0</div><blockquote class=3D"gmail_q=
uote" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 2=
04, 204); padding-left: 1ex;">
But when I removed the<br>
Delete alltogether, then the TriggerAction happened. =A0Why did Delete<br>
take precedence over TriggerAction in this case? =A0Why is Delete higher<br=
than TriggerAction on the list? =A0(&quot;The list&quot; being the order in=
key-based traits are executed when multiple traits on a single piece<br>
listen for the same key.)<br></blockquote><div><br>Trigger is last.=A0 This=
 is because it waits for the state of the change to be finalized before che=
cking whether the trigger can be fired.<br><br>Hope this helps.<br><br>- M.=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8=
ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I hope that this clarifies my question. =A0I am probably making a number<br=
of mistakes in the way I formulate my question because I am still<br>
learning how VASSAL works. =A0I look forward to further enlightenment.<br>
Read this topic online here:<br>
<a href=3D"
" target=3D"_blank">
messages mailing list<br>
<a href=3D"mailto:messages at" target=3D"_blank">messages at vas=</a><br>
<a href=3D"" target=3D=


More information about the messages mailing list