Hello,

When I wrote the "Open the account page after creating a new file" patch
(https://lists.gnucash.org/pipermail/gnucash-patches/2005-November/016979.html),
 I used the same mechanism than the one that is used to launch the account 
hierarchy druid (hooks in the engine). It looked to me to be the only solution 
because the account tree seems to be designed as a plugin.

However, I have a few problems with this architecture:
   - The GUI actions (in this case, open the account hierarchy druid,
open a new account tree page) are managed by a class in the engine
module.  That's odd to me. engine should be about data and data
consistency, not about user interactions.
  - The order of events is not controlled (you don't know in which order
the hooks will be called)
  - The GUI logic is not defined in a central place. To understand what
happens, you have to grep the hooks in all the source code. 
  - The GUI logic is also limited. For instance, you can't abort a
sequence if one of the actions (the hooks) is canceled by the user.

Did I use the right way to implement the feature ? If yes, aren't we a
little to extreme with the concept of plugins in Gnucash ?

Didier.

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to