From: <cpm...@us...> - 2012-03-12 10:27:11
|
Revision: 16474 http://pcgen.svn.sourceforge.net/pcgen/?rev=16474&view=rev Author: cpmeister Date: 2012-03-12 10:26:57 +0000 (Mon, 12 Mar 2012) Log Message: ----------- Code refactoring, added new mapfacade, add some javadocs Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/facade/CompanionSupportFacade.java Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListEvent.java Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListListener.java Trunk/pcgen/code/src/java/pcgen/core/facade/util/AbstractListFacade.java Trunk/pcgen/code/src/java/pcgen/core/facade/util/DelegatingListFacade.java Trunk/pcgen/code/src/java/pcgen/core/facade/util/SortedListFacade.java Trunk/pcgen/code/src/java/pcgen/gui2/CharacterTabs.java Trunk/pcgen/code/src/java/pcgen/gui2/csheet/CharacterSheetFrame.java Trunk/pcgen/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java Trunk/pcgen/code/src/java/pcgen/gui2/facade/SpellSupportFacadeImpl.java Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacade.java Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacadeTableModel.java Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredTreeViewModel.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/sources/SourceSelectionDialog.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/AbilitiesInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/CharacterSheetInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DescriptionInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SkillInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SummaryInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ability/AbilityTreeTableModel.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentModel.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTableModel.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTreeTableModel.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/UnequippedList.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/skill/SkillPointTableModel.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/ClassLevelTableModel.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/InfoPaneHandler.java Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/LanguageTableModel.java Trunk/pcgen/code/src/java/pcgen/gui2/util/AbstractListMenu.java Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeComboBoxModel.java Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeListModel.java Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java Trunk/pcgen/code/src/java/pcgen/gui2/util/treeview/TreeViewTableModel.java Added Paths: ----------- Trunk/pcgen/code/src/java/pcgen/core/facade/event/FacadeEvent.java Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapEvent.java Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapListener.java Trunk/pcgen/code/src/java/pcgen/core/facade/util/MapFacade.java Removed Paths: ------------- Trunk/pcgen/code/src/java/pcgen/core/facade/event/ModifiableListListener.java Trunk/pcgen/code/src/java/pcgen/core/facade/util/MultiDelegatingListFacade.java Trunk/pcgen/code/src/java/pcgen/gui2/util/SortedListModel.java Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/CompanionSupportFacade.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/CompanionSupportFacade.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/CompanionSupportFacade.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -28,9 +28,32 @@ */ public interface CompanionSupportFacade { + /** + * This adds a companion to this character. + * A CharacterFacade is used instead of a CompanionFacade to make + * sure that the added companion is an existing character. This enforces + * that this method doesn't try to create a new character behind the scenes. + * <br> + * To implement this method, the added companion would need to be wrapped in + * another CompanionFacade such that the backing character can be garbage + * collected if the character is closed. + * @param companion the companion to add + */ public void addCompanion(CharacterFacade companion); + /** + * Removes a companion from this character. + * The companion to removed will be one retrieved from the <code>getCompanions</code> + * list. + * @param companion the companion to remove + */ public void removeCompanion(CompanionFacade companion); + /** + * Returns a list of companions that the character can create. + * Elements of the list are expected to be bare-bones implementations + * of CompanionStubFacade + * @return a list of companion stubs + */ public ListFacade<CompanionStubFacade> getAvailableCompanions(); public int getRemainingCompanions(String type); public int getMaxCompanions(String type); Added: Trunk/pcgen/code/src/java/pcgen/core/facade/event/FacadeEvent.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/event/FacadeEvent.java (rev 0) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/event/FacadeEvent.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -0,0 +1,44 @@ +/* + * FacadeEvent.java + * Copyright 2012 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Mar 11, 2012, 4:22:39 PM + */ +package pcgen.core.facade.event; + +import java.util.EventObject; + +/** + * This is simply a marker class for facade based events + * @author Connor Petty <cpm...@us...> + */ +public class FacadeEvent extends EventObject +{ + private FacadeEvent cause; + + public FacadeEvent(Object source, FacadeEvent cause) + { + super(source); + this.cause = cause; + } + + public FacadeEvent getCause() + { + return cause; + } + +} Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListEvent.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListEvent.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListEvent.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -29,10 +29,10 @@ public class ListEvent<E> extends EventObject { - public static int ELEMENT_ADDED = 0; - public static int ELEMENT_REMOVED = 1; - public static int ELEMENTS_CHANGED = 2; - public static int ELEMENT_MODIFIED = 3; + public static final int ELEMENT_ADDED = 0; + public static final int ELEMENT_REMOVED = 1; + public static final int ELEMENTS_CHANGED = 2; + public static final int ELEMENT_MODIFIED = 3; private final E element; private final int type; private final int index; Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListListener.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListListener.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/event/ListListener.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -35,4 +35,11 @@ void elementsChanged(ListEvent<E> e); + /** + * Signals that an element in the list was changed in some way and needs + * to be refreshed. + * @param e The event being advised. + */ + void elementModified(ListEvent<E> e); + } Added: Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapEvent.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapEvent.java (rev 0) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapEvent.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -0,0 +1,86 @@ +/* + * MapEvent.java + * Copyright 2012 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Mar 11, 2012, 4:15:57 PM + */ +package pcgen.core.facade.event; + +import java.util.EventObject; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public class MapEvent<K, V> extends FacadeEvent +{ + + public static final int KEY_ADDED = 0; + public static final int KEY_REMOVED = 1; + public static final int KEY_MODIFIED = 2; + public static final int VALUE_CHANGED = 3; + public static final int VALUE_MODIFIED = 4; + public static final int KEYS_CHANGED = 4; + private int type; + private K key; + private V newValue; + private V oldValue; + + /** + * This is a shortcut constructor for an KEYS_CHANGED event + * @param source + */ + public MapEvent(Object source) + { + this(source, KEYS_CHANGED, null, null, null, null); + } + + public MapEvent(Object source, int type, K key, V oldValue, V newValue) + { + this(source, type, key, oldValue, newValue, null); + } + + public MapEvent(Object source, int type, K key, V oldValue, V newValue, FacadeEvent cause) + { + super(source, cause); + this.type = type; + this.key = key; + this.oldValue = oldValue; + this.newValue = newValue; + } + + public K getKey() + { + return key; + } + + public int getType() + { + return type; + } + + public V getOldValue() + { + return oldValue; + } + + public V getNewValue() + { + return newValue; + } + +} Added: Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapListener.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapListener.java (rev 0) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/event/MapListener.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -0,0 +1,80 @@ +/* + * MapListener.java + * Copyright 2012 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Mar 11, 2012, 4:31:21 PM + */ +package pcgen.core.facade.event; + +import java.util.EventListener; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface MapListener<K, V> extends EventListener +{ + + /** + * Called when a key is added for the first time along + * with some value. + * @param e + */ + void keyAdded(MapEvent<K, V> e); + + /** + * Called when a key is removed from the map along + * with its value. + * @param e + */ + void keyRemoved(MapEvent<K, V> e); + + /** + * This indicates that a key's state has somehow changed. + * For example if the key was a ReferenceFacade this event + * could indicate that the reference has changed. + * @param e + */ + void keyModified(MapEvent<K, V> e); + + /** + * Called when the value for given key has been + * replaced. + * @param e + */ + void valueChanged(MapEvent<K, V> e); + + /** + * This is called when the value for a specific key has + * changed in some way. This differs from <code>valueChanged</code> + * in that the value was not replaced but should be refreshed. + * For example if the value was a ReferenceFacade this + * event could indicate that its reference has changed. + * @param e + */ + void valueModified(MapEvent<K, V> e); + + /** + * This is called when the underlying map has undergone + * changes that compromise all map's contents. This can + * be a result of either a bulk add or bulk remove from + * underlying map. + * @param e + */ + void keysChanged(MapEvent<K, V> e); + +} Deleted: Trunk/pcgen/code/src/java/pcgen/core/facade/event/ModifiableListListener.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/event/ModifiableListListener.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/event/ModifiableListListener.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -1,46 +0,0 @@ -/* - * ModifiableListListener.java - * Copyright James Dempsey, 2012 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * Created on 12/03/2012 4:52:47 PM - * - * $Id$ - */ -package pcgen.core.facade.event; - -/** - * ModifiableListListener is a ListListener that can process notifications - * that a list entry has been changed in some significant way. - * - * <br/> - * Last Editor: $Author$ - * Last Edited: $Date$ - * - * @author James Dempsey <jde...@us...> - * @version $Revision$ - */ -public interface ModifiableListListener<E> extends ListListener<E> -{ - - /** - * Signals that an element in the list was changed in some way and needs - * to be refreshed. - * @param e The event being advised. - */ - void elementModified(ListEvent<E> e); - -} Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/util/AbstractListFacade.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/util/AbstractListFacade.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/util/AbstractListFacade.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -25,7 +25,6 @@ import javax.swing.event.EventListenerList; import pcgen.core.facade.event.ListEvent; import pcgen.core.facade.event.ListListener; -import pcgen.core.facade.event.ModifiableListListener; /** * @@ -188,10 +187,7 @@ { e = new ListEvent<E>(source, ListEvent.ELEMENT_MODIFIED, element, index); } - if (listeners[i + 1] instanceof ModifiableListListener) - { - ((ModifiableListListener) listeners[i + 1]).elementModified(e); - } + ((ListListener) listeners[i + 1]).elementModified(e); } } } Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/util/DelegatingListFacade.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/util/DelegatingListFacade.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/util/DelegatingListFacade.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -88,4 +88,10 @@ fireElementsChanged(this); } + @Override + public void elementModified(ListEvent<E> e) + { + fireElementModified(this, e.getElement(), e.getIndex()); + } + } Added: Trunk/pcgen/code/src/java/pcgen/core/facade/util/MapFacade.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/util/MapFacade.java (rev 0) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/util/MapFacade.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -0,0 +1,69 @@ +/* + * MapFacade.java + * Copyright 2012 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Mar 11, 2012, 3:46:59 PM + */ +package pcgen.core.facade.util; + +import pcgen.core.facade.event.MapListener; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface MapFacade<K, V> +{ + + void addMapListener(MapListener<? super K, ? super V> listener); + + void removeMapListener(MapListener<? super K, ? super V> listener); + + /** + * returns a list of the keys in this map. This list is + * backed by the map and will be updated alongside + * map events. + * @return a list containing the map's keys + */ + ListFacade<K> getKeys(); + + V get(K key); + + /** + * behaves like the standard Map function with the addition + * that is fires events as appropriate. + * @param key + * @param value + * @return + */ + V put(K key, V value); + + /** + * tests whether the map has a value with the given key + * @param key + * @return true if a key is found, false otherwise + */ + boolean containsKey(K key); + + /** + * Note: This is shorthand for (getSize() == 0) + * @return whether this list is empty + */ + boolean isEmpty(); + + boolean removeKey(K key); +} Deleted: Trunk/pcgen/code/src/java/pcgen/core/facade/util/MultiDelegatingListFacade.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/util/MultiDelegatingListFacade.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/util/MultiDelegatingListFacade.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -1,134 +0,0 @@ -/* - * MultiDelegatingListFacade.java - * Copyright 2010 Connor Petty <cpm...@us...> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * Created on Apr 30, 2010, 4:26:19 PM - */ -package pcgen.core.facade.util; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import pcgen.core.facade.event.ListEvent; -import pcgen.core.facade.event.ListListener; - -/** - * - * @author Connor Petty <cpm...@us...> - */ -public class MultiDelegatingListFacade<E> extends AbstractListFacade<E> -{ - - private List<E> elementList = new ArrayList<E>(); - private Map<ListFacade<E>, DelegateListener> delegateMap = new HashMap<ListFacade<E>, DelegateListener>(); - - public void addDelegate(ListFacade<E> delegate) - { - DelegateListener listener = new DelegateListener(); - delegate.addListListener(listener); - delegateMap.put(delegate, listener); - - elementList.addAll(ListFacades.wrap(delegate)); - fireElementsChanged(this); - } - - public void removeDelegate(ListFacade<E> delegate) - { - DelegateListener listener = delegateMap.remove(delegate); - if (listener != null) - { - delegate.removeListListener(listener); - } - - elementList.clear(); - for (ListFacade<E> l : delegateMap.keySet()) - { - elementList.addAll(ListFacades.wrap(l)); - } - fireElementsChanged(MultiDelegatingListFacade.this); - } - - private void removeAllDelegates() - { - Iterator<ListFacade<E>> iterator = delegateMap.keySet().iterator(); - while (iterator.hasNext()) - { - ListFacade<E> list = iterator.next(); - list.removeListListener(delegateMap.get(list)); - iterator.remove(); - } - } - - public void setDelegates(List<ListFacade<E>> delegates) - { - removeAllDelegates(); - for (ListFacade<E> delegate : delegates) - { - DelegateListener listener = new DelegateListener(); - delegate.addListListener(listener); - delegateMap.put(delegate, listener); - elementList.addAll(ListFacades.wrap(delegate)); - } - fireElementsChanged(this); - } - - public E getElementAt(int index) - { - return elementList.get(index); - } - - public int getSize() - { - return elementList.size(); - } - - private class DelegateListener implements ListListener<E> - { - - public void elementAdded(ListEvent<E> e) - { - E element = e.getElement(); - int index = elementList.size(); - elementList.add(index, element); - fireElementAdded(MultiDelegatingListFacade.this, element, index); - } - - public void elementRemoved(ListEvent<E> e) - { - E element = e.getElement(); - int index = elementList.indexOf(element); - if (elementList.remove(element)) - { - fireElementRemoved(MultiDelegatingListFacade.this, element, index); - } - } - - public void elementsChanged(ListEvent<E> e) - { - elementList.clear(); - for (ListFacade<E> l : delegateMap.keySet()) - { - elementList.addAll(ListFacades.wrap(l)); - } - fireElementsChanged(MultiDelegatingListFacade.this); - } - - } - -} Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/util/SortedListFacade.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/facade/util/SortedListFacade.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/core/facade/util/SortedListFacade.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -118,4 +118,11 @@ fireElementsChanged(this); } + @Override + public void elementModified(ListEvent<E> e) + { + int index = Arrays.binarySearch(transform, e.getIndex(), indexComparator); + fireElementModified(this,e.getElement(), index); + } + } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/CharacterTabs.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/CharacterTabs.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/CharacterTabs.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -161,6 +161,11 @@ infoTabbedPane.clearStateMap(); } + @Override + public void elementModified(ListEvent<CharacterFacade> e) + { + } + private class TabLabel extends JPanel implements ActionListener, ReferenceListener<String> { Modified: Trunk/pcgen/code/src/java/pcgen/gui2/csheet/CharacterSheetFrame.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/csheet/CharacterSheetFrame.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/csheet/CharacterSheetFrame.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -31,6 +31,7 @@ import pcgen.core.facade.CharacterFacade; import pcgen.core.facade.EquipmentSetFacade; import pcgen.core.facade.TempBonusFacade; +import pcgen.core.facade.event.ListEvent; import pcgen.core.facade.event.ReferenceEvent; import pcgen.core.facade.event.ReferenceListener; import pcgen.gui2.PCGenFrame; Modified: Trunk/pcgen/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -3603,6 +3603,15 @@ refreshTotalWeight(); } + /* (non-Javadoc) + * @see pcgen.core.facade.event.ListListener#elementModified(pcgen.core.facade.event.ListEvent) + */ + @Override + public void elementModified(ListEvent<EquipmentFacade> e) + { + refreshTotalWeight(); + } + /** * Refreshes the total weight by reading it from the current equipment set. */ Modified: Trunk/pcgen/code/src/java/pcgen/gui2/facade/SpellSupportFacadeImpl.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/facade/SpellSupportFacadeImpl.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/facade/SpellSupportFacadeImpl.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -1271,6 +1271,12 @@ updateSpellBooks((Equipment) e.getElement()); } + @Override + public void elementModified(ListEvent<EquipmentFacade> e) + { + updateSpellBooks((Equipment) e.getElement()); + } + /** * {@inheritDoc} */ Modified: Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacade.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacade.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacade.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -129,4 +129,21 @@ refilter(); } + @Override + public void elementModified(ListEvent<E> e) + { + if (data.contains(e.getElement())) + { + if (filter != null && !filter.accept(context, e.getElement())) + { + elementRemoved(e); + } + } + else + { + elementAdded(e); + } + + } + } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacadeTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacadeTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredListFacadeTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -123,6 +123,12 @@ fireTableDataChanged(); } + @Override + public void elementModified(ListEvent<E> e) + { + fireTableRowsUpdated(e.getIndex(), e.getIndex()); + } + private class RowList extends AbstractList<Object> { Modified: Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredTreeViewModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredTreeViewModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/filter/FilteredTreeViewModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -137,4 +137,13 @@ refilter(); } + @Override + public void elementModified(ListEvent<E> e) + { + if(!filter.accept(context, e.getElement())) + { + data.removeElement(e.getElement()); + } + } + } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/kits/KitPanel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/kits/KitPanel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/kits/KitPanel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -126,7 +126,7 @@ addButton.setAction(addAction); box.add(addButton); box.add(Box.createHorizontalStrut(5)); - box.setBorder(new EmptyBorder(0, 0, 5, 0)); + box.setBorder(new EmptyBorder(0, 0, 5, 0)); availPanel.add(box, BorderLayout.SOUTH); topPane.setLeftComponent(availPanel); @@ -153,7 +153,7 @@ InfoHandler infoHandler = new InfoHandler(character); availableTable.getSelectionModel().addListSelectionListener(infoHandler); selectedTable.getSelectionModel().addListSelectionListener(infoHandler); - + availableTable.addActionListener(addAction); } @@ -218,6 +218,7 @@ return; } } + } private static class KitTreeViewModel @@ -305,6 +306,12 @@ kits.refilter(); } + @Override + public void elementModified(ListEvent<KitFacade> e) + { + kits.refilter(); + } + public boolean accept(CharacterFacade context, KitFacade element) { return !context.getKits().containsElement(element); @@ -353,7 +360,7 @@ * @return The TreeViewPath. */ protected static TreeViewPath<KitFacade> createTreeViewPath(KitFacade pobj, - Object... path) + Object... path) { if (path.length == 0) { Modified: Trunk/pcgen/code/src/java/pcgen/gui2/sources/AdvancedSourceSelectionPanel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/sources/AdvancedSourceSelectionPanel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/sources/AdvancedSourceSelectionPanel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -372,6 +372,12 @@ availableTable.updateDisplay(); } + @Override + public void elementModified(ListEvent<CampaignFacade> e) + { + availableTable.updateDisplay(); + } + /** * Save the selected sources for the current game mode so they can be * restored next time we start. @@ -561,6 +567,11 @@ { model.setContents(ListFacades.wrap(baseModel)); } + + @Override + public void elementModified(ListEvent<CampaignFacade> e) + { + } } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/sources/SourceSelectionDialog.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/sources/SourceSelectionDialog.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/sources/SourceSelectionDialog.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -63,13 +63,14 @@ import pcgen.core.facade.SourceSelectionFacade; import pcgen.core.facade.util.ListFacade; import pcgen.core.facade.util.ListFacades; +import pcgen.core.facade.util.SortedListFacade; import pcgen.gui.DataInstaller; import pcgen.gui2.PCGenFrame; import pcgen.gui2.UIPropertyContext; import pcgen.gui2.filter.FilteredListFacadeTableModel; import pcgen.gui2.tools.Utility; +import pcgen.gui2.util.FacadeListModel; import pcgen.gui2.util.JTableEx; -import pcgen.gui2.util.SortedListModel; import pcgen.gui2.util.table.TableUtils; import pcgen.system.FacadeFactory; import pcgen.system.LanguageBundle; @@ -161,7 +162,7 @@ buttons.add(cancelButton); buttons.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); pane.add(buttons, BorderLayout.SOUTH); - + Utility.installEscapeCloseOperation(this); } @@ -249,9 +250,11 @@ { final JList sourcesList = new JList(); final JTextField nameField = new JTextField(); - ListFacade<SourceSelectionFacade> sources = FacadeFactory.getCustomSourceSelections(); - sourcesList.setModel(new SortedListModel<SourceSelectionFacade>(sources, - Comparators.toStringIgnoreCaseCollator())); + ListFacade<SourceSelectionFacade> sources = + new SortedListFacade<SourceSelectionFacade>( + Comparators.toStringIgnoreCaseCollator(), + FacadeFactory.getCustomSourceSelections()); + sourcesList.setModel(new FacadeListModel(sources)); sourcesList.addListSelectionListener(new ListSelectionListener() { @@ -303,7 +306,7 @@ // Swap to the install data dialog. setVisible(false); DataInstaller di = new DataInstaller(frame); - di.setVisible(true); + di.setVisible(true); } else if (command.equals(HIDEUNHIDE_COMMAND)) { @@ -482,8 +485,11 @@ JLabel label = new JLabel(LanguageBundle.getString("in_qsrc_intro")); label.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); add(label, BorderLayout.NORTH); - sourceList.setModel(new SortedListModel<SourceSelectionFacade>(FacadeFactory.getDisplayedSourceSelections(), - Comparators.toStringIgnoreCaseCollator())); + ListFacade<SourceSelectionFacade> sources = + new SortedListFacade<SourceSelectionFacade>( + Comparators.toStringIgnoreCaseCollator(), + FacadeFactory.getDisplayedSourceSelections()); + sourceList.setModel(new FacadeListModel(sources)); sourceList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); sourceList.setCellRenderer(new SourceListCellRenderer()); sourceList.addMouseListener(new MouseAdapter() Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/AbilitiesInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/AbilitiesInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/AbilitiesInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -222,6 +222,12 @@ } } + @Override + public void elementModified(ListEvent<AbilityCategoryFacade> e) + { + //TODO: do something + } + public void install() { for (TabInfo tabInfo : tabs) Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/CharacterSheetInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/CharacterSheetInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/CharacterSheetInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -322,6 +322,12 @@ csheet.refresh(); } + @Override + public void elementModified(ListEvent<Object> e) + { + csheet.refresh(); + } + } private class TempBonusTableModel extends FilteredListFacadeTableModel<TempBonusFacade> @@ -351,6 +357,11 @@ TempBonusTableModel.this.fireTableRowsUpdated(0, sortedList.getSize() - 1); } + @Override + public void elementModified(ListEvent<TempBonusFacade> e) + { + } + }; public TempBonusTableModel(CharacterFacade character) Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ClassInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -670,6 +670,12 @@ fireTableRowsUpdated(0, getRowCount() - 1); } + @Override + public void elementModified(ListEvent<CharacterLevelFacade> e) + { + fireTableRowsUpdated(e.getIndex(), e.getIndex()); + } + } private class InfoHandler implements ListSelectionListener Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DescriptionInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DescriptionInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DescriptionInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -47,7 +47,7 @@ import pcgen.core.facade.CharacterFacade; import pcgen.core.facade.NoteFacade; import pcgen.core.facade.event.ListEvent; -import pcgen.core.facade.event.ModifiableListListener; +import pcgen.core.facade.event.ListListener; import pcgen.core.facade.util.ListFacade; import pcgen.gui2.tabs.bio.BiographyInfoPane; import pcgen.gui2.tabs.bio.CampaignHistoryInfoPane; @@ -183,7 +183,7 @@ return tabTitle; } - private class NoteListHandler implements ModifiableListListener<NoteFacade> + private class NoteListHandler implements ListListener<NoteFacade> { private static final int NUM_NON_NOTE_NODES = 3; private ListFacade<NoteFacade> notes; Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -523,6 +523,11 @@ DomainTableModel.this.fireTableRowsUpdated(0, sortedList.getSize() - 1); } + @Override + public void elementModified(ListEvent<DomainFacade> e) + { + } + }; public DomainTableModel(CharacterFacade character) Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SkillInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SkillInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SkillInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -355,6 +355,12 @@ updateSelectedIndex(); } + @Override + public void elementModified(ListEvent<CharacterLevelFacade> e) + { + updateSelectedIndex(); + } + /** * {@inheritDoc} */ Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SummaryInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SummaryInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/SummaryInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -1291,6 +1291,12 @@ update(); } + @Override + public void elementModified(ListEvent<CharacterLevelFacade> e) + { + update(); + } + } /** @@ -1626,6 +1632,11 @@ refreshTodoList(); } + @Override + public void elementModified(ListEvent<TodoFacade> e) + { + refreshTodoList(); + } /** * Recreate the "Things to be Done" list based on the character's todo list. */ Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -415,6 +415,12 @@ } @Override + public void elementModified(ListEvent<TemplateFacade> e) + { + templates.refilter(); + } + + @Override public boolean accept(CharacterFacade context, TemplateFacade element) { return !context.getTemplates().containsElement(element); Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ability/AbilityTreeTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ability/AbilityTreeTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/ability/AbilityTreeTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -154,6 +154,11 @@ AbilityTreeTableModel.this.nodeStructureChanged(this); } + @Override + public void elementModified(ListEvent<AbilityCategoryFacade> e) + { + } + } private class CategoryTreeTableNode extends DefaultTreeTableNode implements ListListener<AbilityFacade> @@ -205,6 +210,11 @@ AbilityTreeTableModel.this.nodeStructureChanged(this); } + @Override + public void elementModified(ListEvent<AbilityFacade> e) + { + } + } } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -123,6 +123,12 @@ realignRowHeights(); } + @Override + public void elementModified(ListEvent<EquipmentSetFacade> e) + { + + } + private static class CellRenderer extends DefaultTableCellRenderer { Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -26,6 +26,7 @@ import pcgen.core.facade.EquipmentSetFacade; import pcgen.core.facade.EquipmentListFacade.EquipmentListEvent; import pcgen.core.facade.EquipmentListFacade.EquipmentListListener; +import pcgen.core.facade.event.ListEvent; import pcgen.gui2.filter.FilteredListFacadeTableModel; public class EquipmentTableModel extends FilteredListFacadeTableModel<EquipmentFacade> implements EquipmentListListener @@ -122,4 +123,9 @@ } } + @Override + public void elementModified(ListEvent<EquipmentFacade> e) + { + } + } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTreeTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTreeTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/EquipmentTreeTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -329,6 +329,11 @@ } @Override + public void elementModified(ListEvent<EquipNode> e) + { + } + + @Override public void quantityChanged(EquipmentTreeEvent e) { EquipNode child = e.getNode(); Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/UnequippedList.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/UnequippedList.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/equip/UnequippedList.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -200,6 +200,11 @@ } @Override + public void elementModified(ListEvent<EquipmentFacade> e) + { + } + + @Override public void quantityChanged(EquipmentListEvent e) { EquipmentFacade equipment = e.getEquipment(); Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/skill/SkillPointTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/skill/SkillPointTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/skill/SkillPointTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -167,6 +167,12 @@ } @Override + public void elementModified(ListEvent<CharacterLevelFacade> e) + { + fireTableRowsUpdated(e.getIndex(), e.getIndex()); + } + + @Override public void skillPointsChanged(CharacterLevelEvent e) { levelChanged(e); Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/ClassLevelTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/ClassLevelTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/ClassLevelTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -211,6 +211,12 @@ } @Override + public void elementModified(ListEvent<CharacterLevelFacade> e) + { + fireTableRowsUpdated(e.getIndex(), e.getIndex()); + } + + @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/InfoPaneHandler.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/InfoPaneHandler.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/InfoPaneHandler.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -20,7 +20,6 @@ */ package pcgen.gui2.tabs.summary; - import javax.swing.JEditorPane; import pcgen.core.facade.CharacterFacade; @@ -66,7 +65,7 @@ GameModeFacade game = character.getDataSet().getGameMode(); support = new HtmlSheetSupport(character, htmlPane, game.getInfoSheet()); support.setMissingSheetMsg(LanguageBundle.getFormattedString("in_sumNoInfoSheet", //$NON-NLS-1$ - character.getDataSet().getGameMode().getName())); + character.getDataSet().getGameMode().getName())); registerListeners(); } @@ -162,6 +161,15 @@ } /* (non-Javadoc) + * @see pcgen.core.facade.event.ListListener#elementModified(pcgen.core.facade.event.ListEvent) + */ + @Override + public void elementModified(ListEvent<CharacterLevelFacade> e) + { + scheduleRefresh(); + } + + /* (non-Javadoc) * @see pcgen.core.facade.event.ListListener#elementsChanged(pcgen.core.facade.event.ListEvent) */ @Override Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/LanguageTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/LanguageTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/summary/LanguageTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -181,6 +181,12 @@ editor.cancelCellEditing(); } + @Override + public void elementModified(ListEvent<LanguageFacade> e) + { + fireTableRowsUpdated(e.getIndex(), e.getIndex()); + } + private class Editor extends AbstractCellEditor implements TableCellEditor, ActionListener { Modified: Trunk/pcgen/code/src/java/pcgen/gui2/util/AbstractListMenu.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/AbstractListMenu.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/AbstractListMenu.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -69,6 +69,11 @@ rebuildListMenu(); } + @Override + public void elementModified(ListEvent<E> e) + { + } + private void rebuildListMenu() { for (int i = 0; i < oldSize; i++) Modified: Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeComboBoxModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeComboBoxModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeComboBoxModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -123,4 +123,10 @@ setSelectedItem(e.getNewReference()); } + @Override + public void elementModified(ListEvent<E> e) + { + fireContentsChanged(this, e.getIndex(), e.getIndex()); + } + } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeListModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeListModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/FacadeListModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -82,4 +82,10 @@ fireContentsChanged(this, 0, delegate.getSize() - 1); } + @Override + public void elementModified(ListEvent<E> e) + { + fireContentsChanged(this, e.getIndex(), e.getIndex()); + } + } Modified: Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -426,6 +426,11 @@ } } + @Override + public void elementModified(ListEvent<TreeView<T>> e) + { + } + } private class CornerAction extends AbstractAction Deleted: Trunk/pcgen/code/src/java/pcgen/gui2/util/SortedListModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/SortedListModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/SortedListModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -1,114 +0,0 @@ -/* - * SortedListModel.java - * Copyright 2010 Connor Petty <cpm...@us...> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * Created on Apr 25, 2010, 4:37:10 PM - */ -package pcgen.gui2.util; - -import java.util.Arrays; -import java.util.Comparator; -import javax.swing.AbstractListModel; -import org.apache.commons.lang.ArrayUtils; -import pcgen.core.facade.util.ListFacade; -import pcgen.core.facade.event.ListEvent; -import pcgen.core.facade.event.ListListener; - -/** - * - * @author Connor Petty <cpm...@us...> - */ -public class SortedListModel<E> extends AbstractListModel implements ListListener<E> -{ - - private ListFacade<E> model; - private Comparator<? super E> comparator; - private Comparator<Integer> indexComparator = new Comparator<Integer>() - { - - @Override - public int compare(Integer o1, Integer o2) - { - E e1 = model.getElementAt(o1); - E e2 = model.getElementAt(o2); - return comparator.compare(e1, e2); - } - - }; - - public SortedListModel(ListFacade<E> model, Comparator<? super E> comparator) - { - this.model = model; - this.comparator = comparator; - sortModel(); - model.addListListener(this); - } - - private Integer[] transform = null; - - @Override - public E getElementAt(int index) - { - if (index < 0 || index >= transform.length) - { - return null; - } - return model.getElementAt(transform[index]); - } - - @Override - public int getSize() - { - return model.getSize(); - } - - private void sortModel() - { - transform = new Integer[model.getSize()]; - for (int i = 0; i < transform.length; i++) - { - transform[i] = i; - } - Arrays.sort(transform, indexComparator); - } - - @Override - public void elementAdded(ListEvent<E> e) - { - transform = (Integer[]) ArrayUtils.add(transform, transform.length); - Arrays.sort(transform, indexComparator); - int index = Arrays.binarySearch(transform, e.getIndex(), indexComparator); - fireIntervalAdded(this, index, index); - } - - @Override - public void elementRemoved(ListEvent<E> e) - { - int index = ArrayUtils.indexOf(transform, e.getIndex()); - transform = (Integer[]) ArrayUtils.removeElement(transform, transform.length-1); - Arrays.sort(transform, indexComparator); - fireIntervalRemoved(this, index, index); - } - - @Override - public void elementsChanged(ListEvent<E> e) - { - sortModel(); - fireContentsChanged(this, 0, transform.length - 1); - } - -} Modified: Trunk/pcgen/code/src/java/pcgen/gui2/util/treeview/TreeViewTableModel.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/treeview/TreeViewTableModel.java 2012-03-12 06:51:42 UTC (rev 16473) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/treeview/TreeViewTableModel.java 2012-03-12 10:26:57 UTC (rev 16474) @@ -75,6 +75,12 @@ setElements(ListFacades.wrap(model)); } + @Override + public void elementModified(ListEvent<E> e) + { + //TODO: implement this + } + }; private final DataViewColumn namecolumn = new DataViewColumn() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |