> However, I'm still not clear on what the semantics of this are:
>
> Mouse =
> {
> ...
> Right = {
> { Mode(Save) Mode(Rotate) Mode(Notify) Mode(Release) Mode(Restore)
> }
> }
> ...
> }
>
> The right button invokes...what? It looks a bit like a menu, but it's
> missing the string names that the documentation says are required for a
> menu; also, there's language implying that popup menus aren't yet
> implemented, and I can't see what other sort of menu could be attached
> to a mouse button. Comparing it to Left and Middle makes it look as
> though it's trying to attach multiple different actions to the same
> no-modifiers click, which doesn't make much sense.
Menus, mouses, and bindings are all designed to map to "actions",
which are the verbs in our language. In the above example,
we map the right mouse button to the following actions:
Mode(Save) Remember which tool we're using
Mode(Rotate) Switch to the rotate tool
Mode(Notify) "Press" button
Mode(Release) "Release" button
Mode(Restore) Go back to the previous tool.
Each of these actions is documented in appendix F, "Action Reference",
of the pcb documentation. When the right mouse button is pressed,
each of these actions is executed in turn. In this case, right mouse
button rotates whatever's underneath it.
If we had attached a popup to a mouse button, it would be like this
(although this doesn't work, just an example):
Right = { Popup(XyzMenu) }
and later, define the menu:
Popups = {
XyzMenu = {
{File ... }
{Edit ... }
{Quit ... }
}
}
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev