I think in my head when I read your description I was thinking object 
inheritance and polymorphism to manage the custom code. For example a 
normal widget plugin would inherit from Widget. But in the case of enhance 
functionality a child of Widget could be created and then your plugin would 
use that instead.

For example if your writing a new widget called Foo but needs functionality 
from Widget that doesn't exist in core then maybe something like this:

function SuperWidget() {
  Widget.apply(this, arguments);
}
SuperWidget.prototype = new Widget();
// Enhance Widget as needed here

function MyWidget() {
  SuperWidget.apply(this, arguments);
}
MyWidget.prototype = new SuperWidget();

But maybe my understanding is out of sync.

On Tuesday, January 12, 2016 at 2:00:05 PM UTC-5, Tobias Beer wrote:
>
> Hi Devin,
>
> Thing is, I don't see a point to reinventing the wheel or duplicating 
> entire modules for a mild change / update, e.g. to the ButtonWidget, the 
> ListWidget ...or a PopupMechanism.
>
> So, if a given pull request is not being accepted then I am not at all 
> inclined to provide a standalone solution, a fork duplicating most all 
> code. Instead, I will hijack the very bit of the core component I have to 
> in order to handle my case — insofar as that is possible — and otherwise 
> pass the call down to the core handler.
>
> This is not about me finding a solution that works for me, but about 
> shipping plugins that at times need enhanced capabilities. Since waiting 
> for the core to move into a desired direction is not always fruitful, 
> whatever the reasons may be... I have yet to see why hijacking would not be 
> one way to go about it.
>
> Best wishes,
>
> Tobias.
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/1074c39f-48f1-4200-8fe4-cbd93df918e8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to