[vassalengine-svn-trunk] [vassalengine-svn] SF.net SVN: vassalengine:[8702] VASSAL-src/trunk/src/VA
Brought to you by:
rodneykinney,
uckelman
From: <uck...@us...> - 2013-05-16 08:48:38
|
Revision: 8702 http://sourceforge.net/p/vassalengine/svn/8702 Author: uckelman Date: 2013-05-16 08:48:33 +0000 (Thu, 16 May 2013) Log Message: ----------- Merged Brent-3.2-p2p@8701. Fixed Bug 10167: Improve efficiency of SELECTED handling. Try to fix large lag when many counters have layers with 'Underneath when selected' option. Modified Paths: -------------- VASSAL-src/trunk/src/VASSAL/counters/Decorator.java Modified: VASSAL-src/trunk/src/VASSAL/counters/Decorator.java =================================================================== --- VASSAL-src/trunk/src/VASSAL/counters/Decorator.java 2013-05-15 23:34:31 UTC (rev 8701) +++ VASSAL-src/trunk/src/VASSAL/counters/Decorator.java 2013-05-16 08:48:33 UTC (rev 8702) @@ -48,6 +48,7 @@ public abstract class Decorator implements GamePiece, StateMergeable, PropertyNameSource { protected GamePiece piece; private Decorator dec; + private boolean selected = false; public Decorator() { } @@ -96,6 +97,9 @@ else if (Properties.VISIBLE_STATE.equals(key)) { return myGetState()+piece.getProperty(key); } + else if (Properties.SELECTED.equals(key)) { + return selected; + } else { return piece.getProperty(key); } @@ -114,6 +118,12 @@ else if (Properties.VISIBLE_STATE.equals(key)) { return getProperty(key); } + /** + * Return local cached copy of Selection Status + */ + else if (Properties.SELECTED.equals(key)) { + return isSelected(); + } else { return piece.getLocalizedProperty(key); } @@ -126,6 +136,18 @@ else if (Properties.OUTER.equals(key)) { dec = (Decorator) val; } + /** + * Cache Selection status and pass it on to all inner traits. + */ + else if (Properties.SELECTED.equals(key)) { + if (val instanceof Boolean) { + setSelected(((Boolean) val).booleanValue()); + } + else { + setSelected(false); + } + piece.setProperty(key, val); + } else { piece.setProperty(key, val); } @@ -436,4 +458,18 @@ w.pack(); } } + + + /** + * Support Selection status locally + */ + + protected void setSelected(boolean b) { + selected = b; + } + + protected boolean isSelected() { + return selected; + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ vassalengine-svn mailing list vas...@li... https://lists.sourceforge.net/lists/listinfo/vassalengine-svn |