如何实现图形项的复制粘贴树

发布于 2024-10-29 05:11:22 字数 1097 浏览 5 评论 0原文

我正在使用对象和组的图形应用程序工作。因此,项目可以分组在一个组中。一个组可以包含其他组和项目。

为了复制项目和组,我生成一个描述此类项目和组的 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,但实现它的最佳方法是什么?我是否要先创建项目,然后再创建组?或者我是否需要从最深的项目导航到第一个项目?

谢谢, 卡洛斯.

I am working in graphical application that uses objects and groups. So, items can be grouped in a group. A group can contain other groups and items.

To copy the items and groups I produce an XML describing such items and groups and send the information to the clipboard, for example:

<!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>

For pasting the items I know I need to use the XML but what would be the best way to implement it? Do I first create the items and then the group? or do I need to navigate the tree from the deepest item up to the first?

Thanks,
Carlos.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

少跟Wǒ拽 2024-11-05 05:11:22

我为此使用了递归函数。

I used recursive functions for this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文