Package ca.nengo.ui.lib.world.piccolo.objects

Source Code of ca.nengo.ui.lib.world.piccolo.objects.Wrapper

package ca.nengo.ui.lib.world.piccolo.objects;

import ca.nengo.ui.lib.world.WorldObject;
import ca.nengo.ui.lib.world.piccolo.WorldObjectImpl;

/**
* A World Object which does nothing but wrap another world object to add a
* layer of indirection.
*
* @author Shu Wu
*/
public class Wrapper extends WorldObjectImpl {
  private WorldObject myPackage;

  public Wrapper(WorldObject obj) {
    super();
    setPickable(false);
    setPackage(obj);
  }

  public WorldObject getPackage() {
    return myPackage;
  }

  public final void setPackage(WorldObject obj) {
    if (myPackage != null) {
      myPackage.removeFromParent();
    }
    WorldObject oldPackage = myPackage;

    myPackage = obj;

    if (obj != null) {
      addChild(obj);
      packageChanged(oldPackage);
    }
  }

  public void destroyPackage() {
    if (myPackage != null) {
      myPackage.destroy();
      myPackage = null;
    }
  }

  protected void packageChanged(WorldObject oldPackage) {

  }

}
TOP

Related Classes of ca.nengo.ui.lib.world.piccolo.objects.Wrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.