package jas2.util.multifunctionpanel;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import jas2.util.multibuttontoolbar.*;
import jas2.plot.EditableLabel;
/**
* The annotation toolbar for a MultiFunctionPanel.
*
* @author Peter Armstrong
* @author Tony Johnson
*/
public class AnnotationToolBar extends jas2.util.multibuttontoolbar.MultiToolBar {
public AnnotationToolBar() {
JButton normalCursor = new JButton(jas2.util.JASIcon.create(this, "images/defaultcursor.gif"));
JButton noArrows = new JButton(jas2.util.JASIcon.create(this, "images/linenoarrows.gif"));
JButton arrowOnFront = new JButton(jas2.util.JASIcon.create(this, "images/linefrontarrow.gif"));
JButton arrowOnBack = new JButton(jas2.util.JASIcon.create(this, "images/linebackarrow.gif"));
JButton arrowsOnFrontAndBack = new JButton(jas2.util.JASIcon.create(this, "images/linebotharrows.gif"));
JButton arrowOnFrontFilled = new JButton(jas2.util.JASIcon.create(this, "images/linefrontfilledarrow.gif"));
JButton arrowOnBackFilled = new JButton(jas2.util.JASIcon.create(this, "images/linebackfilledarrow.gif"));
JButton arrowsOnFrontAndBackFilled = new JButton(jas2.util.JASIcon.create(this, "images/linebothfilledarrows.gif"));
JButton more = new JButton(jas2.util.JASIcon.create(this, "images/more.gif"));
JButton labelNoBorder = new JButton(jas2.util.JASIcon.create(this, "images/labelnoborder.gif"));
JButton labelThinBorder = new JButton(jas2.util.JASIcon.create(this, "images/labelthinborder.gif"));
JButton labelThickBorder = new JButton(jas2.util.JASIcon.create(this, "images/labelthickborder.gif"));
normalCursor.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jas2.swingstudio.JavaAnalysisStudio.getApp().getMFP().setCursorState(MultiFunctionPanel.CursorStates.DEFAULT);
}
});
noArrows.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.ARROW_DRAW);
getTheMFP().setArrowHeadDrawState(MultiFunctionPanel.ArrowheadDrawStates.NONE);
}
});
arrowOnFront.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.ARROW_DRAW);
getTheMFP().setArrowHeadDrawState(MultiFunctionPanel.ArrowheadDrawStates.FINISH);
getTheMFP().setArrowHeadFillState(false);
}
});
arrowOnFrontFilled.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.ARROW_DRAW);
getTheMFP().setArrowHeadDrawState(MultiFunctionPanel.ArrowheadDrawStates.FINISH);
getTheMFP().setArrowHeadFillState(true);
}
});
arrowOnBack.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.ARROW_DRAW);
getTheMFP().setArrowHeadDrawState(MultiFunctionPanel.ArrowheadDrawStates.START);
getTheMFP().setArrowHeadFillState(false);
}
});
arrowOnBackFilled.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.ARROW_DRAW);
getTheMFP().setArrowHeadDrawState(MultiFunctionPanel.ArrowheadDrawStates.START);
getTheMFP().setArrowHeadFillState(true);
}
});
arrowsOnFrontAndBack.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.ARROW_DRAW);
getTheMFP().setArrowHeadDrawState(MultiFunctionPanel.ArrowheadDrawStates.BOTH);
getTheMFP().setArrowHeadFillState(false);
}
});
arrowsOnFrontAndBackFilled.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.ARROW_DRAW);
getTheMFP().setArrowHeadDrawState(MultiFunctionPanel.ArrowheadDrawStates.BOTH);
getTheMFP().setArrowHeadFillState(true);
}
});
more.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Show dialog box");
getTheMFP().showArrowConfigDialog();
}
});
labelNoBorder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.LABEL_DRAW);
getTheMFP().setLabelBorderDrawState(MultiFunctionPanel.LabelBorderDrawStates.NONE);
}
});
labelThinBorder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.LABEL_DRAW);
getTheMFP().setLabelBorderDrawState(MultiFunctionPanel.LabelBorderDrawStates.THIN);
}
});
labelThickBorder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTheMFP().setCursorState(MultiFunctionPanel.CursorStates.LABEL_DRAW);
getTheMFP().setLabelBorderDrawState(MultiFunctionPanel.LabelBorderDrawStates.THICK);
}
});
jas2.util.multibuttontoolbar.MultiButtonGroup arrow =
new jas2.util.multibuttontoolbar.MultiButtonGroup(noArrows);
arrow.add(arrowOnFront);
arrow.add(arrowOnBack);
arrow.add(arrowsOnFrontAndBack);
arrow.add(arrowOnFrontFilled);
arrow.add(arrowOnBackFilled);
arrow.add(arrowsOnFrontAndBackFilled);
arrow.add(more);
jas2.util.multibuttontoolbar.MultiButtonGroup label =
new jas2.util.multibuttontoolbar.MultiButtonGroup(labelNoBorder);
label.add(labelThinBorder);
label.add(labelThickBorder);
add(normalCursor);
add(arrow);
add(label);
setName("testMBT");
}
private MultiFunctionPanel getTheMFP() {
return jas2.swingstudio.JavaAnalysisStudio.getApp().getMFP();
}
}
Ads help maintain this website.