|
From: <za...@us...> - 2012-02-29 12:25:45
|
Revision: 16352
http://pcgen.svn.sourceforge.net/pcgen/?rev=16352&view=rev
Author: zaister
Date: 2012-02-29 12:25:33 +0000 (Wed, 29 Feb 2012)
Log Message:
-----------
Add 'Pantheon' as a Choice for the Deity Section / Domain Tab
Also added 'Pantheon' column to the deity view
Issue#: CODE-1306
Modified Paths:
--------------
Trunk/pcgen/code/src/java/pcgen/core/Deity.java
Trunk/pcgen/code/src/java/pcgen/core/facade/DeityFacade.java
Trunk/pcgen/code/src/java/pcgen/core/facade/InfoFactory.java
Trunk/pcgen/code/src/java/pcgen/gui2/facade/Gui2InfoFactory.java
Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java
Trunk/pcgen/code/src/java/pcgen/resources/lang/LanguageBundle.properties
Modified: Trunk/pcgen/code/src/java/pcgen/core/Deity.java
===================================================================
--- Trunk/pcgen/code/src/java/pcgen/core/Deity.java 2012-02-29 12:11:22 UTC (rev 16351)
+++ Trunk/pcgen/code/src/java/pcgen/core/Deity.java 2012-02-29 12:25:33 UTC (rev 16352)
@@ -28,7 +28,9 @@
import java.util.List;
import pcgen.cdom.base.CDOMReference;
+import pcgen.cdom.enumeration.ListKey;
import pcgen.cdom.enumeration.ObjectKey;
+import pcgen.cdom.enumeration.Pantheon;
import pcgen.cdom.enumeration.SourceFormat;
import pcgen.cdom.list.DomainList;
import pcgen.cdom.reference.CDOMDirectSingleRef;
@@ -88,4 +90,17 @@
{
return get(ObjectKey.ALIGNMENT);
}
+
+ public List<String> getPantheons()
+ {
+ List<String> pantheons = new ArrayList<String>();
+ for (Pantheon pantheon : getSafeListFor(ListKey.PANTHEON))
+ {
+ String string = pantheon.toString();
+ pantheons.add(string);
+ }
+
+ return pantheons;
+ }
+
}
Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/DeityFacade.java
===================================================================
--- Trunk/pcgen/code/src/java/pcgen/core/facade/DeityFacade.java 2012-02-29 12:11:22 UTC (rev 16351)
+++ Trunk/pcgen/code/src/java/pcgen/core/facade/DeityFacade.java 2012-02-29 12:25:33 UTC (rev 16352)
@@ -32,5 +32,7 @@
List<String> getDomainNames();
AlignmentFacade getAlignment();
-
+
+ List<String> getPantheons();
+
}
Modified: Trunk/pcgen/code/src/java/pcgen/core/facade/InfoFactory.java
===================================================================
--- Trunk/pcgen/code/src/java/pcgen/core/facade/InfoFactory.java 2012-02-29 12:11:22 UTC (rev 16351)
+++ Trunk/pcgen/code/src/java/pcgen/core/facade/InfoFactory.java 2012-02-29 12:25:33 UTC (rev 16352)
@@ -98,4 +98,11 @@
*/
public String getDomains(DeityFacade deityFacade);
+ /**
+ * Get a display string of the deity's pantheons.
+ * @param deityFacade The deity to be output.
+ * @return The comma separated list of pantheons.
+ */
+ public String getPantheons(DeityFacade deityFacade);
+
}
Modified: Trunk/pcgen/code/src/java/pcgen/gui2/facade/Gui2InfoFactory.java
===================================================================
--- Trunk/pcgen/code/src/java/pcgen/gui2/facade/Gui2InfoFactory.java 2012-02-29 12:11:22 UTC (rev 16351)
+++ Trunk/pcgen/code/src/java/pcgen/gui2/facade/Gui2InfoFactory.java 2012-02-29 12:25:33 UTC (rev 16352)
@@ -44,6 +44,7 @@
import pcgen.cdom.enumeration.ListKey;
import pcgen.cdom.enumeration.MapKey;
import pcgen.cdom.enumeration.ObjectKey;
+import pcgen.cdom.enumeration.Pantheon;
import pcgen.cdom.enumeration.RaceSubType;
import pcgen.cdom.enumeration.RaceType;
import pcgen.cdom.enumeration.SourceFormat;
@@ -476,13 +477,29 @@
if (aDeity != null)
{
infoText.appendTitleElement(OutputNameFormatting.piString(aDeity, false));
+ infoText.appendLineBreak();
- infoText.appendLineBreak();
+ String aString = aDeity.get(StringKey.TITLE);
+ if (aString != null)
+ {
+ infoText.appendI18nFormattedElement("in_deityTitle", //$NON-NLS-1$
+ aString);
+ infoText.appendLineBreak();
+ }
+
infoText
.appendI18nFormattedElement(
"in_InfoDescription", DescriptionFormatting.piDescString(pc, aDeity)); //$NON-NLS-1$
- infoText.appendLineBreak();
+ aString = getPantheons(aDeity);
+ if (aString != null)
+ {
+ infoText.appendSpacer();
+ infoText.appendI18nElement(
+ "in_pantheon", aString); //$NON-NLS-1$
+ }
+
+ infoText.appendSpacer();
infoText.appendI18nElement(
"in_domains", getDomains(aDeity)); //$NON-NLS-1$
@@ -496,7 +513,7 @@
ReferenceUtilities.joinLstFormat(dwp, "|"));
}
- String aString = aDeity.get(StringKey.HOLY_ITEM);
+ aString = aDeity.get(StringKey.HOLY_ITEM);
if (aString != null)
{
infoText.appendSpacer();
@@ -516,6 +533,7 @@
aDeity.getPrerequisiteList(), false);
if (aString.length() != 0)
{
+ infoText.appendSpacer();
infoText.appendI18nFormattedElement("in_InfoRequirements", //$NON-NLS-1$
aString);
}
@@ -523,6 +541,7 @@
aString = aDeity.getSource();
if (aString.length() > 0)
{
+ infoText.appendSpacer();
infoText.appendI18nFormattedElement("in_InfoSource", //$NON-NLS-1$
aString);
}
@@ -1398,10 +1417,29 @@
}
}
final StringBuffer piString = new StringBuffer(100);
- piString.append("<html>"); //$NON-NLS-1$
+ //piString.append("<html>"); //$NON-NLS-1$
piString.append(StringUtil.joinToStringBuffer(set, ",")); //$NON-NLS-1$
- piString.append("</html>"); //$NON-NLS-1$
+ //piString.append("</html>"); //$NON-NLS-1$
return piString.toString();
}
+
+ public String getPantheons(DeityFacade deityFacade)
+ {
+ if (deityFacade == null || !(deityFacade instanceof Deity))
+ {
+ return EMPTY_STRING;
+ }
+ Deity deity = (Deity) deityFacade;
+ Set<String> set = new TreeSet<String>();
+ for (Pantheon p : deity.getSafeListFor(ListKey.PANTHEON))
+ {
+ set.add(p.toString());
+ }
+ final StringBuffer piString = new StringBuffer(100);
+ piString.append(StringUtil.joinToStringBuffer(set, ",")); //$NON-NLS-1$
+ return piString.toString();
+
+ }
+
}
Modified: Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java
===================================================================
--- Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java 2012-02-29 12:11:22 UTC (rev 16351)
+++ Trunk/pcgen/code/src/java/pcgen/gui2/tabs/DomainInfoTab.java 2012-02-29 12:25:33 UTC (rev 16352)
@@ -601,6 +601,7 @@
new DefaultListFacade<TreeView<DeityFacade>>(Arrays.asList(DeityTreeView.values()));
private final List<DefaultDataViewColumn> columns = Arrays.asList(new DefaultDataViewColumn("in_alignLabel", Object.class), //$NON-NLS-1$
new DefaultDataViewColumn("in_domains", String.class), //$NON-NLS-1$
+ new DefaultDataViewColumn("in_pantheon", String.class), //$NON-NLS-1$
new DefaultDataViewColumn("in_sourceLabel", String.class)); //$NON-NLS-1$
private final CharacterFacade character;
private InfoFactory infoFactory;
@@ -634,7 +635,8 @@
public List<?> getData(DeityFacade obj)
{
return Arrays.asList(obj.getAlignment(),
- infoFactory.getDomains(obj), obj.getSource());
+ infoFactory.getDomains(obj), infoFactory.getPantheons(obj),
+ obj.getSource());
}
public List<? extends DataViewColumn> getDataColumns()
@@ -651,6 +653,7 @@
NAME("Name"),
ALIGNMENT_NAME("Alignment/Name"),
DOMAIN_NAME("Domain/Name"),
+ PANTHEON_NAME("Pantheon/Name"),
SOURCE_NAME("Source/Name");
private String name;
@@ -666,12 +669,12 @@
public List<TreeViewPath<DeityFacade>> getPaths(DeityFacade pobj)
{
+ List<TreeViewPath<DeityFacade>> paths = new ArrayList<TreeViewPath<DeityFacade>>();
switch (this)
{
case NAME:
return Collections.singletonList(new TreeViewPath<DeityFacade>(pobj));
case DOMAIN_NAME:
- List<TreeViewPath<DeityFacade>> paths = new ArrayList<TreeViewPath<DeityFacade>>();
for (String domain : pobj.getDomainNames())
{
paths.add(new TreeViewPath(pobj, domain));
@@ -679,6 +682,12 @@
return paths;
case ALIGNMENT_NAME:
return Collections.singletonList(new TreeViewPath<DeityFacade>(pobj, pobj.getAlignment()));
+ case PANTHEON_NAME:
+ for (String pantheon : pobj.getPantheons())
+ {
+ paths.add(new TreeViewPath(pobj, pantheon));
+ }
+ return paths;
case SOURCE_NAME:
return Collections.singletonList(new TreeViewPath<DeityFacade>(pobj, pobj.getSource()));
default:
Modified: Trunk/pcgen/code/src/java/pcgen/resources/lang/LanguageBundle.properties
===================================================================
--- Trunk/pcgen/code/src/java/pcgen/resources/lang/LanguageBundle.properties 2012-02-29 12:11:22 UTC (rev 16351)
+++ Trunk/pcgen/code/src/java/pcgen/resources/lang/LanguageBundle.properties 2012-02-29 12:25:33 UTC (rev 16352)
@@ -1266,7 +1266,7 @@
in_deityHolyIt=<b>Holy Item:</b> {0}
-in_deityTitle=Title
+in_deityTitle=<b>Title:</b> {0}
in_deityWorshippers=<b>Typical Worshippers:</b> {0}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|