/*
Copyright 2008-2010 Gephi
Authors : Mathieu Bastian <mathieu.bastian@gephi.org>
Website : http://www.gephi.org
This file is part of Gephi.
Gephi is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Gephi is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Gephi. If not, see <http://www.gnu.org/licenses/>.
*/
package org.gephi.ui.tools.plugin;
import java.awt.Color;
import javax.swing.DefaultComboBoxModel;
import org.gephi.tools.plugin.DiffusionMethods;
import org.gephi.ui.components.JColorButton;
/**
*
* @author Mathieu Bastian
*/
public class BrushPanel extends javax.swing.JPanel {
/** Creates new form BrushPanel */
public BrushPanel() {
initComponents();
DefaultComboBoxModel diffusionComboModel = new DefaultComboBoxModel(DiffusionMethods.DiffusionMethod.values());
diffusionCombobox.setModel(diffusionComboModel);
}
public void setIntensity(float intensity) {
intensitySpinner.setValue((int) (intensity * 100));
}
public float getIntensity() {
return ((Integer) intensitySpinner.getModel().getValue()).floatValue() / 100f;
}
public void setColor(Color color) {
((JColorButton) colorButton).setColor(color);
}
public Color getColor() {
return ((JColorButton) colorButton).getColor();
}
public void setDiffusionMethod(DiffusionMethods.DiffusionMethod diffusionMethod) {
diffusionCombobox.setSelectedItem(diffusionMethod);
}
public DiffusionMethods.DiffusionMethod getDiffusionMethod() {
return (DiffusionMethods.DiffusionMethod) diffusionCombobox.getSelectedItem();
}
/** 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
labelDiffusion = new javax.swing.JLabel();
labelColor = new javax.swing.JLabel();
diffusionCombobox = new javax.swing.JComboBox();
colorButton = new JColorButton(Color.BLACK);
labelIntensity = new javax.swing.JLabel();
intensitySpinner = new javax.swing.JSpinner();
jLabel1 = new javax.swing.JLabel();
labelDiffusion.setFont(new java.awt.Font("Tahoma", 0, 10));
labelDiffusion.setText(org.openide.util.NbBundle.getMessage(BrushPanel.class, "BrushPanel.labelDiffusion.text")); // NOI18N
labelColor.setFont(new java.awt.Font("Tahoma", 0, 10));
labelColor.setText(org.openide.util.NbBundle.getMessage(BrushPanel.class, "BrushPanel.labelColor.text")); // NOI18N
diffusionCombobox.setFont(new java.awt.Font("Tahoma", 0, 10));
diffusionCombobox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
colorButton.setText(org.openide.util.NbBundle.getMessage(BrushPanel.class, "BrushPanel.colorButton.text")); // NOI18N
colorButton.setContentAreaFilled(false);
colorButton.setFocusPainted(false);
labelIntensity.setFont(new java.awt.Font("Tahoma", 0, 10));
labelIntensity.setText(org.openide.util.NbBundle.getMessage(BrushPanel.class, "BrushPanel.labelIntensity.text")); // NOI18N
intensitySpinner.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
intensitySpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, 100, 1));
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 10));
jLabel1.setText(org.openide.util.NbBundle.getMessage(BrushPanel.class, "BrushPanel.jLabel1.text")); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(labelColor)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(colorButton, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(labelIntensity)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(intensitySpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 247, Short.MAX_VALUE)
.addComponent(labelDiffusion)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(diffusionCombobox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(2, 2, 2))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(labelColor, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorButton, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelIntensity, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(intensitySpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(diffusionCombobox, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelDiffusion, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE))
);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton colorButton;
private javax.swing.JComboBox diffusionCombobox;
private javax.swing.JSpinner intensitySpinner;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel labelColor;
private javax.swing.JLabel labelDiffusion;
private javax.swing.JLabel labelIntensity;
// End of variables declaration//GEN-END:variables
}