Bond highlightBond1, highlightBond2;\r
boolean errorLoading = false;\r
boolean seqColoursReady = false;\r
+ jalview.appletgui.FeatureRenderer fr;\r
\r
public AppletPDBCanvas(jalview.appletgui.SeqCanvas seqcanvas, Sequence seq)\r
{\r
// Applet and Application specific sequence renderers to be used\r
void colourBySequence(PDBChain chain)\r
{\r
+ boolean showFeatures = false;\r
+\r
+ if(seqcanvas.getViewport().getShowSequenceFeatures())\r
+ {\r
+ if(fr==null)\r
+ {\r
+ fr = new jalview.appletgui.FeatureRenderer(seqcanvas.getViewport());\r
+ }\r
+ fr.transferSettings( seqcanvas.getFeatureRenderer());\r
+ showFeatures = true;\r
+ }\r
+\r
for (int i = 0; i < chain.bonds.size(); i++)\r
{\r
Bond tmp = (Bond) chain.bonds.elementAt(i);\r
tmp.startCol = seqcanvas.getSequenceRenderer().\r
getResidueBoxColour( sequence, index);\r
\r
- // tmp.startCol = seqcanvas.getFeatureRenderer().\r
- // findFeatureColour(tmp.startCol, sequence, index);\r
+ if(showFeatures)\r
+ tmp.startCol = fr.findFeatureColour(tmp.startCol, sequence, index);\r
}\r
}\r
\r
{\r
tmp.endCol = seqcanvas.getSequenceRenderer().\r
getResidueBoxColour( sequence, index);\r
- // tmp.endCol = seqcanvas.getFeatureRenderer().\r
- // findFeatureColour(tmp.endCol, sequence, index);\r
+\r
+ if(showFeatures)\r
+ tmp.endCol = fr.findFeatureColour(tmp.endCol, sequence, index);\r
}\r
}\r
}\r
\r
\r
+ Zsort zsort;\r
public void drawScene(Graphics g)\r
{\r
+ if (zbuffer)\r
+ {\r
+ if(zsort ==null)\r
+ zsort = new Zsort();\r
\r
- if (zbuffer) {\r
- Zsort.Zsort(visiblebonds);\r
+ zsort.Zsort(visiblebonds);\r
}\r
\r
\r
\r
void highlightSeqcanvas(int pos)\r
{\r
- int index = seqcanvas.getViewport().getAlignment().findIndex(sequence);\r
-\r
- int size = pos==-1?0:3;\r
-\r
- if(highlightRes!=null)\r
- size += highlightRes.size()*3;\r
-\r
- int [] array = new int[size];\r
- int i=0;\r
+ SearchResults searchResults = new SearchResults();\r
if(highlightRes!=null)\r
{\r
- for (i = 0; i < highlightRes.size(); i++)\r
+ for (int i = 0; i < highlightRes.size(); i++)\r
{\r
int a = Integer.parseInt(highlightRes.elementAt(\r
i).toString())+1;\r
- array[i * 3] = index;\r
- array[ (i * 3) + 1] = a;\r
- array[ (i * 3) + 2] = a;\r
+\r
+ searchResults.addResult(sequence, a, a);\r
}\r
}\r
\r
if(pos!=-1)\r
{\r
- array[i * 3] = index;\r
- array[i * 3 + 1] = pos+1;\r
- array[i * 3 + 2] = pos+1;\r
+ searchResults.addResult(sequence, pos+1, pos+1);\r
}\r
\r
- seqcanvas.highlightSearchResults(array);\r
+ seqcanvas.highlightSearchResults(searchResults);\r
}\r
\r
\r