1 package jalview.appletgui;
\r
3 import jalview.bin.JalviewLite;
\r
4 import jalview.datamodel.AlignmentAnnotation;
\r
5 import jalview.datamodel.ColumnSelection;
\r
6 import jalview.datamodel.GraphLine;
\r
7 import jalview.schemes.AnnotationColourGradient;
\r
8 import jalview.util.MessageManager;
\r
9 import jalview.viewmodel.annotationfilter.AnnotationFilterParameter;
\r
11 import java.awt.BorderLayout;
\r
12 import java.awt.CardLayout;
\r
13 import java.awt.Checkbox;
\r
14 import java.awt.Choice;
\r
15 import java.awt.Color;
\r
16 import java.awt.Dimension;
\r
17 import java.awt.Frame;
\r
18 import java.awt.Panel;
\r
19 import java.awt.TextField;
\r
20 import java.awt.event.ActionEvent;
\r
21 import java.awt.event.ActionListener;
\r
22 import java.awt.event.AdjustmentEvent;
\r
23 import java.awt.event.AdjustmentListener;
\r
24 import java.awt.event.ItemEvent;
\r
25 import java.awt.event.ItemListener;
\r
26 import java.awt.event.MouseAdapter;
\r
27 import java.awt.event.MouseEvent;
\r
28 import java.awt.event.MouseListener;
\r
29 import java.awt.event.TextEvent;
\r
30 import java.awt.event.TextListener;
\r
31 import java.util.Iterator;
\r
32 import java.util.Vector;
\r
34 import javax.swing.JPanel;
\r
36 //import net.miginfocom.swing.MigLayout;
\r
38 public class AnnotationColumnChooser extends AnnotationRowFilter implements
\r
39 ActionListener, AdjustmentListener, ItemListener, MouseListener
\r
42 private Choice annotations = new Choice();
\r
44 private Panel actionPanel = new Panel();
\r
46 private TitledPanel thresholdPanel = new TitledPanel();
\r
48 private Panel switchableViewsPanel = new Panel(new CardLayout());
\r
50 private CardLayout switchableViewsLayout = (CardLayout) (switchableViewsPanel
\r
53 private Panel noGraphFilterView = new Panel();
\r
55 private Panel graphFilterView = new Panel();
\r
57 private Panel annotationComboBoxPanel = new Panel();
\r
59 private BorderLayout borderLayout1 = new BorderLayout();
\r
61 private BorderLayout gBorderLayout = new BorderLayout();
\r
63 private BorderLayout ngBorderLayout = new BorderLayout();
\r
65 private Choice threshold = new Choice();
\r
67 private StructureFilterPanel gStructureFilterPanel;
\r
69 private StructureFilterPanel ngStructureFilterPanel;
\r
71 private StructureFilterPanel currentStructureFilterPanel;
\r
73 private SearchPanel currentSearchPanel;
\r
75 private SearchPanel gSearchPanel;
\r
77 private SearchPanel ngSearchPanel;
\r
79 private FurtherActionPanel currentFurtherActionPanel;
\r
81 private FurtherActionPanel gFurtherActionPanel;
\r
83 private FurtherActionPanel ngFurtherActionPanel;
\r
85 public static final int ACTION_OPTION_SELECT = 1;
\r
87 public static int ACTION_OPTION_HIDE = 2;
\r
89 public static String NO_GRAPH_VIEW = "0";
\r
91 public static String GRAPH_VIEW = "1";
\r
93 private int actionOption = ACTION_OPTION_SELECT;
\r
95 private ColumnSelection oldColumnSelection;
\r
97 public AnnotationColumnChooser()
\r
102 } catch (Exception ex)
\r
104 ex.printStackTrace();
\r
108 public AnnotationColumnChooser(AlignViewport av, final AlignmentPanel ap)
\r
111 frame = new JFrame();
\r
113 JalviewLite.addFrame(frame,
\r
114 MessageManager.getString("label.select_by_annotation"), 520,
\r
117 slider.addAdjustmentListener(this);
\r
118 slider.addMouseListener(this);
\r
120 if (av.getAlignment().getAlignmentAnnotation() == null)
\r
124 setOldColumnSelection(av.getColumnSelection());
\r
126 Vector list = new Vector();
\r
128 for (int i = 0; i < av.getAlignment().getAlignmentAnnotation().length; i++)
\r
130 String label = av.getAlignment().getAlignmentAnnotation()[i].label;
\r
131 if (!list.contains(label))
\r
133 list.addElement(label);
\r
137 list.addElement(label + "_" + (index++));
\r
141 for (int i = 0; i < list.size(); i++)
\r
143 annotations.addItem(list.elementAt(i).toString());
\r
146 populateThresholdComboBox(threshold);
\r
148 // restore Object state from the previous session if one exists
\r
149 if (av.getAnnotationColumnSelectionState() != null)
\r
151 currentSearchPanel = av.getAnnotationColumnSelectionState()
\r
152 .getCurrentSearchPanel();
\r
153 currentStructureFilterPanel = av.getAnnotationColumnSelectionState()
\r
154 .getCurrentStructureFilterPanel();
\r
155 annotations.select(av.getAnnotationColumnSelectionState()
\r
156 .getAnnotations().getSelectedIndex());
\r
157 threshold.select(av.getAnnotationColumnSelectionState()
\r
158 .getThreshold().getSelectedIndex());
\r
159 actionOption = av.getAnnotationColumnSelectionState()
\r
160 .getActionOption();
\r
166 } catch (Exception ex)
\r
172 frame.invalidate();
\r
176 private void jbInit() throws Exception
\r
178 ok.setLabel(MessageManager.getString("action.ok"));
\r
180 cancel.setLabel(MessageManager.getString("action.cancel"));
\r
182 thresholdValue.setEnabled(false);
\r
183 thresholdValue.setColumns(7);
\r
185 ok.addActionListener(this);
\r
186 cancel.addActionListener(this);
\r
187 annotations.addItemListener(this);
\r
188 thresholdValue.addActionListener(this);
\r
189 threshold.addItemListener(this);
\r
191 slider.setBackground(Color.white);
\r
192 slider.setEnabled(false);
\r
193 slider.setPreferredSize(new Dimension(100, 32));
\r
195 thresholdPanel.setBackground(Color.white);
\r
196 // thresholdPanel.setFont(JvSwingUtils.getLabelFont());
\r
197 // thresholdPanel.setLayout(new MigLayout("", "[left][right]", "[][]"));
\r
199 actionPanel.setBackground(Color.white);
\r
200 // actionPanel.setFont(JvSwingUtils.getLabelFont());
\r
202 graphFilterView.setLayout(gBorderLayout);
\r
203 graphFilterView.setBackground(Color.white);
\r
205 noGraphFilterView.setLayout(ngBorderLayout);
\r
206 noGraphFilterView.setBackground(Color.white);
\r
208 annotationComboBoxPanel.setBackground(Color.white);
\r
209 // annotationComboBoxPanel.setFont(JvSwingUtils.getLabelFont());
\r
211 gSearchPanel = new SearchPanel(this);
\r
212 ngSearchPanel = new SearchPanel(this);
\r
213 gFurtherActionPanel = new FurtherActionPanel(this);
\r
214 ngFurtherActionPanel = new FurtherActionPanel(this);
\r
215 gStructureFilterPanel = new StructureFilterPanel(this);
\r
216 ngStructureFilterPanel = new StructureFilterPanel(this);
\r
218 thresholdPanel.setTitle("Threshold Filter");
\r
219 thresholdPanel.add(getThreshold());
\r
220 thresholdPanel.add(slider);
\r
221 thresholdPanel.add(thresholdValue);
\r
223 actionPanel.add(ok);
\r
224 actionPanel.add(cancel);
\r
226 JPanel staticPanel = new JPanel();
\r
227 staticPanel.setLayout(new BorderLayout());
\r
228 staticPanel.setBackground(Color.white);
\r
230 staticPanel.add(gSearchPanel, java.awt.BorderLayout.NORTH);
\r
231 staticPanel.add(gStructureFilterPanel, java.awt.BorderLayout.SOUTH);
\r
233 graphFilterView.add(staticPanel, java.awt.BorderLayout.NORTH);
\r
234 graphFilterView.add(thresholdPanel, java.awt.BorderLayout.CENTER);
\r
235 graphFilterView.add(gFurtherActionPanel, java.awt.BorderLayout.SOUTH);
\r
237 noGraphFilterView.add(ngSearchPanel, java.awt.BorderLayout.PAGE_START);
\r
238 noGraphFilterView.add(ngStructureFilterPanel,
\r
239 java.awt.BorderLayout.CENTER);
\r
240 noGraphFilterView.add(ngFurtherActionPanel,
\r
241 java.awt.BorderLayout.CENTER);
\r
243 annotationComboBoxPanel.add(getAnnotations());
\r
244 switchableViewsPanel.add(noGraphFilterView,
\r
245 AnnotationColumnChooser.NO_GRAPH_VIEW);
\r
246 switchableViewsPanel.add(graphFilterView,
\r
247 AnnotationColumnChooser.GRAPH_VIEW);
\r
249 this.setLayout(borderLayout1);
\r
250 this.add(annotationComboBoxPanel, java.awt.BorderLayout.PAGE_START);
\r
251 this.add(switchableViewsPanel, java.awt.BorderLayout.CENTER);
\r
252 this.add(actionPanel, java.awt.BorderLayout.SOUTH);
\r
254 selectedAnnotationChanged();
\r
258 @SuppressWarnings("unchecked")
\r
259 public void reset()
\r
261 if (this.getOldColumnSelection() != null)
\r
263 av.getColumnSelection().clear();
\r
265 if (av.getAnnotationColumnSelectionState() != null)
\r
267 ColumnSelection oldSelection = av
\r
268 .getAnnotationColumnSelectionState()
\r
269 .getOldColumnSelection();
\r
270 if (oldSelection != null && oldSelection.getHiddenColumns() != null
\r
271 && !oldSelection.getHiddenColumns().isEmpty())
\r
273 for (Iterator<int[]> itr = oldSelection.getHiddenColumns()
\r
274 .iterator(); itr.hasNext();)
\r
276 int positions[] = itr.next();
\r
277 av.hideColumns(positions[0], positions[1]);
\r
280 av.setColumnSelection(oldSelection);
\r
282 ap.paintAlignment(true);
\r
287 public void adjustmentValueChanged(AdjustmentEvent evt)
\r
291 thresholdValue.setText((slider.getValue() / 1000f) + "");
\r
292 valueChanged(!sliderDragging);
\r
296 protected void addSliderMouseListeners()
\r
299 slider.addMouseListener(new MouseAdapter()
\r
302 public void mousePressed(MouseEvent e)
\r
304 sliderDragging = true;
\r
305 super.mousePressed(e);
\r
309 public void mouseDragged(MouseEvent e)
\r
311 sliderDragging = true;
\r
312 super.mouseDragged(e);
\r
316 public void mouseReleased(MouseEvent evt)
\r
318 if (sliderDragging)
\r
320 sliderDragging = false;
\r
321 valueChanged(true);
\r
323 ap.paintAlignment(true);
\r
328 public void valueChanged(boolean updateAllAnnotation)
\r
330 if (slider.isEnabled())
\r
332 getCurrentAnnotation().threshold.value = slider.getValue() / 1000f;
\r
334 ap.paintAlignment(false);
\r
338 public Choice getThreshold()
\r
343 public void setThreshold(Choice threshold)
\r
345 this.threshold = threshold;
\r
348 public Choice getAnnotations()
\r
350 return annotations;
\r
353 public void setAnnotations(Choice annotations)
\r
355 this.annotations = annotations;
\r
359 public void updateView()
\r
361 // Check if combobox is still adjusting
\r
367 AnnotationFilterParameter filterParams = new AnnotationFilterParameter();
\r
368 setCurrentAnnotation(av.getAlignment().getAlignmentAnnotation()[getAnnotations()
\r
369 .getSelectedIndex()]);
\r
371 int selectedThresholdItem = getSelectedThresholdItem(getThreshold()
\r
372 .getSelectedIndex());
\r
374 slider.setEnabled(true);
\r
375 thresholdValue.setEnabled(true);
\r
377 if (selectedThresholdItem == AnnotationColourGradient.NO_THRESHOLD)
\r
379 slider.setEnabled(false);
\r
380 thresholdValue.setEnabled(false);
\r
381 thresholdValue.setText("");
\r
382 // build filter params
\r
384 else if (selectedThresholdItem != AnnotationColourGradient.NO_THRESHOLD)
\r
386 if (getCurrentAnnotation().threshold == null)
\r
388 getCurrentAnnotation()
\r
391 (getCurrentAnnotation().graphMax - getCurrentAnnotation().graphMin) / 2f,
\r
392 "Threshold", Color.black));
\r
396 float range = getCurrentAnnotation().graphMax * 1000
\r
397 - getCurrentAnnotation().graphMin * 1000;
\r
399 slider.setMinimum((int) (getCurrentAnnotation().graphMin * 1000));
\r
400 slider.setMaximum((int) (getCurrentAnnotation().graphMax * 1000));
\r
401 slider.setValue((int) (getCurrentAnnotation().threshold.value * 1000));
\r
402 thresholdValue.setText(getCurrentAnnotation().threshold.value + "");
\r
403 // slider.setMajorTickSpacing((int) (range / 10f));
\r
404 slider.setEnabled(true);
\r
405 thresholdValue.setEnabled(true);
\r
408 // build filter params
\r
410 .setThresholdType(AnnotationFilterParameter.ThresholdType.NO_THRESHOLD);
\r
411 if (getCurrentAnnotation().graph != AlignmentAnnotation.NO_GRAPH)
\r
414 .setThresholdValue(getCurrentAnnotation().threshold.value);
\r
416 if (selectedThresholdItem == AnnotationColourGradient.ABOVE_THRESHOLD)
\r
419 .setThresholdType(AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD);
\r
421 else if (selectedThresholdItem == AnnotationColourGradient.BELOW_THRESHOLD)
\r
424 .setThresholdType(AnnotationFilterParameter.ThresholdType.BELOW_THRESHOLD);
\r
429 if (currentStructureFilterPanel != null)
\r
431 if (currentStructureFilterPanel.alphaHelix.getState())
\r
433 filterParams.setFilterAlphaHelix(true);
\r
435 if (currentStructureFilterPanel.betaStrand.getState())
\r
437 filterParams.setFilterBetaSheet(true);
\r
439 if (currentStructureFilterPanel.turn.getState())
\r
441 filterParams.setFilterTurn(true);
\r
445 if (currentSearchPanel != null)
\r
448 if (!currentSearchPanel.searchBox.getText().isEmpty())
\r
450 currentSearchPanel.description.setEnabled(true);
\r
451 currentSearchPanel.displayName.setEnabled(true);
\r
452 filterParams.setRegexString(currentSearchPanel.searchBox.getText());
\r
453 if (currentSearchPanel.displayName.getState())
\r
456 .addRegexSearchField(AnnotationFilterParameter.SearchableAnnotationField.DISPLAY_STRING);
\r
458 if (currentSearchPanel.description.getState())
\r
461 .addRegexSearchField(AnnotationFilterParameter.SearchableAnnotationField.DESCRIPTION);
\r
466 currentSearchPanel.description.setEnabled(false);
\r
467 currentSearchPanel.displayName.setEnabled(false);
\r
471 av.getColumnSelection().filterAnnotations(
\r
472 getCurrentAnnotation().annotations, filterParams);
\r
474 av.showAllHiddenColumns();
\r
475 if (getActionOption() == ACTION_OPTION_HIDE)
\r
477 av.hideSelectedColumns();
\r
480 filterParams = null;
\r
481 av.setAnnotationColumnSelectionState(this);
\r
482 ap.paintAlignment(true);
\r
485 public ColumnSelection getOldColumnSelection()
\r
487 return oldColumnSelection;
\r
490 public void setOldColumnSelection(ColumnSelection currentColumnSelection)
\r
492 if (currentColumnSelection != null)
\r
494 this.oldColumnSelection = new ColumnSelection(currentColumnSelection);
\r
498 public FurtherActionPanel getCurrentFutherActionPanel()
\r
500 return currentFurtherActionPanel;
\r
503 public void setCurrentFutherActionPanel(
\r
504 FurtherActionPanel currentFutherActionPanel)
\r
506 this.currentFurtherActionPanel = currentFutherActionPanel;
\r
509 public SearchPanel getCurrentSearchPanel()
\r
511 return currentSearchPanel;
\r
514 public void setCurrentSearchPanel(SearchPanel currentSearchPanel)
\r
516 this.currentSearchPanel = currentSearchPanel;
\r
519 public int getActionOption()
\r
521 return actionOption;
\r
524 public void setActionOption(int actionOption)
\r
526 this.actionOption = actionOption;
\r
529 public StructureFilterPanel getCurrentStructureFilterPanel()
\r
531 return currentStructureFilterPanel;
\r
534 public void setCurrentStructureFilterPanel(
\r
535 StructureFilterPanel currentStructureFilterPanel)
\r
537 this.currentStructureFilterPanel = currentStructureFilterPanel;
\r
541 public void itemStateChanged(ItemEvent e)
\r
543 if (e.getSource() == annotations)
\r
545 selectedAnnotationChanged();
\r
547 else if (e.getSource() == threshold)
\r
549 threshold_actionPerformed(null);
\r
553 public void selectedAnnotationChanged()
\r
555 String currentView = AnnotationColumnChooser.NO_GRAPH_VIEW;
\r
556 if (av.getAlignment().getAlignmentAnnotation()[getAnnotations()
\r
557 .getSelectedIndex()].graph != AlignmentAnnotation.NO_GRAPH)
\r
559 currentView = AnnotationColumnChooser.GRAPH_VIEW;
\r
562 gSearchPanel.syncState();
\r
563 gFurtherActionPanel.syncState();
\r
564 gStructureFilterPanel.syncState();
\r
566 ngSearchPanel.syncState();
\r
567 ngFurtherActionPanel.syncState();
\r
568 ngStructureFilterPanel.syncState();
\r
570 switchableViewsLayout.show(switchableViewsPanel, currentView);
\r
574 public class FurtherActionPanel extends Panel implements
\r
577 private AnnotationColumnChooser aColChooser;
\r
579 private Choice furtherAction = new Choice();
\r
581 public FurtherActionPanel(AnnotationColumnChooser aColChooser)
\r
583 this.aColChooser = aColChooser;
\r
584 furtherAction.addItem("Select");
\r
585 furtherAction.addItem("Hide");
\r
586 furtherAction.addItemListener(this);
\r
589 // this.setTitle("Filter Actions");
\r
590 // this.setFont(JvSwingUtils.getLabelFont());
\r
592 this.add(furtherAction);
\r
595 public void syncState()
\r
597 if (aColChooser.getActionOption() == AnnotationColumnChooser.ACTION_OPTION_HIDE)
\r
599 furtherAction.select("Hide");
\r
603 furtherAction.select("Select");
\r
608 public void itemStateChanged(ItemEvent e)
\r
610 aColChooser.setCurrentFutherActionPanel(this);
\r
611 if (furtherAction.getSelectedItem().equalsIgnoreCase("Select"))
\r
613 setActionOption(ACTION_OPTION_SELECT);
\r
618 setActionOption(ACTION_OPTION_HIDE);
\r
625 public class StructureFilterPanel extends TitledPanel implements
\r
628 private AnnotationColumnChooser aColChooser;
\r
630 private Checkbox alphaHelix = new Checkbox();
\r
632 private Checkbox betaStrand = new Checkbox();
\r
634 private Checkbox turn = new Checkbox();
\r
636 private Checkbox all = new Checkbox();
\r
638 public StructureFilterPanel(AnnotationColumnChooser aColChooser)
\r
640 this.aColChooser = aColChooser;
\r
642 alphaHelix.setLabel(MessageManager.getString("label.alpha_helix"));
\r
643 alphaHelix.setBackground(Color.white);
\r
645 alphaHelix.addItemListener(this);
\r
647 betaStrand.setLabel(MessageManager.getString("label.beta_strand"));
\r
648 betaStrand.setBackground(Color.white);
\r
649 betaStrand.addItemListener(this);
\r
651 turn.setLabel(MessageManager.getString("label.turn"));
\r
652 turn.setBackground(Color.white);
\r
653 turn.addItemListener(this);
\r
655 all.setLabel(MessageManager.getString("label.select_all"));
\r
656 all.setBackground(Color.white);
\r
657 all.addItemListener(this);
\r
659 this.setBackground(Color.white);
\r
660 this.setTitle("Structure Filter");
\r
661 // this.setFont(JvSwingUtils.getLabelFont());
\r
664 this.add(alphaHelix);
\r
665 this.add(betaStrand);
\r
669 public void alphaHelix_actionPerformed()
\r
671 updateSelectAllState();
\r
672 aColChooser.setCurrentStructureFilterPanel(this);
\r
673 aColChooser.updateView();
\r
676 public void betaStrand_actionPerformed()
\r
678 updateSelectAllState();
\r
679 aColChooser.setCurrentStructureFilterPanel(this);
\r
680 aColChooser.updateView();
\r
683 public void turn_actionPerformed()
\r
685 updateSelectAllState();
\r
686 aColChooser.setCurrentStructureFilterPanel(this);
\r
687 aColChooser.updateView();
\r
690 public void all_actionPerformed()
\r
692 if (all.getState())
\r
694 alphaHelix.setState(true);
\r
695 betaStrand.setState(true);
\r
696 turn.setState(true);
\r
700 alphaHelix.setState(false);
\r
701 betaStrand.setState(false);
\r
702 turn.setState(false);
\r
704 aColChooser.setCurrentStructureFilterPanel(this);
\r
705 aColChooser.updateView();
\r
708 public void updateSelectAllState()
\r
710 if (alphaHelix.getState() && betaStrand.getState() && turn.getState())
\r
712 all.setState(true);
\r
716 all.setState(false);
\r
720 public void syncState()
\r
722 StructureFilterPanel sfp = aColChooser
\r
723 .getCurrentStructureFilterPanel();
\r
726 alphaHelix.setState(sfp.alphaHelix.getState());
\r
727 betaStrand.setState(sfp.betaStrand.getState());
\r
728 turn.setState(sfp.turn.getState());
\r
729 if (sfp.all.getState())
\r
731 all.setState(true);
\r
732 alphaHelix.setState(true);
\r
733 betaStrand.setState(true);
\r
734 turn.setState(true);
\r
741 public void itemStateChanged(ItemEvent e)
\r
743 if (e.getSource() == alphaHelix)
\r
745 alphaHelix_actionPerformed();
\r
747 else if (e.getSource() == betaStrand)
\r
749 betaStrand_actionPerformed();
\r
751 else if (e.getSource() == turn)
\r
753 turn_actionPerformed();
\r
755 else if (e.getSource() == all)
\r
757 all_actionPerformed();
\r
762 public class SearchPanel extends TitledPanel implements ItemListener
\r
764 private AnnotationColumnChooser aColChooser;
\r
766 private Checkbox displayName = new Checkbox();
\r
768 private Checkbox description = new Checkbox();
\r
770 private TextField searchBox = new TextField(10);
\r
772 public SearchPanel(AnnotationColumnChooser aColChooser)
\r
775 this.aColChooser = aColChooser;
\r
776 searchBox.addTextListener(new TextListener()
\r
780 public void textValueChanged(TextEvent e)
\r
782 searchStringAction();
\r
788 displayName.setLabel(MessageManager.getString("label.display_name"));
\r
789 displayName.setEnabled(false);
\r
790 displayName.addItemListener(this);
\r
792 description.setLabel(MessageManager.getString("label.description"));
\r
793 description.setEnabled(false);
\r
794 description.addItemListener(this);
\r
795 this.setTitle("Search Filter");
\r
796 // this.setFont(JvSwingUtils.getLabelFont());
\r
799 this.add(searchBox);
\r
800 this.add(displayName);
\r
801 this.add(description);
\r
804 public void displayNameCheckboxAction()
\r
806 aColChooser.setCurrentSearchPanel(this);
\r
807 aColChooser.updateView();
\r
810 public void discriptionCheckboxAction()
\r
812 aColChooser.setCurrentSearchPanel(this);
\r
813 aColChooser.updateView();
\r
816 public void searchStringAction()
\r
818 aColChooser.setCurrentSearchPanel(this);
\r
819 aColChooser.updateView();
\r
822 public void syncState()
\r
824 SearchPanel sp = aColChooser.getCurrentSearchPanel();
\r
827 description.setEnabled(sp.description.isEnabled());
\r
828 description.setState(sp.description.getState());
\r
830 displayName.setEnabled(sp.displayName.isEnabled());
\r
831 displayName.setState(sp.displayName.getState());
\r
833 searchBox.setText(sp.searchBox.getText());
\r
838 public void itemStateChanged(ItemEvent e)
\r
840 if (e.getSource() == displayName)
\r
842 displayNameCheckboxAction();
\r
844 else if (e.getSource() == description)
\r
846 discriptionCheckboxAction();
\r
852 public void actionPerformed(ActionEvent evt)
\r
854 if (evt.getSource() == thresholdValue)
\r
858 float f = new Float(thresholdValue.getText()).floatValue();
\r
859 slider.setValue((int) (f * 1000));
\r
860 adjustmentValueChanged(null);
\r
861 } catch (NumberFormatException ex)
\r
866 else if (evt.getSource() == ok)
\r
868 ok_actionPerformed(null);
\r
870 else if (evt.getSource() == cancel)
\r
872 cancel_actionPerformed(null);
\r
874 else if (evt.getSource() == thresholdValue)
\r
876 thresholdValue_actionPerformed(null);
\r
885 public void mouseClicked(MouseEvent e)
\r
887 // TODO Auto-generated method stub
\r
892 public void mousePressed(MouseEvent e)
\r
894 if (e.getSource() == slider)
\r
902 public void mouseReleased(MouseEvent e)
\r
904 if (e.getSource() == slider)
\r
911 public void mouseEntered(MouseEvent e)
\r
913 if (e.getSource() == slider)
\r
920 public void mouseExited(MouseEvent e)
\r
922 if (e.getSource() == slider)
\r