From: <jde...@us...> - 2012-01-02 06:51:05
|
Revision: 15704 http://pcgen.svn.sourceforge.net/pcgen/?rev=15704&view=rev Author: jdempsey Date: 2012-01-02 06:50:57 +0000 (Mon, 02 Jan 2012) Log Message: ----------- Wire up export control checkboxes on Biography pane. Values are now saved and loaded and affect the export of their fields. Issue#: CODE-515 Modified Paths: -------------- sandbox/uisync/code/src/java/applicationContext.xml sandbox/uisync/code/src/java/pcgen/core/PlayerCharacter.java sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java sandbox/uisync/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java sandbox/uisync/code/src/java/pcgen/gui2/tabs/bio/BiographyInfoPane.java sandbox/uisync/code/src/java/pcgen/io/IOConstants.java sandbox/uisync/code/src/java/pcgen/io/PCGVer2Creator.java sandbox/uisync/code/src/java/pcgen/io/PCGVer2Parser.java sandbox/uisync/code/src/java/pcgen/io/exporttoken/AlignmentToken.java sandbox/uisync/code/src/java/plugin/exporttokens/AgeToken.java sandbox/uisync/code/src/java/plugin/exporttokens/DeityToken.java sandbox/uisync/code/src/java/plugin/exporttokens/GenderToken.java sandbox/uisync/code/src/java/plugin/exporttokens/HandedToken.java sandbox/uisync/code/src/java/plugin/exporttokens/NameToken.java sandbox/uisync/code/src/java/plugin/exporttokens/PlayerNameToken.java Added Paths: ----------- sandbox/uisync/code/src/java/pcgen/cdom/enumeration/BiographyField.java sandbox/uisync/code/src/java/pcgen/cdom/facet/SuppressBioFieldFacet.java Modified: sandbox/uisync/code/src/java/applicationContext.xml =================================================================== --- sandbox/uisync/code/src/java/applicationContext.xml 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/applicationContext.xml 2012-01-02 06:50:57 UTC (rev 15704) @@ -27,5 +27,6 @@ <bean id="raceFacet" class="pcgen.cdom.facet.RaceFacet" /> <bean id="formulaResolvingFacet" class="pcgen.cdom.facet.FormulaResolvingFacet" /> <bean id="chronicleEntryFacet" class="pcgen.cdom.facet.ChronicleEntryFacet" /> + <bean id="suppressBioFieldFacet" class="pcgen.cdom.facet.SuppressBioFieldFacet" /> </beans> Added: sandbox/uisync/code/src/java/pcgen/cdom/enumeration/BiographyField.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/cdom/enumeration/BiographyField.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/cdom/enumeration/BiographyField.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -0,0 +1,41 @@ +/* + * BiographyField.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 02/01/2012 11:16:59 AM + * + * $Id$ + */ +package pcgen.cdom.enumeration; + +/** + * <code>BiographyField</code> lists the possible biographical fields which may + * be edited or suppressed from export. + * + * <br/> + * Last Editor: $Author$ + * Last Edited: $Date$ + * + * @author James Dempsey <jde...@us...> + * @version $Revision$ + */ + +public enum BiographyField +{ + NAME, PLAYERNAME, GENDER, HANDED, ALIGNMENT, DEITY, AGE, SKIN_TONE, + HAIR_COLOR, HEIGHT, WEIGHT +} Property changes on: sandbox/uisync/code/src/java/pcgen/cdom/enumeration/BiographyField.java ___________________________________________________________________ Added: svn:keywords + Date Author Revision Id Added: svn:eol-style + native Added: sandbox/uisync/code/src/java/pcgen/cdom/facet/SuppressBioFieldFacet.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/cdom/facet/SuppressBioFieldFacet.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/cdom/facet/SuppressBioFieldFacet.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -0,0 +1,92 @@ +/* + * SuppressBioFieldFacet.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 02/01/2012 3:15:12 PM + * + * $Id$ + */ +package pcgen.cdom.facet; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import pcgen.cdom.enumeration.BiographyField; +import pcgen.cdom.enumeration.CharID; + +/** + * The Class <code>SuppressBioFieldFacet</code> tracks the biography fields that + * should be hidden from output. + * + * <br/> + * Last Editor: $Author$ + * Last Edited: $Date$ + * + * @author James Dempsey <jde...@us...> + * @version $Revision$ + */ + +public class SuppressBioFieldFacet +{ + + private final Class<?> thisClass = getClass(); + + /** + * Set whether the field should be hidden from output. + * + * @param id The CharID representing the target Player Character + * @param field The BiographyField to set export suppression rules for. + * @param suppress Should the field be hidden from output. + */ + public void setSuppressField(CharID id, BiographyField field, boolean suppress) + { + @SuppressWarnings("unchecked") + Set<BiographyField> suppressedFields = + (Set<BiographyField>) FacetCache.get(id, thisClass); + if (suppressedFields == null) + { + suppressedFields = + Collections.synchronizedSet(new HashSet<BiographyField>()); + FacetCache.set(id, thisClass, suppressedFields); + } + + if (suppress) + { + suppressedFields.add(field); + } + else + { + suppressedFields.remove(field); + } + } + + /** + * Check whether the field should be hidden from output for the character. + * + * @param id The CharID of the Player Character being queried. + * @param field The BiographyField to set export suppression rules for. + * @return true if the field should not be output, false if it may be. + */ + public boolean getSuppressField(CharID id, BiographyField field) + { + @SuppressWarnings("unchecked") + Set<BiographyField> suppressedFields = (Set<BiographyField>) FacetCache.get(id, thisClass); + return suppressedFields != null && suppressedFields.contains(field); + } + +} Property changes on: sandbox/uisync/code/src/java/pcgen/cdom/facet/SuppressBioFieldFacet.java ___________________________________________________________________ Added: svn:keywords + Date Author Revision Id Added: svn:eol-style + native Modified: sandbox/uisync/code/src/java/pcgen/core/PlayerCharacter.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/PlayerCharacter.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/core/PlayerCharacter.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -73,6 +73,7 @@ import pcgen.cdom.content.RollMethod; import pcgen.cdom.enumeration.AssociationKey; import pcgen.cdom.enumeration.AssociationListKey; +import pcgen.cdom.enumeration.BiographyField; import pcgen.cdom.enumeration.CharID; import pcgen.cdom.enumeration.EquipmentLocation; import pcgen.cdom.enumeration.FormulaKey; @@ -278,7 +279,8 @@ private AddLevelFacet addLevelFacet = FacetLibrary.getFacet(AddLevelFacet.class); private PlayerCharacterTrackingFacet trackingFacet = FacetLibrary.getFacet(PlayerCharacterTrackingFacet.class); private PortraitThumbnailRectFacet portraitThumbnailRectFacet = FacetLibrary.getFacet(PortraitThumbnailRectFacet.class); - + private SuppressBioFieldFacet suppressBioFieldFacet = FacetLibrary.getFacet(SuppressBioFieldFacet.class); + // List of Note objects private final ArrayList<NoteItem> notesList = new ArrayList<NoteItem>(); @@ -2996,8 +2998,30 @@ { return regionFacet.getSubRegion(id); } - + + /** + * Check whether the field should be hidden from output. + * @param field The BiographyField to check export suppression rules for. + * @return true if the field should not be output, false if it may be. + */ + public boolean getSuppressBioField(BiographyField field) + { + return suppressBioFieldFacet.getSuppressField(id, field); + } + + /** + * Set whether the field should be hidden from output. + * @param field The BiographyField to set export suppression rules for. + * @param suppress Should the field be hidden from output. + */ + public void setSuppressBioField(BiographyField field, boolean suppress) + { + suppressBioFieldFacet.setSuppressField(id, field, suppress); + setDirty(true); + } + + /** * Set the name on the tab * * @param aString Modified: sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -26,6 +26,7 @@ import javax.swing.undo.UndoManager; +import pcgen.cdom.enumeration.BiographyField; import pcgen.cdom.enumeration.Nature; import pcgen.cdom.enumeration.SkillCost; import pcgen.core.facade.util.ListFacade; @@ -561,4 +562,20 @@ public void setThumbnailCrop(Rectangle rect); + /** + * Retrieve the current export state of the BiographyField. + * + * @param field The BiographyField to be examined + * @return true if the field should be exported, false if it should be suppressed from export. + */ + public boolean getExportBioField(BiographyField field); + + /** + * Set the export state of the BiographyField. + * + * @param field The BiographyField + * @param export if the field should be exported, false if it should be suppressed from export. + */ + public void setExportBioField(BiographyField field, boolean export); + } Modified: sandbox/uisync/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/gui2/facade/CharacterFacadeImpl.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -46,6 +46,7 @@ import pcgen.cdom.base.CDOMReference; import pcgen.cdom.base.Constants; import pcgen.cdom.enumeration.AssociationKey; +import pcgen.cdom.enumeration.BiographyField; import pcgen.cdom.enumeration.EquipmentLocation; import pcgen.cdom.enumeration.Gender; import pcgen.cdom.enumeration.IntegerKey; @@ -1485,7 +1486,26 @@ } } + /** + * Check whether the field should be output. + * @param field The BiographyField to check export rules for. + * @return true if the field should be output, false if it may not be. + */ + public boolean getExportBioField(BiographyField field) + { + return !theCharacter.getSuppressBioField(field); + } + /** + * Set whether the field should be output. + * @param field The BiographyField to set export rules for. + * @param export Should the field be shown in output. + */ + public void setExportBioField(BiographyField field, boolean export) + { + theCharacter.setSuppressBioField(field, !export); + } + /* (non-Javadoc) * @see pcgen.core.facade.CharacterFacade#getDeityRef() */ Modified: sandbox/uisync/code/src/java/pcgen/gui2/tabs/bio/BiographyInfoPane.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/gui2/tabs/bio/BiographyInfoPane.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/gui2/tabs/bio/BiographyInfoPane.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -26,6 +26,8 @@ import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; @@ -39,6 +41,8 @@ import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SwingConstants; + +import pcgen.cdom.enumeration.BiographyField; import pcgen.core.facade.AlignmentFacade; import pcgen.core.facade.CharacterFacade; import pcgen.core.facade.DeityFacade; @@ -78,6 +82,9 @@ private final JButton noneButton; private final JPanel itemsPanel = new JPanel(new GridBagLayout()); + /** + * Create a new instance of BiographyInfoPane. + */ public BiographyInfoPane() { this.allButton = new JButton(); @@ -185,7 +192,7 @@ public NameItem(final CharacterFacade character) { - super("Name:"); + super("Name:", BiographyField.NAME, character); setTextFieldHandler(new TextFieldHandler(new JTextField(), character.getNameRef()) { @@ -205,7 +212,7 @@ public PlayerNameItem(final CharacterFacade character) { - super("Player:"); + super("Player:", BiographyField.PLAYERNAME, character); setTextFieldHandler(new TextFieldHandler(new JTextField(), character.getPlayersNameRef()) { @@ -227,7 +234,7 @@ public GenderItem(final CharacterFacade character) { - super("Gender:"); + super("Gender:", BiographyField.GENDER, character); genderModel = new CharacterComboBoxModel<GenderFacade>() { @@ -282,7 +289,7 @@ public HandedItem(final CharacterFacade character) { - super("Handed:"); + super("Handed:", BiographyField.HANDED, character); handsModel = new CharacterComboBoxModel<SimpleFacade>() { @@ -335,7 +342,7 @@ public AlignmentItem(final CharacterFacade character) { - super("Alignment:"); + super("Alignment:", BiographyField.ALIGNMENT, character); CharacterComboBoxModel<AlignmentFacade> alignmentModel = new CharacterComboBoxModel<AlignmentFacade>() { @@ -357,7 +364,7 @@ public DeityItem(final CharacterFacade character) { - super("Deity:"); + super("Deity:", BiographyField.DEITY, character); CharacterComboBoxModel<DeityFacade> deityModel = new CharacterComboBoxModel<DeityFacade>() { @@ -379,7 +386,7 @@ public AgeItem(final CharacterFacade character) { - super("Age:"); + super("Age:", BiographyField.AGE, character); CharacterComboBoxModel<SimpleFacade> ageModel = new CharacterComboBoxModel<SimpleFacade>() { @@ -406,18 +413,23 @@ } - private static abstract class BioItem implements ActionListener + private static abstract class BioItem implements ActionListener, ItemListener { private final JLabel label = new JLabel(); private final JCheckBox checkbox = new JCheckBox(); private JComboBox combobox = null; private JTextField textField = null; + private BiographyField bioField; + private CharacterFacade character; - protected BioItem(String text) + protected BioItem(String text, BiographyField bioField, CharacterFacade character) { + this.bioField = bioField; + this.character = character; label.setText(text); label.setHorizontalAlignment(SwingConstants.RIGHT); + checkbox.setSelected(character.getExportBioField(bioField)); } public void addComponents(JPanel panel) @@ -500,6 +512,7 @@ { parent.allButton.addActionListener(this); parent.noneButton.addActionListener(this); + checkbox.addItemListener(this); } /** @@ -510,6 +523,7 @@ { parent.allButton.removeActionListener(this); parent.noneButton.removeActionListener(this); + checkbox.removeItemListener(this); } public void actionPerformed(ActionEvent e) @@ -517,13 +531,25 @@ if (ALL_COMMAND.equals(e.getActionCommand())) { checkbox.setSelected(true); + character.setExportBioField(bioField, true); } else if (NONE_COMMAND.equals(e.getActionCommand())) { checkbox.setSelected(false); + character.setExportBioField(bioField, false); } } + /** + * {@inheritDoc} + */ + @Override + public void itemStateChanged(ItemEvent e) + { + boolean selected = e.getStateChange() == ItemEvent.SELECTED; + character.setExportBioField(bioField, selected); + } + } } Modified: sandbox/uisync/code/src/java/pcgen/io/IOConstants.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/io/IOConstants.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/io/IOConstants.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -413,6 +413,8 @@ String TAG_SUBCLASS = "SUBCLASS"; /** SUBSTITUTIONLEVEL */ String TAG_SUBSTITUTIONLEVEL = "SUBSTITUTIONLEVEL"; + /** Suppressed biography fields */ + String TAG_SUPPRESS_BIO_FIELDS = "SUPPRESSBIOFIELDS"; /** SYNERGY */ String TAG_SYNERGY = "SYNERGY"; Modified: sandbox/uisync/code/src/java/pcgen/io/PCGVer2Creator.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/io/PCGVer2Creator.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/io/PCGVer2Creator.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -47,6 +47,7 @@ import pcgen.cdom.base.SelectableSet; import pcgen.cdom.enumeration.AssociationKey; import pcgen.cdom.enumeration.AssociationListKey; +import pcgen.cdom.enumeration.BiographyField; import pcgen.cdom.enumeration.ListKey; import pcgen.cdom.enumeration.ObjectKey; import pcgen.cdom.enumeration.StringKey; @@ -452,6 +453,13 @@ appendCampaignHistoryLines(buffer); /* + * #Suppressed fields + */ + appendNewline(buffer); + appendComment("Suppressed Biography Fields", buffer); //$NON-NLS-1$ + appendSuppressBioFieldLines(buffer); + + /* * Add one more newline at end of file */ appendNewline(buffer); @@ -483,6 +491,25 @@ buffer.append(LINE_SEP); } + /** + * @param buffer + */ + private void appendSuppressBioFieldLines(StringBuffer buffer) + { + buffer.append(TAG_SUPPRESS_BIO_FIELDS).append(':'); + String delim = Constants.EMPTY_STRING; + for (BiographyField field : BiographyField.values()) + { + if (thePC.getSuppressBioField(field)) + { + buffer.append(delim); + buffer.append(field); + delim = "|"; //$NON-NLS-1$ + } + } + buffer.append(LINE_SEP); + } + private GameMode getGameMode() { if (mode != null) @@ -601,6 +628,7 @@ buffer.append('0'); } } + buffer.append(LINE_SEP); } private void appendAlignmentLine(StringBuffer buffer) Modified: sandbox/uisync/code/src/java/pcgen/io/PCGVer2Parser.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/io/PCGVer2Parser.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/io/PCGVer2Parser.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -51,6 +51,7 @@ import pcgen.cdom.choiceset.ReferenceChoiceSet; import pcgen.cdom.enumeration.AssociationKey; import pcgen.cdom.enumeration.AssociationListKey; +import pcgen.cdom.enumeration.BiographyField; import pcgen.cdom.enumeration.CharID; import pcgen.cdom.enumeration.Gender; import pcgen.cdom.enumeration.ListKey; @@ -1491,6 +1492,16 @@ } } + if (cache.containsKey(TAG_SUPPRESS_BIO_FIELDS)) + { + for (final String line : cache.get(TAG_SUPPRESS_BIO_FIELDS)) + { + parseSupressBioFieldsLine(line); + } + } + + + } /* @@ -3583,6 +3594,24 @@ } /** + * Biography fields that are to be hidden from output. + * @param line The SUPPRESS_BIO_FIELDS line + */ + private void parseSupressBioFieldsLine(final String line) + { + String fieldNames = EntityEncoder.decode(line + .substring(TAG_SUPPRESS_BIO_FIELDS.length() + 1)); + if (!fieldNames.isEmpty()) + { + String[] names = fieldNames.split("\\|"); + for (String field : names) + { + thePC.setSuppressBioField(BiographyField.valueOf(field), true); + } + } + } + + /** * # PDF Output Sheet location * @param line **/ Modified: sandbox/uisync/code/src/java/pcgen/io/exporttoken/AlignmentToken.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/io/exporttoken/AlignmentToken.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/pcgen/io/exporttoken/AlignmentToken.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -25,6 +25,7 @@ */ package pcgen.io.exporttoken; +import pcgen.cdom.enumeration.BiographyField; import pcgen.core.Globals; import pcgen.core.PCAlignment; import pcgen.core.PlayerCharacter; @@ -55,16 +56,19 @@ ExportHandler eh) { String retString = ""; - - if ("ALIGNMENT".equals(tokenSource)) + + if (!pc.getSuppressBioField(BiographyField.ALIGNMENT)) { - retString = getAlignmentToken(pc); + if ("ALIGNMENT".equals(tokenSource)) + { + retString = getAlignmentToken(pc); + } + else if ("ALIGNMENT.SHORT".equals(tokenSource)) + { + retString = getShortToken(pc); + } } - else if ("ALIGNMENT.SHORT".equals(tokenSource)) - { - retString = getShortToken(pc); - } - + return retString; } Modified: sandbox/uisync/code/src/java/plugin/exporttokens/AgeToken.java =================================================================== --- sandbox/uisync/code/src/java/plugin/exporttokens/AgeToken.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/plugin/exporttokens/AgeToken.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -25,6 +25,7 @@ */ package plugin.exporttokens; +import pcgen.cdom.enumeration.BiographyField; import pcgen.core.PlayerCharacter; import pcgen.io.ExportHandler; import pcgen.io.exporttoken.Token; @@ -53,6 +54,11 @@ public String getToken(String tokenSource, PlayerCharacter pc, ExportHandler eh) { + if (pc.getSuppressBioField(BiographyField.AGE)) + { + return ""; + } + return Integer.toString(getAgeToken(pc)); } Modified: sandbox/uisync/code/src/java/plugin/exporttokens/DeityToken.java =================================================================== --- sandbox/uisync/code/src/java/plugin/exporttokens/DeityToken.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/plugin/exporttokens/DeityToken.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -32,6 +32,7 @@ import pcgen.base.lang.StringUtil; import pcgen.cdom.base.CDOMReference; import pcgen.cdom.base.Constants; +import pcgen.cdom.enumeration.BiographyField; import pcgen.cdom.enumeration.ListKey; import pcgen.cdom.enumeration.ObjectKey; import pcgen.cdom.enumeration.SourceFormat; @@ -103,11 +104,17 @@ if ("NAME".equals(subTag)) { - retString = deity.getDisplayName(); + if (!pc.getSuppressBioField(BiographyField.DEITY)) + { + retString = deity.getDisplayName(); + } } else if ("OUTPUTNAME".equals(subTag)) { - retString = OutputNameFormatting.getOutputName(deity); + if (!pc.getSuppressBioField(BiographyField.DEITY)) + { + retString = OutputNameFormatting.getOutputName(deity); + } } else if ("DOMAINLIST".equals(subTag)) { Modified: sandbox/uisync/code/src/java/plugin/exporttokens/GenderToken.java =================================================================== --- sandbox/uisync/code/src/java/plugin/exporttokens/GenderToken.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/plugin/exporttokens/GenderToken.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -25,6 +25,7 @@ */ package plugin.exporttokens; +import pcgen.cdom.enumeration.BiographyField; import pcgen.core.PlayerCharacter; import pcgen.io.ExportHandler; import pcgen.io.exporttoken.Token; @@ -58,20 +59,22 @@ ExportHandler eh) { String retString = ""; - - /* - * TODO Short and long result are the same as Gender is no longer - * abbreviated in PC (what to do?) - */ - if ("GENDER".equals(tokenSource) || "GENDER.SHORT".equals(tokenSource)) + if (!pc.getSuppressBioField(BiographyField.GENDER)) { - retString = pc.getGenderObject().toString(); + /* + * TODO Short and long result are the same as Gender is no longer + * abbreviated in PC (what to do?) + */ + if ("GENDER".equals(tokenSource) || "GENDER.SHORT".equals(tokenSource)) + { + retString = pc.getGenderObject().toString(); + } + else if ("GENDER.LONG".equals(tokenSource)) + { + retString = pc.getGenderObject().toString(); + } } - else if ("GENDER.LONG".equals(tokenSource)) - { - retString = pc.getGenderObject().toString(); - } - + return retString; } } Modified: sandbox/uisync/code/src/java/plugin/exporttokens/HandedToken.java =================================================================== --- sandbox/uisync/code/src/java/plugin/exporttokens/HandedToken.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/plugin/exporttokens/HandedToken.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -25,6 +25,7 @@ */ package plugin.exporttokens; +import pcgen.cdom.enumeration.BiographyField; import pcgen.core.PlayerCharacter; import pcgen.io.ExportHandler; import pcgen.io.exporttoken.Token; @@ -63,6 +64,10 @@ */ public static String getHandedToken(PlayerCharacter pc) { + if (pc.getSuppressBioField(BiographyField.HANDED)) + { + return ""; + } return pc.getHanded(); } } Modified: sandbox/uisync/code/src/java/plugin/exporttokens/NameToken.java =================================================================== --- sandbox/uisync/code/src/java/plugin/exporttokens/NameToken.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/plugin/exporttokens/NameToken.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -25,6 +25,7 @@ */ package plugin.exporttokens; +import pcgen.cdom.enumeration.BiographyField; import pcgen.core.PlayerCharacter; import pcgen.io.ExportHandler; import pcgen.io.exporttoken.Token; @@ -56,6 +57,10 @@ public static String getNameToken(PlayerCharacter pc) { + if (pc.getSuppressBioField(BiographyField.NAME)) + { + return ""; + } return pc.getName(); } } Modified: sandbox/uisync/code/src/java/plugin/exporttokens/PlayerNameToken.java =================================================================== --- sandbox/uisync/code/src/java/plugin/exporttokens/PlayerNameToken.java 2012-01-02 04:18:13 UTC (rev 15703) +++ sandbox/uisync/code/src/java/plugin/exporttokens/PlayerNameToken.java 2012-01-02 06:50:57 UTC (rev 15704) @@ -25,6 +25,7 @@ */ package plugin.exporttokens; +import pcgen.cdom.enumeration.BiographyField; import pcgen.core.PlayerCharacter; import pcgen.io.ExportHandler; import pcgen.io.exporttoken.Token; @@ -56,6 +57,10 @@ public static String getPlayerNameToken(PlayerCharacter pc) { + if (pc.getSuppressBioField(BiographyField.PLAYERNAME)) + { + return ""; + } return pc.getPlayersName(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |