void setParent(ControllerGroup<?> theParent) { if (_myParent != null && _myParent != this) { _myParent.remove(this); } _myParent = theParent; if (_myParent != this) { _myParent.add(this); } absolutePosition = new PVector(position.x, position.y); absolutePosition.add(_myParent.absolutePosition); positionBuffer = new PVector(position.x, position.y); _myControlWindow = _myParent.getWindow(); for (int i = 0; i < controllers.size(); i++) { if (controllers.get(i) instanceof Controller<?>) { ((Controller<?>) controllers.get(i))._myControlWindow = _myControlWindow; } else { ((ControllerGroup<?>) controllers.get(i))._myControlWindow = _myControlWindow; } } if (_myControlWindow != null) { setMouseOver(false); } }
/** removes the group from controlP5. */ public void remove() { _myControlWindow.removeMouseOverFor(this); if (_myParent != null) { _myParent.remove(this); } if (cp5 != null) { cp5.remove(this); } for (int i = controllers.size() - 1; i >= 0; i--) { controllers.get(i).remove(); } controllers.clear(); controllers.clearDrawable(); controllers = new ControllerList(); if (this instanceof Tab) { _myControlWindow.removeTab((Tab) this); } }