From: <jde...@us...> - 2012-03-17 00:08:21
|
Revision: 16496 http://pcgen.svn.sourceforge.net/pcgen/?rev=16496&view=rev Author: jdempsey Date: 2012-03-17 00:08:14 +0000 (Sat, 17 Mar 2012) Log Message: ----------- Fix bug: Purchase equipment panel. Java has an error when trying to open armor selection. Issue#: CODE-1374 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/gui2/dialog/ChooserDialog.java Trunk/pcgen/code/src/java/pcgen/gui2/kits/KitPanel.java Trunk/pcgen/code/src/java/pcgen/gui2/sources/AdvancedSourceSelectionPanel.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/PurchaseInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java Modified: Trunk/pcgen/code/src/java/pcgen/gui2/dialog/ChooserDialog.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/dialog/ChooserDialog.java 2012-03-17 00:06:16 UTC (rev 16495) +++ Trunk/pcgen/code/src/java/pcgen/gui2/dialog/ChooserDialog.java 2012-03-17 00:08:14 UTC (rev 16496) @@ -198,10 +198,16 @@ { if (e.getActionCommand().equals("ADD") || e.getSource() == availTable) { - List<InfoFacade> data = availTable.getSelectedData(); + List<Object> data = availTable.getSelectedData(); if (!data.isEmpty()) { - chooser.addSelected(data.get(0)); + for (Object object : data) + { + if (object instanceof InfoFacade) + { + chooser.addSelected((InfoFacade) object); + } + } } return; } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/kits/KitPanel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/kits/KitPanel.java 2012-03-17 00:06:16 UTC (rev 16495) +++ Trunk/pcgen/code/src/java/pcgen/gui2/kits/KitPanel.java 2012-03-17 00:08:14 UTC (rev 16496) @@ -211,11 +211,14 @@ public void actionPerformed(ActionEvent e) { - List<KitFacade> data = availableTable.getSelectedData(); - for (KitFacade kit : data) + List<Object> data = availableTable.getSelectedData(); + for (Object kit : data) { - character.addKit(kit); - return; + if (kit instanceof KitFacade) + { + character.addKit((KitFacade) kit); + return; + } } } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/sources/AdvancedSourceSelectionPanel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/sources/AdvancedSourceSelectionPanel.java 2012-03-17 00:06:16 UTC (rev 16495) +++ Trunk/pcgen/code/src/java/pcgen/gui2/sources/AdvancedSourceSelectionPanel.java 2012-03-17 00:08:14 UTC (rev 16496) @@ -401,19 +401,23 @@ @Override public void actionPerformed(ActionEvent e) { - List<CampaignFacade> list = availableTable.getSelectedData(); + List<Object> list = availableTable.getSelectedData(); if (list != null && !list.isEmpty()) { - for (CampaignFacade camp : list) + for (Object obj : list) { - selectedCampaigns.addElement(camp); - if (!FacadeFactory.passesPrereqs(gameMode, selectedCampaigns.getContents())) + if (obj instanceof CampaignFacade) { - JOptionPane.showMessageDialog(AdvancedSourceSelectionPanel.this, - LanguageBundle.getString("in_src_badComboMsg"), //$NON-NLS-1$ - LanguageBundle.getString("in_src_badComboTitle"), //$NON-NLS-1$ - JOptionPane.INFORMATION_MESSAGE); - selectedCampaigns.removeElement(camp); + CampaignFacade camp = (CampaignFacade) obj; + selectedCampaigns.addElement(camp); + if (!FacadeFactory.passesPrereqs(gameMode, selectedCampaigns.getContents())) + { + JOptionPane.showMessageDialog(AdvancedSourceSelectionPanel.this, + LanguageBundle.getString("in_src_badComboMsg"), //$NON-NLS-1$ + LanguageBundle.getString("in_src_badComboTitle"), //$NON-NLS-1$ + JOptionPane.INFORMATION_MESSAGE); + selectedCampaigns.removeElement(camp); + } } } rememberSelectedSources(); @@ -434,12 +438,15 @@ @Override public void actionPerformed(ActionEvent e) { - List<CampaignFacade> list = selectedTable.getSelectedData(); + List<Object> list = selectedTable.getSelectedData(); if (list != null && !list.isEmpty()) { - for (CampaignFacade camp : list) + for (Object obj : list) { - selectedCampaigns.removeElement(camp); + if (obj instanceof CampaignFacade) + { + selectedCampaigns.removeElement((CampaignFacade) obj); + } } rememberSelectedSources(); } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java 2012-03-17 00:06:16 UTC (rev 16495) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java 2012-03-17 00:08:14 UTC (rev 16496) @@ -223,11 +223,15 @@ { if (!e.getValueIsAdjusting()) { - List<ClassFacade> data = availableTable.getSelectedData(); + List<Object> data = availableTable.getSelectedData(); ClassFacade clazz = null; - if (!data.isEmpty()) + for (Object object : data) { - clazz = data.get(0); + if (object instanceof ClassFacade) + { + clazz = (ClassFacade) object; + break; + } } setSelectedClass(clazz); } @@ -388,12 +392,21 @@ @Override protected Transferable createTransferable(JComponent c) { - List<ClassFacade> data = availableTable.getSelectedData(); - if (data.isEmpty()) + List<Object> data = availableTable.getSelectedData(); + ClassFacade selClassTemp = null; + for (Object object : data) { + if (object instanceof ClassFacade) + { + selClassTemp = (ClassFacade) object; + break; + } + } + if (selClassTemp == null) + { return null; } - final ClassFacade selClass = data.get(0); + final ClassFacade selClass = selClassTemp; return new Transferable() { Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/PurchaseInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/PurchaseInfoTab.java 2012-03-17 00:06:16 UTC (rev 16495) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/PurchaseInfoTab.java 2012-03-17 00:08:14 UTC (rev 16496) @@ -114,7 +114,6 @@ private final JButton addEquipmentButton; private final JButton removeEquipmentButton; private final InfoPane infoPane; - private EquipmentFacade selectedItem; private final JFormattedTextField wealthLabel; private final JFormattedTextField goldField; private final JFormattedTextField goldModField; @@ -190,25 +189,6 @@ availableTable.getTree().setLargeModel(true); availableTable.setDisplayableFilter(filterBar); - availableTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() - { - - @Override - public void valueChanged(ListSelectionEvent e) - { - if (!e.getValueIsAdjusting()) - { - List<EquipmentFacade> data = availableTable.getSelectedData(); - EquipmentFacade equipment = null; - if (!data.isEmpty()) - { - equipment = data.get(0); - } - setSelectedItem(equipment); - } - } - - }); availableTable.sortModel(); panel.add(new JScrollPane(availableTable), BorderLayout.CENTER); @@ -234,25 +214,6 @@ panel.add(filterBar, BorderLayout.NORTH); purchasedTable.setDisplayableFilter(filterBar); - purchasedTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() - { - - @Override - public void valueChanged(ListSelectionEvent e) - { - if (!e.getValueIsAdjusting()) - { - List<EquipmentFacade> data = purchasedTable.getSelectedData(); - EquipmentFacade skill = null; - if (!data.isEmpty()) - { - skill = data.get(0); - } - setSelectedItem(skill); - } - } - - }); purchasedTable.setSortingPriority(Collections.singletonList(new SortingPriority(0, SortMode.ASCENDING))); purchasedTable.sortModel(); panel.add(new JScrollPane(purchasedTable), BorderLayout.CENTER); @@ -381,11 +342,6 @@ return label; } - private void setSelectedItem(EquipmentFacade item) - { - this.selectedItem = item; - } - private enum Models { Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java 2012-03-17 00:06:16 UTC (rev 16495) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java 2012-03-17 00:08:14 UTC (rev 16496) @@ -255,11 +255,14 @@ @Override public void actionPerformed(ActionEvent e) { - List<TemplateFacade> data = availableTable.getSelectedData(); - for (TemplateFacade object : data) + List<Object> data = availableTable.getSelectedData(); + for (Object object : data) { - character.addTemplate(object); - return; + if (object instanceof TemplateFacade) + { + character.addTemplate((TemplateFacade) object); + return; + } } } @@ -290,11 +293,14 @@ @Override public void actionPerformed(ActionEvent e) { - List<TemplateFacade> data = selectedTable.getSelectedData(); - for (TemplateFacade object : data) + List<Object> data = selectedTable.getSelectedData(); + for (Object object : data) { - character.removeTemplate(object); - return; + if (object instanceof TemplateFacade) + { + character.removeTemplate((TemplateFacade) object); + return; + } } } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java 2012-03-17 00:06:16 UTC (rev 16495) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java 2012-03-17 00:08:14 UTC (rev 16496) @@ -235,21 +235,23 @@ } /** - * This returns data that is currently highlighted by the user. - * @return + * This returns data that is currently highlighted by the user. This may + * include branch nodes which are of type Object and not the type managed by + * the table model. Hence we cannot use <T> here. + * @return A list of selected leaf and branch rows. */ - public List<T> getSelectedData() + public List<Object> getSelectedData() { TreePath[] paths = getTree().getSelectionPaths(); if (paths == null) { return Collections.emptyList(); } - List<T> data = new ArrayList<T>(paths.length); + List<Object> data = new ArrayList<Object>(paths.length); for (TreePath path : paths) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); - data.add((T) node.getUserObject()); + data.add(node.getUserObject()); } return data; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |