[Bprocessor-commit] facade/src/net/sourceforge/bprocessor/facade/modellor NetFacadeModellor.java,
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Nordholt <nor...@us...> - 2007-02-06 16:37:34
|
Update of /cvsroot/bprocessor/facade/src/net/sourceforge/bprocessor/facade/modellor In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4803/src/net/sourceforge/bprocessor/facade/modellor Modified Files: NetFacadeModellor.java Log Message: being more specific about when the facade should update (for performance) Index: NetFacadeModellor.java =================================================================== RCS file: /cvsroot/bprocessor/facade/src/net/sourceforge/bprocessor/facade/modellor/NetFacadeModellor.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** NetFacadeModellor.java 31 Jan 2007 21:03:34 -0000 1.13 --- NetFacadeModellor.java 6 Feb 2007 16:20:32 -0000 1.14 *************** *** 18,21 **** --- 18,22 ---- import net.sourceforge.bprocessor.model.Attribute; import net.sourceforge.bprocessor.model.Edge; + import net.sourceforge.bprocessor.model.Geometric; import net.sourceforge.bprocessor.model.Geometry; import net.sourceforge.bprocessor.model.Net; *************** *** 128,139 **** */ public void update(Object entity) { ! if (space.getModellor() == this) { //sanity check regenerate(); - } else { - Project.getInstance().removeObserver(this); - space = null; - frame = null; - front = null; - windows = null; } } --- 129,154 ---- */ public void update(Object entity) { ! boolean update = false; ! if (entity instanceof Geometric) { ! Geometric geo = (Geometric)entity; ! if (geo == net || geo.getOwner() == net) { ! update = true; ! } ! } ! if (!update || ! entity == this || ! entity == Project.getInstance()) { ! update = true; ! } ! ! if (!space.getEnvelope().contains(front)) { ! update = false; ! } ! if (space.getModellor() != this) { //sanity check ! update = false; ! delete(); ! } ! if (update) { regenerate(); } } *************** *** 144,148 **** public void delete() { Project.getInstance().removeObserver(this); ! space.setModellor(null); } --- 159,170 ---- public void delete() { Project.getInstance().removeObserver(this); ! if (space.getModellor() == this) { ! space.setModellor(null); ! } ! space = null; ! net = null; ! frame = null; ! front = null; ! windows = null; } |