Как реализовать копирование и вставку дерева графических элементов - PullRequest
0 голосов
/ 30 марта 2011

Я работаю в графическом приложении, которое использует объекты и группы. Таким образом, предметы могут быть сгруппированы в группу. Группа может содержать другие группы и элементы.

Для копирования элементов и групп я создаю XML, описывающий такие элементы и группы, и отправляю информацию в буфер обмена, например:

<!DOCTYPE tnkClpObjData>
<tnkItems>
    <tnkGroup id="003">
        <tnkItem>
            <PluginName>Ellipse</PluginName>
        </tnkItem>
        <tnkItem>
            <PluginName>Rectangle</PluginName>
        </tnkItem>
        <tnkGroup id="002">
            <tnkItem>
                    <PluginName>Rectangle</PluginName>
            </tnkItem>
            <tnkGroup id="001">
                    <tnkItem>
                        <PluginName>LineEdit</PluginName>
                    </tnkItem>
                    <tnkItem>
                        <PluginName>Label</PluginName>
                    </tnkItem>
            </tnkGroup>
        </tnkGroup>
    </tnkGroup>
</tnkItems>

Для вставки элементов, которые я знаю, мне нужно использовать XML, но как лучше всего это реализовать? Я сначала создаю элементы, а затем группу? или мне нужно перемещаться по дереву от самого глубокого элемента до первого?

Спасибо, Карлос.

1 Ответ

0 голосов
/ 04 апреля 2011

Для этого я использовал рекурсивные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...