[Mongobrowser-commit] SF.net SVN: mongobrowser:[65] trunk/mongobrowser/src/com/mebigfatguy/ mongob
Status: Pre-Alpha
Brought to you by:
dbrosius
From: <dbr...@us...> - 2010-01-01 01:56:18
|
Revision: 65 http://mongobrowser.svn.sourceforge.net/mongobrowser/?rev=65&view=rev Author: dbrosius Date: 2010-01-01 01:56:11 +0000 (Fri, 01 Jan 2010) Log Message: ----------- stub in dialog for creating a new key/value pair Added Paths: ----------- trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/dialogs/KeyValueDialog.java Added: trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/dialogs/KeyValueDialog.java =================================================================== --- trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/dialogs/KeyValueDialog.java (rev 0) +++ trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/dialogs/KeyValueDialog.java 2010-01-01 01:56:11 UTC (rev 65) @@ -0,0 +1,151 @@ +package com.mebigfatguy.mongobrowser.dialogs; + +import java.awt.BorderLayout; +import java.awt.Container; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.BorderFactory; +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.DefaultComboBoxModel; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; + +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import com.mebigfatguy.mongobrowser.MongoBundle; + +public class KeyValueDialog extends JDialog { + + private static final long serialVersionUID = 4909101478144542212L; + + private JTextField keyName; + private JComboBox valueTypeBox; + private JTextField valueField; + private JButton okButton; + private JButton cancelButton; + private boolean ok = false; + + public KeyValueDialog() { + setTitle(MongoBundle.getString(MongoBundle.Key.NewKeyValue)); + initComponents(); + initListeners(); + pack(); + } + + private void initComponents() { + Container cp = getContentPane(); + cp.setLayout(new BorderLayout(4, 4)); + cp.add(createFormPanel(), BorderLayout.CENTER); + cp.add(createCtrlPanel(), BorderLayout.SOUTH); + } + + private JPanel createFormPanel() { + JPanel p = new JPanel(); + p.setLayout(new FormLayout("6dlu, pref, 5dlu, 200px, 5dlu, pref, 6dlu", "6dlu, pref, 2dlu, pref, 6dlu")); + CellConstraints cc = new CellConstraints(); + + JLabel keyLabel = new JLabel(MongoBundle.getString(MongoBundle.Key.Key)); + p.add(keyLabel, cc.xy(2, 2)); + + keyName = new JTextField(); + p.add(keyName, cc.xy(4, 2)); + + keyLabel.setLabelFor(keyName); + + JLabel valueLabel = new JLabel(MongoBundle.getString(MongoBundle.Key.Value)); + p.add(valueLabel, cc.xy(2, 4)); + + valueField = new JTextField(); + p.add(valueField, cc.xy(4, 4)); + + valueTypeBox = new JComboBox(); + DefaultComboBoxModel model = (DefaultComboBoxModel)valueTypeBox.getModel(); + model.addElement(new IntegerValueType()); + model.addElement(new DoubleValueType()); + model.addElement(new StringValueType()); + model.addElement(new ObjectValueType()); + p.add(valueTypeBox, cc.xy(6, 4)); + + valueLabel.setLabelFor(valueField); + + return p; + } + + private JPanel createCtrlPanel() { + JPanel p = new JPanel(); + p.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); + p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); + p.add(Box.createHorizontalGlue()); + + okButton = new JButton(MongoBundle.getString(MongoBundle.Key.OK)); + p.add(okButton); + p.add(Box.createHorizontalStrut(10)); + + cancelButton = new JButton(MongoBundle.getString(MongoBundle.Key.Cancel)); + p.add(cancelButton); + p.add(Box.createHorizontalStrut(10)); + + return p; + } + + private void initListeners() { + okButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + ok = true; + dispose(); + } + }); + + cancelButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + dispose(); + } + }); + } + + public boolean isOK() { + return ok; + } + + interface ValueType { + + } + + class IntegerValueType implements ValueType { + + @Override + public String toString() { + return MongoBundle.getString(MongoBundle.Key.Integer); + } + } + + class DoubleValueType implements ValueType { + + @Override + public String toString() { + return MongoBundle.getString(MongoBundle.Key.Double); + } + } + + class StringValueType implements ValueType { + + @Override + public String toString() { + return MongoBundle.getString(MongoBundle.Key.String); + } + } + + class ObjectValueType implements ValueType { + + @Override + public String toString() { + return MongoBundle.getString(MongoBundle.Key.Object); + } + } +} Property changes on: trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/dialogs/KeyValueDialog.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |