> Hi Angelo maybe there is misunderstanding. I only point here to that you
> have in code
> ```
> public:
>
ops sorry :)


> so if you call this method you get pointer to object that do nothing. So
> from my POV it can be useful only if you want to use `dynamic_cast`.
Yes that was the aim. In my idea i thought someone can implement his
wodget extension, then find someone else implemented other widgets
that seem to be useful, now he has two possibilities, adding new code
into his extension (importing from other implementation that is not
his core) or load two plugins. Although it isn't possible atm, loading
new plugins means having somewhere something like

YExternalWidgetFactory*
YExternalWidgets::externalWidgetFactory(pluginIdentifier)

So a base class (YExternalWidgetFactory) should be provided by YUI.


> If you plan to have more factories, then maybe at least method that can
> say what items it can create helps.
The problem is that YUI cannot say what you're going to create...

> I consider use case where you need
> special widget and need to find which factory provide given widget to
> create it.

...
mgaID = YUILoader::loadExternalWidgets(MageiaPluginName);
...
YWidget *pWdg =
YExternalWidges::externalWidget(mgaID)->createMageiaSpecialWidgets(params);
(with a dynamic_cast of course).
...

But that was not easy to be implemented and i needed to have external
widgets soon to go on with Mageia tools, since my changes to YTable to
have check boxes were "rejected"
and external plugins are not really managed by YUI of not the given ones
(used by suse).

> @mvidner is now ill, but I hope he will be back this week and then we need
> to discuss about possible backup to not stuck development.
I'm sorry for that, and if you need help i can be on libyui IRC channel,
but not so often as before since I changed my job, or via mail.