/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
{\r
setLayout(new BorderLayout());\r
this.av = av;\r
- PaintRefresher.Register(this, av.alignment);\r
+ PaintRefresher.Register(this, av.getSequenceSetId());\r
}\r
\r
/**\r
\r
void drawMarker(int i, int starty, int yoffset)\r
{\r
- int hiddenIndex = av.adjustForHiddenSeqs(i);\r
- int lastIndex = av.adjustForHiddenSeqs(i - 1);\r
- int nextIndex = av.adjustForHiddenSeqs(i + 1);\r
+\r
+ SequenceI [] hseqs = av.alignment.getHiddenSequences().hiddenSequences;\r
+ //Use this method here instead of calling hiddenSeq adjust\r
+ //3 times.\r
+ int hSize = hseqs.length;\r
+\r
+ int hiddenIndex = i;\r
+ int lastIndex = i - 1;\r
+ int nextIndex = i + 1;\r
+\r
+ for(int j=0; j<hSize; j++)\r
+ {\r
+ if (hseqs[j] != null)\r
+ {\r
+ if(j-1<hiddenIndex)\r
+ hiddenIndex++;\r
+ if(j-1<lastIndex)\r
+ lastIndex++;\r
+ if(j-1<nextIndex)\r
+ nextIndex++;\r
+ }\r
+ }\r
\r
boolean below = (hiddenIndex > lastIndex + 1);\r
- boolean above = (nextIndex>hiddenIndex+1);\r
+ boolean above = (nextIndex > hiddenIndex+1);\r
+\r
\r
gg.setColor(Color.blue);\r
if(below)\r
Font bold = new Font(av.getFont().getName(), Font.BOLD,\r
av.getFont().getSize());\r
\r
- if (av.alignment.getSequenceAt(i).getHiddenSequences() != null)\r
+\r
+ if (av.alignment.getSequenceAt(i)!=null\r
+ && av.alignment.getSequenceAt(i).getHiddenSequences() != null)\r
gg.setFont(bold);\r
else\r
gg.setFont(italic);\r