LaKraven / LKSL

LaKraven Studios Standard Library
http://otapi.com
Other
51 stars 15 forks source link

Event Engine - Introduce "Event Sandbox" Base Types #123

Closed LaKraven closed 6 years ago

LaKraven commented 9 years ago

Okay, this is rather complicated, but insanely useful.

The idea is that you should be able to define a TLKEventSandboxer Class to provide definitions for the editors required to dynamically create (and dispatch) an Event of that type at runtime.

Now, if this feature related to just one UI context (such as VCL or FireMonkey), then it would be fairly easy to implement... but I want this to be "UI Agnostic". This means that UI platform specific top-level descriptors will be needed to enable the UI itself to create the correct visual editors for the values of each Event.

So, with the above in mind, the common architecture will provide the fundamental "base types" for TLKEventSandboxer and TLKEventSandboxEditor (the latter being a descriptor type for an individual Editor Type such as TLKEventSandboxEditorString and TLKEventSandboxEditorInteger, you get the idea).

These will do the low-level construction, initialization and dispatch handling for the dynamically-created Events, but will not provide any UI-specifics.

I will then implement UI platform specific top-level handlers for VCL, FMX, Console and Lazarus Forms respectively.

NOTE These plans are subject to possible rejection during development if the concept turns out to be overly complicated from the perspective of implementing developers. I have a simpler backup plan in mind as well!