194 lines
6.9 KiB
Java
194 lines
6.9 KiB
Java
/*
|
|
* To change this template, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
|
|
/*
|
|
* GraphChoserFrame.java
|
|
*
|
|
* Created on Mar 16, 2010, 8:42:58 AM
|
|
*/
|
|
|
|
package ch.psi.plot.plot.xy;
|
|
|
|
import java.awt.GridBagConstraints;
|
|
import java.awt.GridBagLayout;
|
|
import javax.swing.JPanel;
|
|
|
|
import org.jfree.chart.plot.XYPlot;
|
|
import org.jfree.data.xy.XYSeries;
|
|
import org.jfree.data.xy.XYSeriesCollection;
|
|
|
|
import ch.psi.plot.plot.done.LinePlotData;
|
|
|
|
|
|
|
|
/**
|
|
*
|
|
* @author studer_a1
|
|
*/
|
|
public class GraphChooserFrame extends javax.swing.JFrame {
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
private XYPlot plot;
|
|
private LinePlotData data;
|
|
|
|
|
|
/** Creates new form GraphChoserFrame */
|
|
public GraphChooserFrame(LinePlotData data, XYPlot plot) {
|
|
this.plot = plot;
|
|
this.data = data;
|
|
//this.renderer = (XYLineAndShapeRenderer) plot.getRenderer();
|
|
initComponents();
|
|
initGraphPanels();
|
|
}
|
|
|
|
|
|
/**
|
|
* inits the graph panel. For every series a GraphPropertiesPanel is created and added to the Panel
|
|
*/
|
|
public void initGraphPanels(){
|
|
|
|
GridBagConstraints gbc = new GridBagConstraints();
|
|
gbc.weightx = 1.0;
|
|
gbc.fill = GridBagConstraints.HORIZONTAL;
|
|
gbc.gridwidth = GridBagConstraints.REMAINDER;
|
|
|
|
JPanel graphOptionsContainerPanel = new JPanel(new GridBagLayout());
|
|
graphOptionScrollPane.setViewportView(graphOptionsContainerPanel);
|
|
|
|
int seriesNumber = 0;
|
|
for (Object xySeriesObject: ((XYSeriesCollection) data.getData()).getSeries()) {
|
|
XYSeries xySeries = (XYSeries) xySeriesObject;
|
|
GraphPropertiesPanel gpPanel = new GraphPropertiesPanel(plot, xySeries, seriesNumber);
|
|
graphOptionsContainerPanel.add(gpPanel, gbc);
|
|
seriesNumber++;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
/** This method is called from within the constructor to
|
|
* initialize the form.
|
|
* WARNING: Do NOT modify this code. The content of this method is
|
|
* always regenerated by the Form Editor.
|
|
*/
|
|
private void initComponents() {
|
|
|
|
graphOptionScrollPane = new javax.swing.JScrollPane();
|
|
jPanel1 = new javax.swing.JPanel();
|
|
nameLabel = new javax.swing.JLabel();
|
|
colorLabel = new javax.swing.JLabel();
|
|
plotLabel = new javax.swing.JLabel();
|
|
singleLabel = new javax.swing.JLabel();
|
|
logLabel = new javax.swing.JLabel();
|
|
minLabel = new javax.swing.JLabel();
|
|
maxLabel = new javax.swing.JLabel();
|
|
rangeLabel = new javax.swing.JLabel();
|
|
|
|
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
|
|
|
nameLabel.setText("Name");
|
|
|
|
colorLabel.setText("Color");
|
|
|
|
plotLabel.setText("Plot");
|
|
|
|
singleLabel.setText("Single");
|
|
|
|
logLabel.setText("Log");
|
|
|
|
minLabel.setText("Min");
|
|
|
|
maxLabel.setText("Max");
|
|
|
|
rangeLabel.setText("range");
|
|
|
|
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
|
jPanel1.setLayout(jPanel1Layout);
|
|
jPanel1Layout.setHorizontalGroup(
|
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.addComponent(nameLabel)
|
|
.addGap(123, 123, 123)
|
|
.addComponent(colorLabel)
|
|
.addGap(32, 32, 32)
|
|
.addComponent(plotLabel)
|
|
.addGap(18, 18, 18)
|
|
.addComponent(singleLabel)
|
|
.addGap(18, 18, 18)
|
|
.addComponent(logLabel)
|
|
.addGap(18, 18, 18)
|
|
.addComponent(rangeLabel)
|
|
.addGap(55, 55, 55)
|
|
.addComponent(minLabel)
|
|
.addGap(73, 73, 73)
|
|
.addComponent(maxLabel)
|
|
.addContainerGap(119, Short.MAX_VALUE))
|
|
);
|
|
jPanel1Layout.setVerticalGroup(
|
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(nameLabel)
|
|
.addComponent(logLabel)
|
|
.addComponent(singleLabel)
|
|
.addComponent(plotLabel)
|
|
.addComponent(colorLabel)
|
|
.addComponent(rangeLabel)
|
|
.addComponent(minLabel)
|
|
.addComponent(maxLabel))
|
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
);
|
|
|
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
|
getContentPane().setLayout(layout);
|
|
layout.setHorizontalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGap(39, 39, 39)
|
|
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addContainerGap(47, Short.MAX_VALUE))
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGap(36, 36, 36)
|
|
.addComponent(graphOptionScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 719, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addContainerGap(36, Short.MAX_VALUE)))
|
|
);
|
|
layout.setVerticalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addContainerGap(249, Short.MAX_VALUE))
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGap(59, 59, 59)
|
|
.addComponent(graphOptionScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addContainerGap(59, Short.MAX_VALUE)))
|
|
);
|
|
|
|
pack();
|
|
}// </editor-fold>//GEN-END:initComponents
|
|
|
|
|
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
|
private javax.swing.JLabel colorLabel;
|
|
private javax.swing.JScrollPane graphOptionScrollPane;
|
|
private javax.swing.JPanel jPanel1;
|
|
private javax.swing.JLabel logLabel;
|
|
private javax.swing.JLabel maxLabel;
|
|
private javax.swing.JLabel minLabel;
|
|
private javax.swing.JLabel nameLabel;
|
|
private javax.swing.JLabel plotLabel;
|
|
private javax.swing.JLabel rangeLabel;
|
|
private javax.swing.JLabel singleLabel;
|
|
// End of variables declaration//GEN-END:variables
|
|
|
|
}
|