pcbxcurves.addItem(new CbxEntry(i,dst.getSeriesName(i),(Color)renderer.getSeriesPaint(i),ds,renderer.getColorMapper(i)));
}
pcbxeditortf = (JTextField)pcbxcurves.getEditor().getEditorComponent();
pupdateForEntry(pcbxcurves.getSelectedItem());
pcbxcurves.addPopupMenuListener(new PopupMenuListener() {
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
peditLocked = true;
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
peditLocked = false;
}
public void popupMenuCanceled(PopupMenuEvent e) {
peditLocked = false;
}
});
pcbxcurves.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange()==ItemEvent.DESELECTED) pactiveEntry = null;
else pupdateForEntry(e.getItem());
}
});
pcbxeditortf.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
updateName();
}
public void removeUpdate(DocumentEvent e) {
updateName();
}
public void changedUpdate(DocumentEvent e) {
updateName();
}
public void updateName() {
if ((peditLocked) || (pactiveEntry == null)) return;
pactiveEntry.name = pcbxeditortf.getText();
}
});
pcurvecolor.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (pactiveEntry==null) return;
DynamicColorChooser dialog = new DynamicColorChooser(
null, resources.getString("ChooseAColor"),null ,pactiveEntry.color,pactiveEntry.source,pactiveEntry.mapper);
dialog.pack();
dialog.setVisible(true);
if (dialog.isOk()){
pactiveEntry.color = dialog.getColor();
pactiveEntry.source = dialog.getSource();
pactiveEntry.mapper = dialog.getMapper();
pupdateForEntry(pactiveEntry);
}
}
});
pcurvedelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (pactiveEntry==null) return;
pcbxcurves.removeItem(pactiveEntry);
}
});
// Now handle Secondary Y axis
if (plot.getSecondaryRangeAxis(0) != null) {
section = new Box(BoxLayout.Y_AXIS);
section.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),resources.getString("SecondaryYAxis")));
panel = new JPanel();
panel.setLayout(new FlowLayout(FlowLayout.LEFT));
panel.add(scbautoy = new ActionCheckBox(resources.getString("Auto-update"), plot.getSecondaryRangeAxis(0).isAutoRange()) {
public void actionPerformed(ActionEvent e) {
scbfixedautoy.setEnabled(isSelected());
scbfixedautoy.apply();
slpymin.setEnabled(!isSelected());
slpymax.setEnabled(!isSelected());
stfpymin.setEnabled(!isSelected());
stfpymax.setEnabled(!isSelected());
}
});
autorange = plot.getSecondaryRangeAxis(0).getFixedAutoRange();
panel.add(scbfixedautoy = new ActionCheckBox(resources.getString("FixedRange"),autorange!=0) {
public void actionPerformed(ActionEvent e) {
snffixedautoy.setEnabled(isSelected() && isEnabled());
}
});
panel.add(snffixedautoy = new NumberField(autorange,8));
panel.add(slpymin = new JLabel(resources.getString("minLabel")));
panel.add(stfpymin = new NumberField(8));
stfpymin.setValue(plot.getSecondaryRangeAxis(0).getLowerBound());
panel.add(slpymax = new JLabel(resources.getString("maxLabel")));
panel.add(stfpymax = new NumberField(8));
stfpymax.setValue(plot.getSecondaryRangeAxis(0).getUpperBound());
section.add(panel);
scbautoy.apply();
section.add(panel);
box = Box.createHorizontalBox();
box.add(new JLabel(resources.getString("Curves:")));
box.add(scbxcurves = new JComboBox());
box.add(scurvecolor = new JButton(" "));
box.add(scurvedelete = new JButton(resources.getString("Delete")));
section.add(box);
content.add(section);
scbxcurves.setEditable(true);
//noCurveColor = scurvecolor.getBackground();
scurvecolor.setFocusPainted(false);
dst = (SourceXYDataset)plot.getSecondaryDataset(0);
n = dst.getSeriesCount();
renderer = (JSynopticXYItemRenderer)plot.getSecondaryRenderer(0);
for (int i=0; i<n; ++i) {
DataSource ds = renderer.getDataSource(i);
if (ds==null) {
ds = dst.getYSource(i); // take the datasource associated with this curve by default
DataSource linked = DataInfo.getLinkedSource(ds); // and follow link if necessary
if (linked!=null) ds = linked;
}
scbxcurves.addItem(new CbxEntry(i,dst.getSeriesName(i),(Color)renderer.getSeriesPaint(i),ds,renderer.getColorMapper(i)));
}
scbxeditortf = (JTextField)scbxcurves.getEditor().getEditorComponent();
supdateForEntry(scbxcurves.getSelectedItem());
scbxcurves.addPopupMenuListener(new PopupMenuListener() {
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
seditLocked = true;
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
seditLocked = false;