public class MultipleAlignmentsContainer extends TICComponent
AlignmentArea
, that are coupled related to horizontal
scrolling. This can e.g. be used to display a data area with heading information (e.g. SequenceIndexArea
)
which always remains visible independently of the vertical scrolling of the alignment it belongs to. (To achieve this
you would add to alignment areas to an instance of this class, one containing the heading data area and the other one
containing the alignment.)
Note that it makes only sense to combine alignment areas that display related information and therefore have an equal number of according columns (except the area containing only data areas).
DISPATCHER_MAP, repaintRequested
Constructor and Description |
---|
MultipleAlignmentsContainer() |
Modifier and Type | Method and Description |
---|---|
void |
assignSizeToAll() |
AlignmentAreaList |
getAlignmentAreas()
Use the returned instance to change the alignment areas contained in this container.
|
EditSettings |
getEditSettings()
Returns the edit settings that are shared among all contained alignment areas.
|
AlignmentArea |
getFocusedAlignmentArea()
Returns the alignment area contained in this component, that currently has the focus.
|
java.util.Set<java.lang.String> |
getPaintSettingsToSynchronize()
Returns a set of property names that are synchronized between the paint setting objects of the alignment areas
contained in this container.
|
java.awt.Dimension |
getSize() |
protected java.lang.String |
getSwingComponentClassName(java.lang.Object... parameters) |
protected java.lang.String |
getSWTComponentClassName(java.lang.Object... parameters) |
protected java.lang.Object[] |
getSWTComponentConstructorParameters(java.lang.Object... parameters) |
ToolkitSpecificMultipleAlignmentsContainer |
getToolkitComponent() |
boolean |
isDistributeRemainingSpace()
Returns whether remaining space shall be distributed among all scrollable alignments.
|
void |
paint(TICPaintEvent event) |
void |
redistributeHeight() |
void |
setAllPaintSettingPropertiesToSynchronize()
Sets all properties of
PaintSettings to be synchronized between all alignment areas in this container. |
void |
setDistributeRemainingSpace(boolean distributeRemainingSpace)
If the height of this container is higher than the height that is needed to display all alignments without
scrolling, you can specify here how the remaining space shall be distributed among the alignments.
|
addKeyListener, addMouseListener, addMouseWheelListener, assignSize, dispatchEvent, getCurrentToolkit, getKeyListenersSet, getMouseListenersSet, getMouseWheelListenersSet, getSwingComponentConstructorParameters, hasDefinedSize, hasToolkitComponent, isUpdateOngoing, removeKeyListener, removeMouseListener, removeWheelMouseListener, repaint, setToolkitComponent, setUpdateOngoing
public MultipleAlignmentsContainer()
public AlignmentAreaList getAlignmentAreas()
public EditSettings getEditSettings()
public boolean isDistributeRemainingSpace()
setDistributeRemainingSpace(boolean)
for further details.)true
is the height shall be distributed, false
if the bottom most alignment
shall get all the spacepublic void setDistributeRemainingSpace(boolean distributeRemainingSpace)
distributeRemainingSpace
- Specify true
here if you want the additional height to be distributed
equally among all alignments that are marked as vertically scrollable. If you specify false
the
whole space is provided to the bottom most alignment (no matter if it is scrollable or not).protected java.lang.String getSwingComponentClassName(java.lang.Object... parameters)
getSwingComponentClassName
in class TICComponent
protected java.lang.String getSWTComponentClassName(java.lang.Object... parameters)
getSWTComponentClassName
in class TICComponent
protected java.lang.Object[] getSWTComponentConstructorParameters(java.lang.Object... parameters)
getSWTComponentConstructorParameters
in class TICComponent
public java.awt.Dimension getSize()
getSize
in class TICComponent
public void paint(TICPaintEvent event)
paint
in class TICComponent
public ToolkitSpecificMultipleAlignmentsContainer getToolkitComponent()
getToolkitComponent
in class TICComponent
public void assignSizeToAll()
public void redistributeHeight()
public AlignmentArea getFocusedAlignmentArea()
Note that this method behaves slightly different if used in Swing or in SWT. In Swing
applications the components contained in an alignment area may loose their focus, if the user clicks on a menu
entry (unless the JRootPane
is not set unfocusable) or a button. Therefore the focused alignment area
may not be correctly determined inside an action attached to another Swing component (e.g. a button or a
menu item), because this component then has the focus. This problem will not occur if an action is invoked
using a keyboard shortcut.
In SWT applications the focused alignment area can usually still be determined, even if a button or menu item is currently active.
null
of the focus is not inside this containerpublic java.util.Set<java.lang.String> getPaintSettingsToSynchronize()
Note that all simple properties of PaintSettings
can be added here, but it is not possible to synchronize
token painters.
PaintSettings
public void setAllPaintSettingPropertiesToSynchronize()
PaintSettings
to be synchronized between all alignment areas in this container.