使用Mono制作交互式和可缩放的径向树

时间:2013-01-25 00:46:13

标签: c# user-interface mono tree zooming

背景信息/布局

我正在尝试将径向树显示为UI的一部分。树的数据是静态的,通常有几千个节点。仅仅绘制它本身并不是一件大事 - 我已经可以用我所知道的GTK和Cairo来管理它了。

我的问题是我希望有一个面板在背景图像上显示树,并允许用户放大和缩小以及进行交互(点击节点获取信息)。

这是一张非常粗略的图片,显示了我的应用程序的布局。黄色区域是我想要树的地方。 Layout Mockup http://img202.imageshack.us/img202/5391/roughsomock.png

以下是树形显示,分为四层。整个事物需要可缩放(包括背景图像)。 Tree Display Layers http://img577.imageshack.us/img577/7466/layersy.png

  1. 突出显示感兴趣的节点(选定的节点或与用户查询匹配的节点)和它们之间的路径。
  2. 树中的节点。我打算让这些可以点击。
  3. 桡骨树的环。
  4. 背景图片。
  5. 我能做什么:

    • 渲染背景图片。
    • 画出树的戒指。
    • 绘制树的节点。
    • 在节点和路径之间绘制高光。

    我想做什么:

    • 让整个东西变得可缩放。
    • 使节点(当前或图像)可点击。

    我尝试使用像素缓冲区重新缩放背景图像。只要它只是背景图像,这是功能性的(但不是很优雅),尽管我并不为结果感到自豪。什么时候,它使节点可点击,整个事情可缩放,但是,我有点迷失。特别是后半部分。

    我一直在Linux上使用Mono和GTK的C#绑定。我愿意更换GUI工具包,如果这样可以使它变得更加容易,但只有它真的能让它变得更容易。给定树的大小(1000

0 个答案:

没有答案