def __init__(self,h): from javafx.scene.control import TreeView from javafx.scene.control import TreeItem self.root = TreeItem(h['name']) self.ctrl = TreeView(self.root) self.Initialize(h) if h.get('handler'): self.ctrl.getSelectionModel().selectedItemProperty().addListener(h['handler'])
class EzTreeView(EzControl): def __init__(self,h): from javafx.scene.control import TreeView from javafx.scene.control import TreeItem self.root = TreeItem(h['name']) self.ctrl = TreeView(self.root) self.Initialize(h) if h.get('handler'): self.ctrl.getSelectionModel().selectedItemProperty().addListener(h['handler']) def AddRootItem(self,label): return self.AddItem(label) def AddItem(self,label,parent=None): from javafx.scene.control import TreeItem item = TreeItem(label) if parent: parent.getChildren().add(item) else: self.root.getChildren().add(item) return item def GetSelectedIndex(self): return self.ctrl.getSelectionModel().getSelectedIndex() def GetSelectedItem(self): return self.ctrl.getSelectionModel().getSelectedItem() def GetSelectedItemText(self): return self.ctrl.getSelectionModel().getSelectedItem().getValue() def GetSelectedItemPath(self,delim=""): item = self.ctrl.getSelectionModel().getSelectedItem() return self.GetItemPath(item) def GetItemPath(self,item,delim=""): item = self.ctrl.getSelectionModel().getSelectedItem() path = item.getValue() while item.getParent(): item = item.getParent() path = item.getValue() + delim + path return path def GetParentItem(self,item): return item.getParent() def GetItemValue(self,item): return item.getValue()
def AddItem(self,label,parent=None): from javafx.scene.control import TreeItem item = TreeItem(label) if parent: parent.getChildren().add(item) else: self.root.getChildren().add(item) return item