+
+@Override
+public void updateColours(Object source) {
+ AlignmentPanel ap = (AlignmentPanel) source;
+
+ /*
+ * ignore events from panels not used to colour this view
+ */
+ if (!getViewer().isUsedForColourBy(ap))
+ {
+ return;
+ }
+
+ /*
+ * no need to update colours if structure colouring is not
+ * viewport dependent
+ */
+ if (!isColourBySequence() && !isJalviewColourScheme())
+ {
+ return;
+ }
+ if (colourScheme == null || colourScheme.isSimple())
+ {
+ return;
+ }
+
+ if (!isLoadingFromArchive())
+ {
+ if (isColourBySequence())
+ {
+ colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport()));
+ }
+ else
+ {
+ colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport(), colourScheme));
+ }
+ }
+ }