我不确定这是否是一个有效的问题,但我有CompositeCell
作为参数来构建DefaultNodeInfo
,这是TreeViewModel
的一部分。
基本上,CompositeCell
看起来像这样:
Tree item1[button1]
Tree item2[button2]
...
现在我想在树项和按钮之间设置间距:
Tree item1 [button1]
我不知道如何实现这一目标。也许CompositeCell
对我来说不合适,因为它没有setSpacing
方法?
但我还是需要一个Cell来构建NodeInfo
。
========================================
让我更清楚地说明问题。
我唯一的Widget
是CellTree。要构建CellTree
我需要提供TreeViewModel
:
cellTree = new CellTree(
new SomeTreeViewModel(), null);
构建TreeViewModel
我需要提供DefaultNodeInfo
。换句话说,要覆盖TreeViewModel
中的以下方法:
public <T> NodeInfo<?> getNodeInfo(final T value)
构建DefaultNodeInfo
:
public DefaultNodeInfo(AbstractDataProvider<T> dataProvider, Cell<T> cell)
我必须提供Cell
(最后是我的问题......)
Cell
不是Widget
,而只是一个界面。
我需要一个CompositeCell
,其中包含AbstractCell
:
Tree item1
和ButtonCell
:
[button1]
CompositeCell
将如下所示:
Tree item1[button1]
我想在ButtonCell
或CompositeCell
或任何Cell
设置样式以添加间距:
Tree item1 [button1]
我不认为在CellTree
上应用css会有所帮助,因为它只影响树的样式而不影响树项......
实际上我找到了一种解决方法,但我认为不鼓励这样做,即覆盖ButtonCell
的{{1}}方法:
render
还有其他想法吗?
答案 0 :(得分:1)
向您的单元格或包含它的窗口小部件添加CSS类。例如:
.myCell input, .myCell div {
margin-left: 10px;
}
然后
cellTree.setStyleName("myCell");