Я хотел бы сделать пользовательский CellTree
, который бы использовал ячейки на основе флажков (я бы хотел использовать флажки с тремя состояниями, поэтому мне придется написать собственную ячейку). Я хотел бы сделать выбор родительского узла, чтобы выбрать все его дочерние элементы, а также, если все дочерние элементы выбраны, то флажок родительского узла также должен быть выбран. Если не все дочерние элементы выбраны только некоторые из них, родительский флажок должен находиться в так называемом «третьем состоянии».
Для этого я сделал пользовательский public class TriStateSelectionEventManager extends DefaultSelectionEventManager<TopologyNodeRep>
и хотел переопределить его
public void doMultiSelection(MultiSelectionModel<? super TopologyNodeRep> selectionModel,
HasData<TopologyNodeRep> display,
int row,
TopologyNodeRep rowValue,
DefaultSelectionEventManager.SelectAction action,
boolean selectRange,
boolean clearOthers)
метод. Я подумал, что это наиболее подходящий способ реализовать это требование. Моя проблема в том, что из этого метода я не могу получить доступ к данным дерева. Полученный объект display
содержит всю необходимую информацию, но к нему нельзя получить доступ, так как это экземпляр CellTreeNodeView.NodeCellList
, который является частным внутренним классом класса доступа к пакету ..: - (
У вас есть идеи, как реализовать это требование в GWT?