Some implementation notes for built-in functionality:
-
The designer’s mouse events, key events, and propertyChange listeners simply implement the corresponding java listeners. Your components would implement built-in functionality directly in java, and add them to the component either at creation or in the startup method.
-
Property bindings you wish to implement would simply be listeners of the appropriate types for all of the relevant source data. If the source data is on a different component, add a listener defined in the destination component to listen to the source component. (In the startup method, to ensure source components have been created.)
-
Tag bindings are subscriptions–TagChangeListeners. You’d add them in the startup method of the destination component.
-
SQL Bindings and Tag History Bindings are runnable background tasks that your destination component would kick off when the desired conditions are met (other listeners’ data arrival, perhaps). The final step in such background tasks is to place a runnable on the foreground thread to make the final assignment to the target property.
Be sure to remove all created listeners in the shutdown method.