Have AUTO:LANG act consistently in the UI

Description

AUTO:LANG on Race displays the Language as Automatic (Yellow color) in the language box. If the AUTO:LANG is elsewhere, like an ability or template, the color is not changed. (I'm not sure if I'm remembering correctly, but it may be possible to remove the non-automatic appearing language as well)

Can we have a consistent behavior for the tag and UI display please?

I have a need for this as we have Campaign specific Languages that are applied to races, races which appear in different source books (Kitsune is a prime example). So I need to give the user the option of which 'supplement' the race will use without forcing the user to give up campaign options.

Environment

None

Activity

Show:
Andrew Maitland
June 10, 2014, 2:34 AM

Odd, I swore the Languages had Automatic Coloring enabled before... I'll pull up 6.0 and see if I'm going crazy.

While checking this out I was able to creating an NPE, haven't updated for the past couple of days:

02:29:57.374 SEVERE AWT-EventQueue-0 Main:590 Uncaught error - ignoring
java.lang.NullPointerException
at java.util.Collections.sort(Unknown Source)
at pcgen.gui2.facade.LanguageChooserFacadeImpl.refreshLangListContents(LanguageChooserFacade
Impl.java:201)
at pcgen.gui2.facade.LanguageChooserFacadeImpl.buildObjectLangList(LanguageChooserFacadeImpl
.java:170)
at pcgen.gui2.facade.LanguageChooserFacadeImpl.buildLanguageList(LanguageChooserFacadeImpl.j
ava:109)
at pcgen.gui2.facade.LanguageChooserFacadeImpl.getAvailableList(LanguageChooserFacadeImpl.ja
va:241)
at pcgen.gui2.dialog.LanguageChooserDialog.<init>(LanguageChooserDialog.java:90)
at pcgen.gui2.tabs.summary.LanguageTableModel$Editor.actionPerformed(LanguageTableModel.java
:264)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Andrew Maitland
June 10, 2014, 9:51 AM

http://sourceforge.net/projects/pcgen/?source=dlp - look at the "Summary" screenshot. Without installing the older version, there is proof that the Auto Lang were indeed Golden/Yellow. I guess this needs to be altered to "Fix the coloring for AUTO:LANG back to the correct method" and then open a new bug for the NPE.

So good?

James Dempsey
June 11, 2014, 1:24 AM

The code to display automatic languages in yellow is still in place, however the AutoLanguageFacet is always returning an empty list. This is verifiable using Pathfinder for Players, creating a new character and setting the race to Elf or Half-elf.

I'll also look at tracing the NPE.

James Dempsey
June 11, 2014, 1:58 AM

OK, both of thee issues are fixed:

  • Automatic languages lost their yellow

  • Stack trace when clicking on Skill languages before adding Linguistics ranks

However does that resolve the original request?

Andrew Maitland
June 11, 2014, 12:18 PM

Fixes my original issue. This can be closed. Thanks James!

Assignee

James Dempsey

Reporter

Andrew Maitland

Labels

None

Theme

None

Epic/Theme

None

Pending User Input

None

Components

Fix versions

Priority

Minor
Configure