/* This file is *not* under GPL or any other public license * Copyright 2005 Ugo Taddei */ package de.latlon.deejump.plugin.manager; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JCheckBox; import javax.swing.JPanel; import com.vividsolutions.jump.util.StringUtil; public class ExtensionPanel extends JPanel { private ExtensionWrapper cataloguedExtension; private JCheckBox installCheck; public ExtensionPanel( ExtensionWrapper catExtension) { super(); this.cataloguedExtension = catExtension; initGUI(); final Dimension dim = new Dimension( 300, 40 ); setPreferredSize( dim ); setMinimumSize( dim ); setMaximumSize( dim ); } private void initGUI() { final String label = StringUtil.limitLength( cataloguedExtension.getTitle(), 30) + " (" + cataloguedExtension.getCategory() + ") "; installCheck = new JCheckBox( label, cataloguedExtension.isInstalled() ); installCheck.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e) { System.out.println("label: " + label); cataloguedExtension.setInstalled( installCheck.isSelected() ); } }); final Dimension dim = new Dimension( 286, 36 ); installCheck.setPreferredSize( dim ); installCheck.setMinimumSize( dim ); installCheck.setAlignmentX( 0.20f ); /*JLabel jLabel = new JLabel( label ); JPanel panel = new JPanel(); panel.add( installCheck ); panel.add( jLabel ); */ add( installCheck ); } public String getExtensionText() { return this.cataloguedExtension.toString(); } public void setEnabled( boolean on ) { super.setEnabled( on ); for (int i = 0; i < getComponentCount(); i++) { getComponent( i ).setEnabled( on ); } } /*public boolean isSelected() { return this.installCheck.isSelected(); } */ public void setSelected(boolean selected) { this.installCheck.setSelected( selected ); cataloguedExtension.setInstalled( selected ); } }