{
seqColour.setSelected(jmb.isColourBySequence());
jmolColour.setSelected(!jmb.isColourBySequence());
+ if (_colourwith==null)
+ {
+ _colourwith=new Vector<AlignmentPanel>();
+ }
+ if (_alignwith==null)
+ {
+ _alignwith=new Vector<AlignmentPanel>();
+ }
+
seqColourBy = new ViewSelectionMenu("Colour by ..", this, _colourwith,
new ItemListener()
{
/**
* list of alignment panels to use for superposition
*/
- ArrayList<AlignmentPanel> _alignwith = new ArrayList();
+ Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();
/**
* list of alignment panels that are used for colouring structures by aligned
* sequences
*/
- ArrayList<AlignmentPanel> _colourwith = new ArrayList();
+ Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();
/**
* set the primary alignmentPanel reference and add another alignPanel to the
jmb.setColourBySequence(seqColour.isSelected());
if (_colourwith == null)
{
- _colourwith = new ArrayList<AlignmentPanel>();
+ _colourwith = new Vector<AlignmentPanel>();
}
if (jmb.isColourBySequence())
{
if (!jmb.isLoadingFromArchive())
{
- if (ap!=null) {
+ if (_colourwith.size()==0 && ap!=null) {
// Make the currently displayed alignment panel the associated view
_colourwith.add(ap.alignFrame.alignPanel);
}
{
if (_alignwith == null)
{
- _alignwith = new ArrayList<AlignmentPanel>();
+ _alignwith = new Vector<AlignmentPanel>();
}
if (_alignwith.size() == 0 && ap != null)
{
{
if (append)
{
- if (e.getStateChange() == e.SELECTED)
+ enabled=false;
+ // toggle the inclusion state
+ if (_selectedviews.indexOf(p)==-1)
{
_selectedviews.add(p);
+ a.setSelected(true);
}
else
{
_selectedviews.remove(p);
+ a.setSelected(false);
}
+ enabled=true;
_handler.itemStateChanged(e);
}
else