首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SWT星云甘特图组件

SWT星云甘特图组件
EN

Stack Overflow用户
提问于 2015-03-20 00:56:40
回答 1查看 610关注 0票数 0

我正在尝试使用一个项目的星云甘特图组件。我们需要一个标准的项目管理,如视图,与甘特图旁边的表格。不幸的是,对齐网格和甘特图组件的行一点都不容易。这里有一个示例,它尝试使用一个树组件来实现这一点。但它并不精确。图表和树的行高略有不同,此外,滚动会把事情搞得一团糟。

有谁有解决这个问题的办法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 05:58:50

这可能来得有点晚,但这里有一些基于我使用星云甘特图的经验的提示。

有关树和图表之间的行高问题的。通过在GanttChart构造函数中传入您自己的类,可以使用自定义设置创建甘特图。Nebula建议在创建此类时扩展nebula.widgets.ganttchart.AbstractSettings。您可能想要查看和/或覆盖的一些方法:

代码语言:javascript
复制
AbstractSettings.getEventsTopSpacer()
AbstractSettings.getEventsBottomSpacer()
AbstractSettings.getSectionBarDividerHeight()
AbstractSettings.getSectionBarWidth()

您可能还想查看AbstractSettings.lockHeaderOnVerticalScroll() -我需要锁定标题栏,然后在表格上方添加填充以获得正确的对齐方式。

关于在滚动过程中链接树/图表。可以将SWT.Selection侦听器添加到树上的垂直栏。然后,当树滚动时,您也可以强制甘特图滚动。对我来说,这看起来是这样的:

代码语言:javascript
复制
treeViewer.getTree().getVerticalBar().addListener(SWT.Selection, new Listener(){
    @Override
    public void handleEvent(Event event){
        TreeItem ti = treeViewer.getTree.getTopItem();
        ganttChart.getGanttComposite().setTopItem((GanttEvent) ti.getData(), 6, SWT.LEFT);
    }
});

请注意,反过来,这并不能很好地工作;如果您尝试将甘特图的滚动操作链接到树,响应将不会很快。这要归功于甘特图的平滑滚动,而不是像树那样逐元素滚动。我通过禁用甘特图上的滚动条绕过了这个问题,但这是一个不太理想的修复方法。

除此之外,每当查看器调整大小时,我必须添加一个SWT.Resize侦听器来对齐树/图表。

希望这能将你引向正确的方向!祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29150578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档