public abstract class ShapeControl
The base class for all controls, i.e. presentation shapes that have JComponents,
(like buttons, sliders, text fields, and also charts) both persistent and not
persistent. The non-persistent controls are identified by their owner Presentable
object, id and index.
The concept of persistent and non-persistent controls helps you to save significant
amount of memory at runtime, which is critical when you have a lot of agents,
e.g. agents, each with its own controls/charts on the presentation. It works in the
following way. If you have marked control as persistent, it will always exist during
the agent lifetime. If you mark it as non-persistent, it will only exist when
it is displayed. Therefore if you are viewing the presentation of one agent at a
time, the non-persistent controls of other agents will not take any memory.
The only limitation of non-persistent controls is that you cannot access them
programmatically while they are not visible. While they are visible, you can access
them by calling getShapeControl( id, index ) and then call its methods, however
the changes you make this way will be lost if the control disappears from the
view and is displayed again. With persistent controls you can call their methods
any time, just like you do with any normal objects.
If you do not have a lot of agents and thus do not care about the memory
occupied by the controls, you can have all your controls as persistent.
Posts general properties specific to a particular shape class.
Is triggered by SVG_DIRTY_SHAPE flag.
Made public for occasional posting of additional SVG properties from outside engine
(e.g. from libraries)