Return a copy of this frame with $node as its node

@param DomNode $node
@return Frame
433658
function copy(DomNode $node) {
    $deco = parent::copy($node);
    
    // In order to keep columns' widths through pages
    $deco->_cellmap->set_columns($this->_cellmap->get_columns());
    $deco->_cellmap->lock_columns();

    return $deco;
  }
194565
public function setChild(self $node)
    {
        $this->removeChildrenOfType($node->getNodeType());

        return $this->addChild($node);
    }
1024431
protected function handleBlocks(Node $node)
    {

        $this->blocks = $node->findArray('block');
        foreach ($this->blocks as $blockNode)
            $this->handleBlock($blockNode);

        return $this;
    }
147003
public static function get_next_textnode( \DOMNode $node = null ) {
		return self::get_adjacent_textnode(
			function( &$another_node = null ) {
				$another_node = $another_node->nextSibling;
				return self::get_first_textnode( $another_node );
			},
			[ __CLASS__, __FUNCTION__ ],
			$node
		);
	}
464154
public function selectNode(string $node = Pool::MASTER): self
    {
        $this->node = $node;

        return $this;
    }
617258
public static function innerText(\DOMNode $node)
    {
        $doc = XmlUtil::createDocumentFromNode($node);
        return self::copyChildNodesFromNodeToString($doc);
    }
1196167
protected static function getPreviousElement(\DOMNode $node)
    {
        while ($node && ($node = $node->previousSibling)) {
            if ($node instanceof \DOMElement) {
                break;
            }
        }

        return $node;
    }
1118103
protected function openNode( Node$node ):self
	{
		array_push($this->openedNodes,$node);

		$node->scope and $this->setScope($node);

		return $this;
	}
1159030
public function mutate(Node $node)
    {
        $node->value = new Node\Expr\BinaryOp\Greater($node->key, $node->value, $node->getAttributes());
        $node->key = null;

        return $node;
    }
1196421
protected static function domNode2STX( $node )
    {
        if ( $node->hasAttributes() )
        {
            return new ggSimpleTemplateXML( $node );
        }
        foreach( $node->childNodes as $childNode )
        {
            if ( $childNode->nodeType == XML_ELEMENT_NODE )
            {
               return new ggSimpleTemplateXML( $node );
            }
        }
        return $node->textContent;
    }
982610
protected function processExtendedNode(DOMNode $node)
	{
		$handler = 'extendedNode' . $node->localName;

		if (method_exists($this, $handler))
		{
			return $this->$handler($node);
		}
		else
		{
            Eresus_Kernel::log(__METHOD__, LOG_WARNING, 'Unsupported EresusForm tag "%s"', $node->localName);
			return $node;
		}
	}
1175660
protected function getParameter(\DOMNode $node)
    {
        $name = $node->getAttribute('name');

        $parameter = new Parameter($name);
        $parameter->setDescription($this->getInner($node));

        return $parameter;
    }
120811
public function enterNode(Node $node)
    {
        if ($node instanceof UseUse) {
            $this->imports[] = $node->name->toString();
        }

        return $node;
    }
709949
protected function normalizeNode(DOMNode $node)
	{
		if (!$node->parentNode)
		{
			// Ignore nodes that have been removed from the document
			return;
		}
		if ($node instanceof DOMElement)
		{
			$this->normalizeElement($node);
		}
		elseif ($node instanceof DOMAttr)
		{
			$this->normalizeAttribute($node);
		}
	}
610156
private function ensureNodeClass(DOMNode $node)
    {
        $class = $this->nodeClasses['DOMElement'];

        if (true !== ($node instanceof $class) && $node instanceof \DOMElement) {
            return $node->ownerDocument->importNode($node, true);
        }

        return $node;
    }
759709
public function nodeCreate($node)
    {
        $this->dispatchHooks('BeforeNodeCreateScope', $node);
        $this->parseEntityFields('node', $node);
        $saved = $this->getDriver()->createNode($node);
        $this->dispatchHooks('AfterNodeCreateScope', $saved);
        $this->nodes[] = $saved;
        return $saved;
    }
519276
public function append(Node $node)
    {

        if (!is_array($this->_children)) {
            $this->_children = [];
        }

        $this->_children[] = $node;
        return $this;
    }