void DemoState::createRGBAWindow() { detachChild("rgbaWindow"); windowRGBA = new Window("rgbaWindow", Vector2(), Vector2(270, 200), "images/WINDOW.tga"); windowRGBA->attachChild(new Label("RGBALabel", "RGBA Colour", 10, ColourRGBA(ColourRGBA::WHITE), Vector2(10, 90))); rSlider = new Slider("rSlider", Vector2(20, 125), 230, HORIZONTAL); rSlider->setColour(ColourRGBA::RED); gSlider = new Slider("gSlider", Vector2(20, 90), 230, HORIZONTAL); gSlider->setColour(ColourRGBA::GREEN); bSlider = new Slider("bSlider", Vector2(20, 55), 230, HORIZONTAL); bSlider->setColour(ColourRGBA::BLUE); aSlider = new Slider("aSlider", Vector2(20, 20), 230, HORIZONTAL); aSlider->setColour(ColourRGBA(1, 1, 1, 0.5f)); windowRGBA->attachChild(rSlider); windowRGBA->attachChild(gSlider); windowRGBA->attachChild(bSlider); windowRGBA->attachChild(aSlider); attachChild(windowRGBA); }
void DemoState::buttonPressed(Button& button) { if (button == "resetEffects") { generalEffect->setSelected("None"); onHoverEffect->setSelected("None"); onHoverOffEffect->setSelected("None"); image->setVisible(true); } if (button == "demoAnim") { createAnimationWindow(); } if (button == "demoEffects") { createEffectsWindow(); } if (button == "demoRGBA") { createRGBAWindow(); } if (button == "demoChatbox") { detachChild("chatbox"); demoChatbox = new Chatbox("chatbox", Vector2(-17, -363), 520); attachChild(demoChatbox); demoChatbox->pushMessage("HAL-9000", "Hello."); } if (button == "demoPlain") { createPlainWindow(); } }
void ContainerNode::takeAllChildrenFrom(ContainerNode* oldParent) { NodeVector children; getChildNodes(oldParent, children); if (oldParent->document().hasMutationObserversOfType(MutationObserver::ChildList)) { ChildListMutationScope mutation(oldParent); for (unsigned i = 0; i < children.size(); ++i) mutation.willRemoveChild(children[i].get()); } // FIXME: We need to do notifyMutationObserversNodeWillDetach() for each child, // probably inside removeDetachedChildrenInContainer. oldParent->removeDetachedChildren(); for (unsigned i = 0; i < children.size(); ++i) { Node* child = children[i].get(); if (child->attached()) detachChild(child); // FIXME: We need a no mutation event version of adoptNode. RefPtr<Node> adoptedChild = document().adoptNode(children[i].release(), ASSERT_NO_EXCEPTION); parserAppendChild(adoptedChild.get()); // FIXME: Together with adoptNode above, the tree scope might get updated recursively twice // (if the document changed or oldParent was in a shadow tree, AND *this is in a shadow tree). // Can we do better? treeScope()->adoptIfNeeded(adoptedChild.get()); if (attached() && !adoptedChild->attached()) attachChild(adoptedChild.get()); } }
void ContainerNode::removeBetween(Node* previousChild, Node* nextChild, Node* oldChild) { NoEventDispatchAssertion assertNoEventDispatch; ASSERT(oldChild); ASSERT(oldChild->parentNode() == this); // Remove from rendering tree if (oldChild->attached()) detachChild(oldChild); if (nextChild) nextChild->setPreviousSibling(previousChild); if (previousChild) previousChild->setNextSibling(nextChild); if (m_firstChild == oldChild) m_firstChild = nextChild; if (m_lastChild == oldChild) m_lastChild = previousChild; oldChild->setPreviousSibling(0); oldChild->setNextSibling(0); oldChild->setParentNode(0); document().adoptIfNeeded(oldChild); }
void GameObject::detachAllChilds () { for (unsigned i = 0; i < children.size (); ++i) { if (children[i]->hasChilds ()) children[i]->detachAllChilds (); detachChild (*children[i]); } }
void OCRuler::move(double x, double y) { // Temporarily detach the slider and move it appropriately. QWidget *child = detachChild(); OCDataWidget::move(x, y); child->move(int(x) + off_x, int(y) + off_y); attachChild(child); }
void ScenarioPhysicalProperties::setGeometricalCharacteristics(ScenarioGeometricalCharacteristics* geometricalcharacteristics) { if (geometricalcharacteristics != m_geometricalcharacteristics) { detachChild(m_geometricalcharacteristics); m_geometricalcharacteristics = geometricalcharacteristics; attachChild(m_geometricalcharacteristics); } }
void ScenarioAerodynamicProperties::setParachuteProperties(ScenarioParachuteProperties* parachuteproperties) { if (parachuteproperties != m_parachuteproperties) { detachChild(m_parachuteproperties); m_parachuteproperties = parachuteproperties; attachChild(m_parachuteproperties); } }
void ScenarioLoiteringTrajectory::setTrajectoryPropagation(ScenarioTrajectoryPropagation* trajectoryPropagation) { if (trajectoryPropagation != m_trajectoryPropagation) { detachChild(m_trajectoryPropagation); m_trajectoryPropagation = trajectoryPropagation; attachChild(m_trajectoryPropagation); } }
void ScenarioPhysicalProperties::setPhysicalCharacteristics(ScenarioPhysicalCharacteristics* physicalcharacteristics) { Q_ASSERT(physicalcharacteristics != NULL); if (physicalcharacteristics != m_physicalcharacteristics) { detachChild(m_physicalcharacteristics); m_physicalcharacteristics = physicalcharacteristics; attachChild(m_physicalcharacteristics); } }
void ScenarioLoiteringTrajectory::setSimulationParameters(ScenarioSimulationParameters* simulationParameters) { if (simulationParameters != m_simulationParameters) { detachChild(m_simulationParameters); m_simulationParameters = simulationParameters; attachChild(m_simulationParameters); } }
void ScenarioLoiteringTrajectory::setEnvironment(ScenarioEnvironment* environment) { if (environment != m_environment) { detachChild(m_environment); m_environment = environment; attachChild(m_environment); } }
void SceneNode::detachChild( SceneNodeSPtr child ) { if ( child ) { detachChild( child->getName() ); } else { Logger::logWarning( m_name + cuT( " - Can't remove SceneNode - Null pointer given" ) ); } }
void GameObject::detachById (const unsigned long long id) { if (children.size () > 0) for (const ObjectPtr& child : children) { if (child->entityInfo.id == id) { detachChild (*child); break; } else child->detachById (id); } }
void ScenarioProperties::setPhysicalProperties(ScenarioPhysicalProperties* physicalproperties) { Q_ASSERT(physicalproperties != NULL); if (physicalproperties != m_physicalproperties) { detachChild(m_physicalproperties); m_physicalproperties = physicalproperties; attachChild(m_physicalproperties); } }
void ScenarioProperties::setPayloadProperties(ScenarioPayloadProperties* payloadproperties) { Q_ASSERT(payloadproperties != NULL); if (payloadproperties != m_payloadproperties) { detachChild(m_payloadproperties); m_payloadproperties = payloadproperties; attachChild(m_payloadproperties); } }
void ScenarioProperties::setAerodynamicProperties(ScenarioAerodynamicProperties* aerodynamicproperties) { Q_ASSERT(aerodynamicproperties != NULL); if (aerodynamicproperties != m_aerodynamicproperties) { detachChild(m_aerodynamicproperties); m_aerodynamicproperties = aerodynamicproperties; attachChild(m_aerodynamicproperties); } }
void ScenarioProperties::setPropulsionProperties(ScenarioPropulsionProperties* propulsionproperties) { Q_ASSERT(propulsionproperties != NULL); if (propulsionproperties != m_propulsionproperties) { detachChild(m_propulsionproperties); m_propulsionproperties = propulsionproperties; attachChild(m_propulsionproperties); } }
bool OCRuler::resize(double w, double h) { // Temporarily detach the slider and resize it appropriately. QWidget *child = detachChild(); OCWidget::resize(w, h); updateSize(int(w), int(h)); attachChild(child); updateGeometry(); return true; }
void ScenarioDesignOverview::setSubsystem(const QString& name, ScenarioSubsystem* subsystem) { attachChild(subsystem); if (m_subsystems.contains(name)) { detachChild(m_subsystems.value(name)); } m_subsystems[name] = subsystem; }
void DemoState::createPlainWindow() { detachChild("plainWindow"); plainWindow = new Window("plainWindow", Vector2(100, 100), Vector2(300, 200), ColourRGBA(ColourRGBA::CYAN)); plainWindow->setDraggable(true); plainWindow->setResizable(true); plainWindow->setGradiant(TO_BOTTOM, 4.0f); ComboBox* gradiants = new ComboBox("gradiantCombo", Vector2(120, 80), 120); gradiants->setOptions(5, "To bottom", "To top", "To left", "To right", "None"); gradiants->attachChild(new Label("gradLabel", "Gradiant:", 10, Vector2(-55, 10))); plainWindow->attachChild(gradiants); attachChild(plainWindow); }
WorkerPool* WorkerPool::execute(Task* _task) { /// FIXME put in splitting front()->run(_task); detachChild(front()); if (front() == nullptr) { delete this; return nullptr; } else { return this; } }
void ccHObject::transferChild(ccHObject* child, ccHObject& newParent) { assert(child); //remove link from old parent int childDependencyFlags = child->getDependencyFlagsWith(this); int parentDependencyFlags = getDependencyFlagsWith(child); detachChild(child); //automatically removes any dependency with this object newParent.addChild(child,parentDependencyFlags); child->addDependency(&newParent,childDependencyFlags); //after a successful transfer, either the parent is 'newParent' or a null pointer assert(child->getParent() == &newParent || child->getParent() == 0); }
void DemoState::createImage(const std::string& imagePath) { detachChild("demoImage"); image = new GUIImage("demoImage", imagePath); image->setLocalTranslation(Vector2(-503, -363)); image->setDraggable(true); if (hasChild("rgbaWindow")) { float r = (rSlider->getSelectedIndex() != 0 ? rSlider->getSelectedIndex() / 100.0f : 0), g = (gSlider->getSelectedIndex() != 0 ? gSlider->getSelectedIndex() / 100.0f : 0), b = (bSlider->getSelectedIndex() != 0 ? bSlider->getSelectedIndex() / 100.0f : 0), a = (aSlider->getSelectedIndex() != 0 ? aSlider->getSelectedIndex() / 100.0f : 0); image->setColour(ColourRGBA(r, g, b, a)); } attachChild(image); }
void DemoState::createAnimationWindow() { detachChild("animationWindow"); Window* animWindow = new Window("animationWindow", Vector2(-500, 2), Vector2(368, 358), "images/WINDOW.tga"); animWindow->setResizable(true); // Attaching the subtitle as a child of title gives weird results... strange animWindow->attachChild(new Label("aw_Title", "Animation", 14, Vector2(15, 165))); animWindow->attachChild(new Label("aw_Subtitle", "Configure the DOOM guy!", 9, Vector2(15, 150))); GUIImage* transArea = new GUIImage("transArea", "images/SCROLL_AREA.tga", Vector2(148, 148)); transArea->setLocalTranslation(Vector2(110, 100)); animWindow->attachChild(transArea); // Create the Doom guy amimation doomGuy = new Animation("DOOMGUY!", "demo/doomguy.tga", 64, new int[6]{ 3, 3, 3, 3, 3, 6 }); doomGuy->setLocalTranslation(Vector2(10, 10)); doomGuy->resize(128.0f, 128.0f); doomGuy->setUnordered(true); transArea->attachChild(doomGuy); // Unordered checkbox Checkbox* checkUnordered = new Checkbox("animation_checkUnordered", Vector2(60, 40), true, TICK); checkUnordered->setToolTip("If ticked, the animation plays in a random order."); checkUnordered->attachChild(new Label("unordered_label", "Unordered", 10, Vector2(15, 9))); animWindow->attachChild(checkUnordered); // Looping checkbox Checkbox* checkLooping = new Checkbox("animation_checkLoops", Vector2(60, 70), true, CROSS); checkUnordered->setToolTip("If ticked, plays in a random order."); checkLooping->attachChild(new Label("loop_label", "Loops", 10, Vector2(15, 9))); animWindow->attachChild(checkLooping); // Animation slider Slider* animationSlider = new Slider("animSlider", Vector2(180, 130), 230, VERTICAL); animationSlider->setStepCount(5); animWindow->attachChild(animationSlider); // Speed slider Slider* animationSpeedSlider = new Slider("animSpeed", Vector2(215, 130), 230, VERTICAL); animationSpeedSlider->setIndex(50); // 500ms by default animWindow->attachChild(animationSpeedSlider); // Attach the window attachChild(animWindow); }
//=====================================transferChild===============================================================// void ccHObject::transferChild(ccHObject* child, ccHObject& newParent) { assert(child); //remove link from old parent //从原先的父亲物体中删除依赖关系 int childDependencyFlags = child->getDependencyFlagsWith(this); //获取子物体对父物体的依赖关系 int parentDependencyFlags = getDependencyFlagsWith(child); //获取父亲物体对子物体的依赖关系 //automatically removes any dependency with this object //只是删除与该物体的依赖关系//两两之间 detachChild(child); //新的父物体添加孩子物体 //依赖关系也同时转移 newParent.addChild(child,parentDependencyFlags); //子物体添加依赖关系 child->addDependency(&newParent,childDependencyFlags); //after a successful transfer, either the parent is 'newParent' or a null pointer assert(child->getParent() == &newParent || child->getParent() == 0); }
void DemoState::createEffectsWindow() { detachChild("effectsWindow"); // the pointer, p_effectsWindow, will be invalid if the window has been detached p_effectsWindow = new Window("effectsWindow", Vector2(), Vector2(432, 306), "images/WINDOW.tga"); p_effectsWindow->setResizable(true); p_effectsWindow->attachChild(new Label("effectsWindow_TitleLabel", "Effects", 14, Vector2(15, 140))); p_effectsWindow->attachChild(new Label("effectsWindow_SubtitleLabel", "Some effects to play with.", 9, Vector2(15, 125))); Button* resetButton = new Button("resetEffects", Vector2(160, 25), Vector2(), "Reset"); resetButton->assignImages("images/BUTTON.tga", "images/BUTTON_HOVER.tga", "images/BUTTON_PRESSED.tga"); resetButton->getLabel()->translate(15, 0); p_effectsWindow->attachChild(resetButton); // Speed slider Slider* speedSlider = new Slider("effects_speedSlider", Vector2(140, 70), 230, HORIZONTAL); speedSlider->setIndex(50); // Defaults 1.0f speedSlider->attachChild(new Label("effects_speedSliderLabel", "Speed:", 10, ColourRGBA(ColourRGBA::WHITE), Vector2(-38, 12))); p_effectsWindow->attachChild(speedSlider); // "On hover off" effect onHoverOffEffect = createEffectsComboBox("setOnHoverOffEffect", Vector2(140, 115)); onHoverOffEffect->attachChild(new Label("onHoverOffLabel", "On leave:", 10, ColourRGBA(ColourRGBA::WHITE), Vector2(-52, 10))); p_effectsWindow->attachChild(onHoverOffEffect); // "On hover" effect onHoverEffect = createEffectsComboBox("setOnHoverEffect", Vector2(140, 155)); onHoverEffect->attachChild(new Label("onHoverLabel", "On hover:", 10, ColourRGBA(ColourRGBA::WHITE), Vector2(-55, 10))); p_effectsWindow->attachChild(onHoverEffect); // "General" effect generalEffect = createEffectsComboBox("setGeneralEffect", Vector2(140, 195)); generalEffect->attachChild(new Label("generalLabel", "General:", 10, ColourRGBA(ColourRGBA::WHITE), Vector2(-50, 10))); p_effectsWindow->attachChild(generalEffect); effectSpeed = 2.0f; attachChild(p_effectsWindow); }
void iAModuleInterface::attachedChildClosed() { MdiChild * sender = dynamic_cast<MdiChild*> (QObject::sender()); detachChild(sender); }
void iAModuleInterface::detach() { iAModuleAttachmentToChild * attachment= dynamic_cast<iAModuleAttachmentToChild*> (QObject::sender()); detachChild(attachment->GetMdiChild()); }