Как настроить отступ для непокрашенных предметов в туманности NatTable - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь оформить дерево NatTable так, чтобы отступы для не украшенных предметов совпадали с отступами для украшенных предметов.Таким образом, предметы без детей и предметы с детьми имеют в основном одинаковые отступы.

Пример, которому я следую, используя следующую конфигурацию:

public class PerfLogTreeConfiguration extends AbstractRegistryConfiguration {

private static final int fTreeIndent = 10;
private static final int fIconSpacing = 2;

private TreeImagePainter fTreeImagePainter = new TreeImagePainter(false,
        GUIHelper.getImage("right"), //$NON-NLS-1$
        GUIHelper.getImage("right_down"), null); //$NON-NLS-1$

private IndentedTreeImagePainter indentedTreeImagePainter = new IndentedTreeImagePainter(
        fTreeIndent,
        null,
        CellEdgeEnum.LEFT,
        fTreeImagePainter, 
        false,
        fIconSpacing,
        true);
private PaddingDecorator paddingDecorator = new PaddingDecorator(
        indentedTreeImagePainter,
        0,
        5,
        0,
        5, 
        true);
private ICellPainter fTreeStructurePainter = new BackgroundPainter(paddingDecorator);

@Override
public void configureRegistry(IConfigRegistry configRegistry) {
    configRegistry.registerConfigAttribute(TreeConfigAttributes.TREE_STRUCTURE_PAINTER, fTreeStructurePainter,
            DisplayMode.NORMAL);

}

A - предполагаемый слой, а B - то, что я получаю в настоящее время.

1 Ответ

0 голосов
/ 03 июня 2019

Для этого необходимо передать изображение листа в TreeImagePainter

TreeImagePainter fTreeImagePainter = new TreeImagePainter(false,
        GUIHelper.getImage("right"), //$NON-NLS-1$
        GUIHelper.getImage("right_down"), //$NON-NLS-1$
        GUIHelper.getImage("leaf")); //$NON-NLS-1$

Предоставленное изображение листа на самом деле является пустым изображением, которое используется в качестве разделителя. Используя это, также дети расширенных узлов получат дополнительный интервал. Но это необходимо для того, чтобы можно было различать дочерние узлы расширенных узлов и узлы без дочерних элементов.

...