Renderers
Most components of the FlexGantt framework delegate their rendering to a separate renderer. Renderers are defined as interfaces, each one of them returning a single component, which performs the actual drawing operations. The framework defines the following renderers and provides default implementations for each one of them:
Tree Table Cell Renderer - used to renderer tree table cells based on the type of the object that is displayed inside of them. If the cell does not contain any data then the default object type will be used after retrieving it from the column in which the cell is displayed.
Dateline Model Renderer - the dateline is divided into two rows. The upper one displays the major time (e.g. „Year 2007, Year 2008, ...“), the lower one displays the minor time (e.g. „Jan., Feb., Mar., ...). The dateline model renderer gets used for both rows and renders the time spans displayed in either one. Dateline model renderers are mapped to dateline models. Different models can use different renderers.
Eventline Object Renderer - the eventline uses a model, which returns eventline objects. The rendering of these objects gets performed by eventline object renderers, that are mapped to the types of the eventline objects.
Column Header Renderer - each column of the tree table displays a column header at the top of it. The appearance of these headers can be controlled by providing different column header renderer implementations. Each column provides a header value. The lookup of the renderer is based on the type of that value.
Row Header Renderer - the row header to the left of the tree table uses renderers to draw the header for each row. The lookup of the renderer is based on the header value returned by the tree table model. This way each row can have a completely different header.
Timeline Object Renderer - used to visualize objects that are shown underneath the timeline. Each timeline object is allocated to its specific time span and hierarchy node / row. These two pieces of information provide the bounds (x, y, width, height) that timeline objects can use to renderer themselves via a timeline object renderer.
Popup Renderer - a typical use case for production planning and scheduling systems is the desire of the user to lookup detailed information about an activity or event. In FlexGantt this information can be displayed in so-called popups. The appearance of these popups can be controlled by using different instances of popup renderers based on the type of the popup object associated with a particular timeline object.
Drag Info Renderer - during a drag & drop operation of a timeline object it is often necessary to display information about the drag to the user. This can be done with a drag info window that pops up below the dragged timeline object. Its apperance can be controlled by drag info renderers.
