From: <cpm...@us...> - 2008-07-24 19:35:05
|
Revision: 7236 http://pcgen.svn.sourceforge.net/pcgen/?rev=7236&view=rev Author: cpmeister Date: 2008-07-24 19:35:10 +0000 (Thu, 24 Jul 2008) Log Message: ----------- UI update Modified Paths: -------------- branches/cdomui/code/src/java/pcgen/gui/tools/ComboSelectionBox.java branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.form branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.java Modified: branches/cdomui/code/src/java/pcgen/gui/tools/ComboSelectionBox.java =================================================================== --- branches/cdomui/code/src/java/pcgen/gui/tools/ComboSelectionBox.java 2008-07-24 19:14:55 UTC (rev 7235) +++ branches/cdomui/code/src/java/pcgen/gui/tools/ComboSelectionBox.java 2008-07-24 19:35:10 UTC (rev 7236) @@ -21,7 +21,10 @@ package pcgen.gui.tools; import java.awt.BorderLayout; +import java.awt.Dialog; +import java.awt.Frame; import java.awt.ItemSelectable; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ItemListener; import javax.swing.AbstractAction; @@ -31,6 +34,7 @@ import javax.swing.JComboBox; import javax.swing.JPanel; import javax.swing.ListModel; +import javax.swing.SwingUtilities; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; import pcgen.gui.filter.FilterableTreeViewModel; @@ -43,6 +47,7 @@ public class ComboSelectionBox extends JPanel implements ItemSelectable { + private FilteredSelectionDialog dialog = null; private ComboSelectionBoxModel model; private JComboBox comboBox; private JButton button; @@ -73,6 +78,11 @@ model.setTreeViewModel(viewmodel); } + public Object getSelectedItem() + { + return comboBox.getSelectedItem(); + } + public Object[] getSelectedObjects() { return comboBox.getSelectedObjects(); @@ -88,14 +98,57 @@ comboBox.removeItemListener(l); } + private class ButtonAction extends AbstractAction + { + + public ButtonAction() + { + super("..."); + } + + public void actionPerformed(ActionEvent e) + { + if (dialog == null) + { + Window window = SwingUtilities.getWindowAncestor(ComboSelectionBox.this); + if (window instanceof Frame) + { + dialog = new FilteredSelectionDialog((Frame) window); + } + else + { + dialog = new FilteredSelectionDialog((Dialog) window); + } + } + SwingUtilities.invokeLater( + new Runnable() + { + + public void run() + { + dialog.setVisible(true); + if (dialog.getReturnStatus() == + FilteredSelectionDialog.RET_OK) + { + comboBox.setSelectedItem(dialog.getReturnItem()); + } + } + + }); + } + + } + private static class ComboSelectionBoxModel extends DefaultComboBoxModel implements ListDataListener { + private TreeViewModel<?> viewmodel; private ListModel model; public void setTreeViewModel(TreeViewModel<?> viewmodel) { + this.viewmodel = viewmodel; int comboSize = super.getSize(); if (model != null) { @@ -109,6 +162,11 @@ fireIntervalAdded(this, comboSize, getSize() - 1); } + public TreeViewModel<?> getTreeViewModel() + { + return viewmodel; + } + @Override public int getSize() { @@ -153,20 +211,4 @@ } } - - private class ButtonAction extends AbstractAction - { - - public ButtonAction() - { - super("..."); - } - - public void actionPerformed(ActionEvent e) - { - throw new UnsupportedOperationException("Not supported yet."); - } - - } - } Modified: branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.form =================================================================== --- branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.form 2008-07-24 19:14:55 UTC (rev 7235) +++ branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.form 2008-07-24 19:35:10 UTC (rev 7236) @@ -3,9 +3,6 @@ <Form version="1.5" maxVersion="1.5" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> <NonVisualComponents> <Component class="javax.swing.JLabel" name="jLabel1"> - <BindingProperties> - <BindingProperty name="text" source="filteredTreeViewSelectionPanel1" sourcePath="${selectedItem}" target="jLabel1" targetPath="text" updateStrategy="1" immediately="false"/> - </BindingProperties> </Component> </NonVisualComponents> <SyntheticProperties> @@ -43,6 +40,9 @@ <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/> <SubComponents> <Component class="pcgen.gui.tools.FilteredTreeViewSelectionPanel" name="filteredTreeViewSelectionPanel1"> + <Events> + <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="filteredTreeViewSelectionPanel1ItemStateChanged"/> + </Events> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription"> <JSplitPaneConstraints position="left"/> Modified: branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.java =================================================================== --- branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.java 2008-07-24 19:14:55 UTC (rev 7235) +++ branches/cdomui/code/src/java/pcgen/gui/tools/FilteredSelectionDialog.java 2008-07-24 19:35:10 UTC (rev 7236) @@ -5,11 +5,16 @@ */ package pcgen.gui.tools; +import java.util.Hashtable; +import javax.swing.undo.StateEditable; +import pcgen.gui.facade.CharacterFacade; +import pcgen.gui.filter.FilterableTreeViewModel; + /** * * @author Connor Petty <cpm...@us...> */ -public class FilteredSelectionDialog extends javax.swing.JDialog +public class FilteredSelectionDialog extends javax.swing.JDialog implements StateEditable { /** A return status code - returned if Cancel button has been pressed */ @@ -50,7 +55,6 @@ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; - bindingGroup = new org.jdesktop.beansbinding.BindingGroup(); jLabel1 = new javax.swing.JLabel(); chooserPane1 = new pcgen.gui.tools.ChooserPane(); @@ -58,9 +62,6 @@ okButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); - org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, filteredTreeViewSelectionPanel1, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), jLabel1, org.jdesktop.beansbinding.BeanProperty.create("text")); - bindingGroup.addBinding(binding); - addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); @@ -69,6 +70,12 @@ getContentPane().setLayout(new java.awt.GridBagLayout()); chooserPane1.setSecondaryChooserComponent(jLabel1); + + filteredTreeViewSelectionPanel1.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + filteredTreeViewSelectionPanel1ItemStateChanged(evt); + } + }); chooserPane1.setLeftComponent(filteredTreeViewSelectionPanel1); gridBagConstraints = new java.awt.GridBagConstraints(); @@ -101,8 +108,6 @@ gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(cancelButton, gridBagConstraints); - bindingGroup.bind(); - pack(); }// </editor-fold>//GEN-END:initComponents private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed @@ -118,12 +123,25 @@ doClose(RET_CANCEL); }//GEN-LAST:event_closeDialog + private void filteredTreeViewSelectionPanel1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_filteredTreeViewSelectionPanel1ItemStateChanged + boolean selected = evt.getStateChange() == + java.awt.event.ItemEvent.SELECTED; + okButton.setEnabled(selected); + if (selected) + { + jLabel1.setText(filteredTreeViewSelectionPanel1.getSelectedItem().toString()); + } + else + { + jLabel1.setText(null); + } + }//GEN-LAST:event_filteredTreeViewSelectionPanel1ItemStateChanged + private void doClose(int retStatus) { returnStatus = retStatus; returnItem = filteredTreeViewSelectionPanel1.getSelectedItem(); setVisible(false); - dispose(); } // Variables declaration - do not modify//GEN-BEGIN:variables @@ -132,8 +150,24 @@ private pcgen.gui.tools.FilteredTreeViewSelectionPanel filteredTreeViewSelectionPanel1; private javax.swing.JLabel jLabel1; private javax.swing.JButton okButton; - private org.jdesktop.beansbinding.BindingGroup bindingGroup; // End of variables declaration//GEN-END:variables private int returnStatus = RET_CANCEL; private Object returnItem = null; + + public Hashtable<Object, Object> createState(CharacterFacade character, + FilterableTreeViewModel<?> model) + { + return filteredTreeViewSelectionPanel1.createState(character, model); + } + + public void storeState(Hashtable<Object, Object> state) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void restoreState(Hashtable<?, ?> state) + { + filteredTreeViewSelectionPanel1.restoreState(state); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |