From: Nathaniel G. A. <nat...@us...> - 2004-06-23 02:14:39
|
Update of /cvsroot/jcharts/krysalis-jcharts/src/java/org/krysalis/jcharts/designer/tabs/allChart/legendProperties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13219/src/java/org/krysalis/jcharts/designer/tabs/allChart/legendProperties Modified Files: LegendPropertiesTab.java Added Files: NumColumns.java Log Message: Index: LegendPropertiesTab.java =================================================================== RCS file: /cvsroot/jcharts/krysalis-jcharts/src/java/org/krysalis/jcharts/designer/tabs/allChart/legendProperties/LegendPropertiesTab.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** LegendPropertiesTab.java 10 Jun 2004 12:03:51 -0000 1.2 --- LegendPropertiesTab.java 23 Jun 2004 02:14:27 -0000 1.3 *************** *** 63,66 **** --- 63,67 ---- //private int numColumns = COLUMNS_AS_MANY_AS_NEEDED; + private NumColumns numColumns; //---for LineCharts, length of line around point shapes as part of the icon in the legend. *************** *** 107,110 **** --- 108,114 ---- + this.numColumns= new NumColumns(); + jPanel.add( this.numColumns ); + super.setViewportView( jPanel ); } *************** *** 134,137 **** --- 138,142 ---- legendProperties.setPlacement( this.placementCombo.getSelectedIndex() ); + legendProperties.setNumColumns( this.numColumns.getNumberOfColumns() ); } } --- NEW FILE: NumColumns.java --- /*********************************************************************************************** * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved. * * Redistribution and use of this software and associated documentation ("Software"), with or * without modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain copyright statements and notices. * Redistributions must also contain a copy of this document. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list of * conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote * products derived from this Software without prior written permission of Nathaniel G. * Auvil. For written permission, please contact nat...@us... * * 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear * in their names without prior written permission of Nathaniel G. Auvil. jCharts is a * registered trademark of Nathaniel G. Auvil. * * 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/). * * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE ************************************************************************************************/ package org.krysalis.jcharts.designer.tabs.allChart.legendProperties; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import org.krysalis.jcharts.designer.common.LabelledTextfield; import org.krysalis.jcharts.designer.exceptions.DesignerException; import org.krysalis.jcharts.properties.LegendAreaProperties; /***************************************************************************************** * * @author Nathaniel Auvil * @version $Id: NumColumns.java,v 1.1 2004/06/23 02:14:27 nathaniel_auvil Exp $ ****************************************************************************************/ public class NumColumns extends JPanel implements ActionListener, FocusListener { private JRadioButton asManyAsNeeded; private JRadioButton fitToImage; private JRadioButton specify; private JTextField numColumns; private int numberOfColumns= 0; /*************************************************************************************** * **************************************************************************************/ public NumColumns() { super.setBorder( BorderFactory.createTitledBorder( "Number Of Columns" ) ); this.setLayout( new BoxLayout( this, BoxLayout.X_AXIS ) ); JPanel jPanel= new JPanel(); this.asManyAsNeeded= new JRadioButton( "As Many As Needed" ); this.asManyAsNeeded.setActionCommand( "asManyAsNeeded" ); this.asManyAsNeeded.setSelected( true ); this.asManyAsNeeded.addActionListener( this ); jPanel.add( this.asManyAsNeeded ); this.fitToImage= new JRadioButton( "Fit To Image" ); this.fitToImage.setActionCommand( "fitToImage" ); this.fitToImage.addActionListener( this ); jPanel.add( this.fitToImage ); this.specify= new JRadioButton( "Specfic Number" ); this.specify.setActionCommand( "specificNumber" ); this.specify.addActionListener( this ); jPanel.add( this.specify ); this.numColumns= new JTextField( "1", 2 ); this.numColumns.addFocusListener( this ); jPanel.add( this.numColumns ); ButtonGroup radios= new ButtonGroup(); radios.add( this.asManyAsNeeded ); radios.add( this.fitToImage ); radios.add( this.specify ); super.add( jPanel ); } /************************************************************************ * * @param actionEvent ***********************************************************************/ public void actionPerformed( ActionEvent actionEvent ) { if( actionEvent.getSource().equals( this.asManyAsNeeded ) ) { this.numColumns.setEditable( false ); this.numberOfColumns= LegendAreaProperties.COLUMNS_AS_MANY_AS_NEEDED; } else if( actionEvent.getSource().equals( this.fitToImage ) ) { this.numColumns.setEditable( false ); this.numberOfColumns= LegendAreaProperties.COLUMNS_FIT_TO_IMAGE; } else if( actionEvent.getSource().equals( this.specify ) ) { this.numColumns.setEditable( true ); this.numberOfColumns= Integer.parseInt( this.numColumns.getText() ); } } public void focusGained( FocusEvent focusEvent ) { } public void focusLost( FocusEvent focusEvent ) { this.numberOfColumns= Integer.parseInt( this.numColumns.getText() ); } public int getNumberOfColumns() { return this.numberOfColumns; } } |