如何实现图形项的复制粘贴树
我正在使用对象和组的图形应用程序工作。因此,项目可以分组在一个组中。一个组可以包含其他组和项目。
为了复制项目和组,我生成一个描述此类项目和组的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我为此使用了递归函数。
I used recursive functions for this.