[Pixelle-commit] SF.net SVN: pixelle:[293] trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs /Pixe
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2009-07-22 03:49:54
|
Revision: 293
http://pixelle.svn.sourceforge.net/pixelle/?rev=293&view=rev
Author: dbrosius
Date: 2009-07-22 03:49:52 +0000 (Wed, 22 Jul 2009)
Log Message:
-----------
make the editor fields monospaced
Modified Paths:
--------------
trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelleExpressionDialog.java
Modified: trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelleExpressionDialog.java
===================================================================
--- trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelleExpressionDialog.java 2009-07-22 03:47:19 UTC (rev 292)
+++ trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelleExpressionDialog.java 2009-07-22 03:49:52 UTC (rev 293)
@@ -69,44 +69,48 @@
import com.mebigfatguy.pixelle.utils.GuiUtils.Sizing;
public class PixelleExpressionDialog extends JDialog {
-
+
private static final long serialVersionUID = -4273352119079307059L;
-
+
private final Map<PixelleComponent, JLabel> rgbLHS = new EnumMap<PixelleComponent, JLabel>(PixelleComponent.class);
{
for (PixelleComponent comp : PixelleComponent.rgbValues()) {
rgbLHS.put(comp, new JLabel(PixelleBundle.getString("formula." + comp.name().toLowerCase()) + " = "));
}
};
-
+
private final Map<PixelleComponent, JTextField> rgbEditor = new EnumMap<PixelleComponent, JTextField>(PixelleComponent.class);
{
for (PixelleComponent comp : PixelleComponent.rgbValues()) {
- rgbEditor.put(comp, new JTextField(PixelleBundle.getString("formula." + comp.name().toLowerCase()), 50));
+ JTextField tf = new JTextField(PixelleBundle.getString("formula." + comp.name().toLowerCase()), 50);
+ tf.setFont(EditorFontFactory.getEditorFont());
+ rgbEditor.put(comp, tf);
}
};
-
+
private final Map<PixelleComponent, JLabel> rgbLabels = new EnumMap<PixelleComponent, JLabel>(PixelleComponent.class);
{
for (PixelleComponent comp : PixelleComponent.rgbValues()) {
rgbLabels.put(comp, new JLabel(PixelleBundle.getString("label." + comp.name().toLowerCase())));
}
};
-
+
private final Map<PixelleComponent, JLabel> gsLHS = new EnumMap<PixelleComponent, JLabel>(PixelleComponent.class);
{
for (PixelleComponent comp : PixelleComponent.gsValues()) {
gsLHS.put(comp, new JLabel(PixelleBundle.getString("formula." + comp.name().toLowerCase()) + " = "));
}
};
-
+
private final Map<PixelleComponent, JTextField> gsEditor = new EnumMap<PixelleComponent, JTextField>(PixelleComponent.class);
{
for (PixelleComponent comp : PixelleComponent.gsValues()) {
- gsEditor.put(comp, new JTextField(PixelleBundle.getString("formula." + comp.name().toLowerCase()), 50));
+ JTextField tf = new JTextField(PixelleBundle.getString("formula." + comp.name().toLowerCase()), 50);
+ tf.setFont(EditorFontFactory.getEditorFont());
+ gsEditor.put(comp, tf);
}
};
-
+
private final Map<PixelleComponent, JLabel> gsLabels = new EnumMap<PixelleComponent, JLabel>(PixelleComponent.class);
{
for (PixelleComponent comp : PixelleComponent.gsValues()) {
@@ -114,7 +118,7 @@
}
};
-
+
PixelleFrame frame;
JButton ok;
JButton cancel;
@@ -127,26 +131,26 @@
JTabbedPane tabbedPane;
JTextField widthField;
JTextField heightField;
-
+
JButton save;
JButton delete;
boolean clickedOK = false;
-
+
public PixelleExpressionDialog(PixelleFrame owner) {
super(owner, PixelleBundle.getString(PixelleBundle.PIXEL_ALGORITHMS));
frame = owner;
initComponents();
initListeners();
}
-
+
public boolean isOK() {
return clickedOK;
}
-
+
public ImageType getImageType() {
return (tabbedPane.getSelectedIndex() == 0) ? ImageType.RGB : ImageType.Grayscale;
}
-
+
public Map<PixelleComponent, String> getAlgorithms(ImageType imageType) {
Map<PixelleComponent, String> algorithms = new EnumMap<PixelleComponent, String>(PixelleComponent.class);
for (PixelleComponent comp : (imageType == ImageType.RGB) ? PixelleComponent.rgbValues() : PixelleComponent.gsValues()) {
@@ -154,22 +158,23 @@
}
return algorithms;
}
-
+
public Point getOutputSize() {
return new Point(Integer.parseInt(widthField.getText()), Integer.parseInt(heightField.getText()));
}
-
+
public PixelleImage[] getSourceImages() {
PixelleImage[] images = sourcePanel.getSourceImages();
- if (images.length == 0)
+ if (images.length == 0) {
images = new PixelleImage[] { frame.getImage() };
-
+ }
+
return images;
}
-
+
private void initComponents() {
Container cp = getContentPane();
-
+
ok = new JButton(PixelleBundle.getString(PixelleBundle.OK));
cancel = new JButton(PixelleBundle.getString(PixelleBundle.CANCEL));
reset = new JButton(PixelleBundle.getString(PixelleBundle.RESET));
@@ -178,48 +183,48 @@
GuiUtils.sizeUniformly(GuiUtils.Sizing.Both, new JComponent[] {ok, cancel, reset, save, delete});
cp.setLayout(new BorderLayout(4, 4));
-
+
sourcePanel = new SourcePanel();
cp.add(sourcePanel, BorderLayout.NORTH);
-
+
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new BorderLayout(4, 4));
cp.add(centerPanel, BorderLayout.CENTER);
-
+
centerPanel.setBorder(BorderFactory.createTitledBorder(PixelleBundle.getString(PixelleBundle.PIXEL_ALGORITHMS)));
-
+
tabbedPane = new JTabbedPane();
centerPanel.add(tabbedPane, BorderLayout.CENTER);
-
+
tabbedPane.add(PixelleBundle.getString(PixelleBundle.RGB), buildRGBPane());
tabbedPane.add(PixelleBundle.getString(PixelleBundle.GRAYSCALE), buildGrayscalePanel());
-
+
centerPanel.add(buildSizingPanel(), BorderLayout.SOUTH);
-
+
cp.add(buildCtrlPanel(), BorderLayout.SOUTH);
-
+
pack();
}
-
+
private JPanel buildSizingPanel() {
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setBorder(BorderFactory.createTitledBorder(PixelleBundle.getString(PixelleBundle.OUTPUT_PROPERTIES)));
-
+
JLabel wl = new JLabel(PixelleBundle.getString(PixelleBundle.WIDTH));
JLabel hl = new JLabel(PixelleBundle.getString(PixelleBundle.HEIGHT));
GuiUtils.sizeUniformly(Sizing.Both, wl, hl);
-
+
widthField = new JTextField(new IntegerDocument(), "", 6);
heightField = new JTextField(new IntegerDocument(), "", 6);
GuiUtils.sizeUniformly(Sizing.Both, widthField, heightField);
-
+
wl.setLabelFor(widthField);
hl.setLabelFor(heightField);
-
+
widthField.setText(String.valueOf(frame.getImage().getWidth()));
heightField.setText(String.valueOf(frame.getImage().getHeight()));
-
+
panel.add(Box.createHorizontalStrut(20));
panel.add(wl);
panel.add(Box.createHorizontalStrut(10));
@@ -229,11 +234,11 @@
panel.add(Box.createHorizontalStrut(10));
panel.add(heightField);
panel.add(Box.createHorizontalGlue());
-
+
return panel;
}
-
- private JPanel buildCtrlPanel() {
+
+ private JPanel buildCtrlPanel() {
JPanel ctlPanel = new JPanel();
ctlPanel.setLayout(new BoxLayout(ctlPanel, BoxLayout.X_AXIS));
ctlPanel.add(Box.createHorizontalStrut(10));
@@ -248,15 +253,15 @@
ctlPanel.add(cancel);
ctlPanel.add(Box.createHorizontalStrut(10));
ctlPanel.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
-
+
return ctlPanel;
}
-
+
private JPanel buildRGBPane() {
-
+
JPanel rgbPanel = new JPanel();
rgbPanel.setLayout(new BoxLayout(rgbPanel, BoxLayout.Y_AXIS));
-
+
{
JPanel optionsPanel = new JPanel();
optionsPanel.setLayout(new BoxLayout(optionsPanel, BoxLayout.X_AXIS));
@@ -290,22 +295,22 @@
}
} catch (IllegalArgumentException iae) {
}
-
+
savedRGBAlgorithms.setInvoker(selectedRGBAlgorithm);
optionsPanel.add(savedRGBAlgorithms);
optionsPanel.add(Box.createHorizontalGlue());
optionsPanel.setBorder(BorderFactory.createEmptyBorder(10, 4, 5, 4));
rgbPanel.add(optionsPanel);
}
-
+
{
JPanel algoPanel = new JPanel();
algoPanel.setLayout(new GridLayout(5, 1));
-
+
GuiUtils.sizeUniformly(GuiUtils.Sizing.Both, rgbLHS.values().toArray(new JComponent[rgbLHS.size()]));
GuiUtils.sizeUniformly(GuiUtils.Sizing.Both, rgbEditor.values().toArray(new JComponent[rgbEditor.size()]));
GuiUtils.sizeUniformly(GuiUtils.Sizing.Both, rgbLabels.values().toArray(new JComponent[rgbLabels.size()]));
-
+
for (PixelleComponent comp : PixelleComponent.rgbValues()) {
JPanel p = new JPanel();
p.setLayout(new BorderLayout(10, 10));
@@ -316,17 +321,17 @@
p.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
algoPanel.add(p);
}
-
+
rgbPanel.add(algoPanel);
}
-
+
return rgbPanel;
}
-
+
private JPanel buildGrayscalePanel() {
JPanel gsPanel = new JPanel();
gsPanel.setLayout(new BoxLayout(gsPanel, BoxLayout.Y_AXIS));
-
+
{
JPanel optionsPanel = new JPanel();
optionsPanel.setLayout(new BoxLayout(optionsPanel, BoxLayout.X_AXIS));
@@ -360,22 +365,22 @@
}
} catch (IllegalArgumentException iae) {
}
-
+
savedGSAlgorithms.setInvoker(selectedGSAlgorithm);
optionsPanel.add(savedGSAlgorithms);
optionsPanel.add(Box.createHorizontalGlue());
optionsPanel.setBorder(BorderFactory.createEmptyBorder(10, 4, 5, 4));
gsPanel.add(optionsPanel);
}
-
+
{
JPanel algoPanel = new JPanel();
algoPanel.setLayout(new GridLayout(5, 1));
-
+
GuiUtils.sizeUniformly(GuiUtils.Sizing.Both, gsLHS.values().toArray(new JComponent[gsLHS.size()]));
GuiUtils.sizeUniformly(GuiUtils.Sizing.Both, gsEditor.values().toArray(new JComponent[gsEditor.size()]));
GuiUtils.sizeUniformly(GuiUtils.Sizing.Both, gsLabels.values().toArray(new JComponent[gsLabels.size()]));
-
+
for (PixelleComponent comp : PixelleComponent.gsValues()) {
JPanel p = new JPanel();
p.setLayout(new BorderLayout(10, 10));
@@ -386,16 +391,16 @@
p.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
algoPanel.add(p);
}
-
+
gsPanel.add(algoPanel);
}
-
+
return gsPanel;
}
-
+
private void initListeners() {
getRootPane().setDefaultButton(ok);
-
+
selectedRGBAlgorithm.addMouseListener(new MouseAdapter() {
@Override
@@ -404,7 +409,7 @@
savedRGBAlgorithms.show(selectedRGBAlgorithm, 0, 0);
}
});
-
+
selectedGSAlgorithm.addMouseListener(new MouseAdapter() {
@Override
@@ -413,17 +418,17 @@
savedGSAlgorithms.show(selectedGSAlgorithm, 0, 0);
}
});
-
+
for (final PixelleComponent comp : PixelleComponent.gsValues()) {
final JTextField tf = gsEditor.get(comp);
tf.addFocusListener(new FocusExpansionListener(tf, comp));
}
-
+
for (final PixelleComponent comp : PixelleComponent.rgbValues()) {
final JTextField tf = rgbEditor.get(comp);
tf.addFocusListener(new FocusExpansionListener(tf, comp));
}
-
+
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
ImageType imageType = getImageType();
@@ -441,7 +446,7 @@
}
}
});
-
+
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
ImageType imageType = getImageType();
@@ -449,12 +454,12 @@
AlgorithmArchiver archiver = AlgorithmArchiver.getArchiver();
archiver.setCurrent(imageType, algorithm);
archiver.save();
-
+
clickedOK = true;
dispose();
}
});
-
+
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
dispose();
@@ -471,17 +476,17 @@
});
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
-
- static class FocusExpansionListener extends FocusAdapter
+
+ static class FocusExpansionListener extends FocusAdapter
{
- private JTextField textField;
- private PixelleComponent component;
-
+ private final JTextField textField;
+ private final PixelleComponent component;
+
public FocusExpansionListener(JTextField tf, PixelleComponent comp) {
textField = tf;
component = comp;
}
-
+
@Override
public void focusGained(FocusEvent e) {
Point pt = textField.getLocation();
@@ -495,7 +500,7 @@
textField.setEnabled(true);
}
}
-
+
class SourcePanel extends JPanel
{
private static final long serialVersionUID = -8696503930565383721L;
@@ -505,25 +510,25 @@
DefaultTableModel sourceModel;
JButton addButton;
JButton removeButton;
-
+
public SourcePanel() {
initComponents();
initListeners();
}
-
+
public PixelleImage[] getSourceImages() {
int imageCount = sourceModel.getRowCount();
PixelleImage[] selectedImages = new PixelleImage[imageCount];
for (int i = 0; i < imageCount; i++) {
selectedImages[i] = ((PixelleFrame)sourceModel.getValueAt(i, 1)).getImage();
}
-
+
return selectedImages;
}
-
+
public void initComponents() {
setLayout(new BorderLayout(4, 4));
-
+
sourceModel = new DefaultTableModel();
sourceModel.addColumn(PixelleBundle.getString(PixelleBundle.SOURCES_NUMBER));
sourceModel.addColumn(PixelleBundle.getString(PixelleBundle.SOURCES_NAME));
@@ -533,12 +538,12 @@
@Override
public boolean isCellEditable(int row, int column) {
- return false;
- }
+ return false;
+ }
};
ListSelectionModel selectionModel = sourceTable.getSelectionModel();
selectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
-
+
TableColumnModel columnModel = sourceTable.getColumnModel();
TableColumn column = columnModel.getColumn(0);
column.setMaxWidth(50);
@@ -548,7 +553,7 @@
scroller.setMaximumSize(d);
scroller.setPreferredSize(d);
add(scroller, BorderLayout.CENTER);
-
+
JPanel ctlPanel = new JPanel();
ctlPanel.setLayout(new BoxLayout(ctlPanel, BoxLayout.Y_AXIS));
Icon plus = new ImageIcon(SourcePanel.class.getResource(PLUS_ICON));
@@ -564,10 +569,10 @@
ctlPanel.add(removeButton);
ctlPanel.add(Box.createVerticalGlue());
add(ctlPanel, BorderLayout.EAST);
-
+
setBorder(BorderFactory.createTitledBorder(PixelleBundle.getString(PixelleBundle.SOURCES_LABEL)));
}
-
+
public void initListeners() {
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
@@ -579,7 +584,7 @@
}
}
});
-
+
removeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
int[] selRows = sourceTable.getSelectedRows();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|