+ public void comeBackLater(FeatureEvent evt)\r
+ {}\r
+\r
+ public void newFeatures(FeatureEvent evt)\r
+ {\r
+ if (evt.getFeatures().length > 0)\r
+ {\r
+ alignPanel.seqPanel.seqCanvas.fr.featuresAdded();\r
+ alignPanel.repaint();\r
+ if(featureSettings!=null)\r
+ featureSettings.setTableData();\r
+ }\r
+ }\r
+\r
+ Hashtable progressBars;\r
+ public void setProgressBar(String message, long id)\r
+ {\r
+ if(progressBars == null)\r
+ progressBars = new Hashtable();\r
+\r
+ JPanel progressPanel;\r
+ GridLayout layout = (GridLayout) statusPanel.getLayout();\r
+ if(progressBars.get( new Long(id) )!=null)\r
+ {\r
+ progressPanel = (JPanel)progressBars.get( new Long(id) );\r
+ statusPanel.remove(progressPanel);\r
+ progressBars.remove( progressPanel );\r
+ progressPanel = null;\r
+ if(message!=null)\r
+ statusBar.setText(message);\r
+\r
+ layout.setRows(layout.getRows() - 1);\r
+ }\r
+ else\r
+ {\r
+ progressPanel = new JPanel(new BorderLayout(10, 5));\r
+\r
+ JProgressBar progressBar = new JProgressBar();\r
+ progressBar.setIndeterminate(true);\r
+\r
+ progressPanel.add(new JLabel(message), BorderLayout.WEST);\r
+ progressPanel.add(progressBar, BorderLayout.CENTER);\r
+\r
+ layout.setRows(layout.getRows() + 1);\r
+ statusPanel.add(progressPanel);\r
+\r
+ progressBars.put(new Long(id), progressPanel);\r
+ }\r
+\r
+ validate();\r
+ }\r
+\r