[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: [PCB] action context patch
On Sun, 22 Mar 2009, DJ Delorie wrote:
>
>Are you sure this is the functionality you want? It sounded like you
>need one context pointer per action, not one context pointer per list
>of actions.
This was the simpler and more general change. Currently I use the call
with list of 1 action, but I can imagine a situation when I want to do the
same for different actions, so I thought why restrcit that?
>And there's no reason why the GUIs would need to even know that the
>contexts exist. The HID registering the action gives the context for
>the action to the common action code, and the common action code tells
>the action's handler what the context is. Nobody *invoking* actions
>needs to know.
Maybe I misunderstand the code, but lesstif_call_action() in
hid/lesstif/menu.c calls hid_find_action and then the trigger_cb of the
action and this is not a GUI-local. I suspect this can happen to any of my
context-registered actions and then I would have context NULL.
I don't say the GUI should know about context, but that, as the GTK hid
does, the GUI hid should not do this directly but call hid_actionv() from
hid/common/actions.c.
>Something like:
>
>hid_register_action (const char *name, ..., void *context);
>hid_deregister_action (const char *name);
>
>The remaining functions need not change.
>
I have one more layer, which is not part of this patch but the plugin,
where I do this. My approach is doing the smallest but more general patch
to the core and do everything else in plugins.
Regards,
Tibor Palinkas
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user