import info.bioinfweb.jphyloio.events.TokenSetType;
import info.bioinfweb.libralign.alignmentarea.AlignmentArea;
import info.bioinfweb.libralign.alignmentarea.selection.SelectionModel;
+import info.bioinfweb.libralign.alignmentarea.tokenpainter.NucleotideTokenPainter;
import info.bioinfweb.libralign.dataarea.implementations.ConsensusSequenceArea;
import info.bioinfweb.libralign.dataarea.implementations.SequenceIndexArea;
import info.bioinfweb.libralign.dataarea.implementations.pherogram.PherogramAlignmentModel;
}
- private AlignmentArea createIndexArea(MultipleAlignmentsContainer container) {
+ private AlignmentArea createIndexArea(MultipleAlignmentsContainer container, AlignmentArea labeledArea) {
AlignmentArea result = new AlignmentArea(container);
result.setAllowVerticalScrolling(false);
- result.getDataAreas().getTopAreas().add(new SequenceIndexArea(result.getContentArea()));
+ result.getDataAreas().getTopAreas().add(new SequenceIndexArea(result.getContentArea(), labeledArea));
return result;
- }
+ }
- private AlignmentArea createEditableAlignmentArea(MultipleAlignmentsContainer container, boolean allowVerticalScrolling) {
+ private AlignmentArea createEditableAlignmentArea(MultipleAlignmentsContainer container, boolean allowVerticalScrolling) {
AlignmentArea result = new AlignmentArea(container);
result.setAllowVerticalScrolling(allowVerticalScrolling);
AlignmentModel<NucleotideCompound> provider = new PackedAlignmentModel<NucleotideCompound>(tokenSet);
result.setAlignmentModel(provider, false);
provider.getChangeListeners().add(DIRTY_LISTENER);
+ result.getPaintSettings().getTokenPainterList().set(0, new NucleotideTokenPainter());
return result;
}
private AlignmentArea createConsensusHintArea(MultipleAlignmentsContainer container,
AlignmentArea labeledArea) {
- AlignmentArea result = new AlignmentArea(container);
- result.setAllowVerticalScrolling(false);
- result.getDataAreas().getBottomAreas().add(
- new ConsensusSequenceArea(result.getContentArea(), labeledArea));
- return result;
- }
+ AlignmentArea result = new AlignmentArea(container);
+ result.setAllowVerticalScrolling(false);
+ result.getDataAreas().getBottomAreas().add(
+ new ConsensusSequenceArea(result.getContentArea(), labeledArea));
+ return result;
+ }
private MultipleAlignmentsContainer getAlignmentsContainer() {
alignmentsContainer = new MultipleAlignmentsContainer();
AlignmentAreaList list = alignmentsContainer.getAlignmentAreas();
- list.add(createIndexArea(alignmentsContainer));
AlignmentArea readsArea = createEditableAlignmentArea(alignmentsContainer, true);
+ list.add(createIndexArea(alignmentsContainer, readsArea));
list.add(readsArea); // Make sure READS_AREA_INDEX is correct.
list.add(createEditableAlignmentArea(alignmentsContainer, false)); // Make sure COMSENSUS_AREA_INDEX is correct.
list.add(createConsensusHintArea(alignmentsContainer, readsArea));
/* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public void createPartControl(Composite parent) {
+ * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public void createPartControl(Composite parent) {
getAlignmentsContainer().createSWTWidget(parent, SWT.NONE);
updateStatusBar();
throw new IllegalArgumentException("The editor input must have the type " +
AlignmentEditorInput.class.getCanonicalName()); //TODO What should be done here?
}
- }
+ }
- private void updateStatusBar() {
+ private void updateStatusBar() {
IActionBars bars = getEditorSite().getActionBars();
bars.getStatusLineManager().setMessage("Edit mode: " +
(getReadsArea().getEditSettings().isInsert() ? "Insert" : "Overwrite") + " " +