예제 #1
0
 /**
  * Draw all components and its children.
  *
  * @param repository The cache repository.
  * @param parent The parent component.
  */
 public void draw(CacheRepository repository, Component parent) {
   final TreeItem<Component> parentTreeItem = new TreeItem<Component>(parent);
   parent.draw(repository);
   for (Component component : parent.getList()) {
     if (!component.getList().isEmpty()) {
       throw new RuntimeException("Interface with more than three layers detected.");
     } else {
       component.draw(repository);
       parentTreeItem.getChildren().add(new TreeItem<Component>(component));
       parent.getGroup().getChildren().add(component.getGroup());
     }
   }
   stage.getController().getCenterRoot().getChildren().add(parentTreeItem);
   stage.getController().getPane().getChildren().add(parent.getGroup());
 }
예제 #2
0
 /**
  * Build the components and its children in this recursive array.
  *
  * @param parent The parent component.
  * @param components The child component list.
  */
 public void build(Component parent, List<Component> components) {
   if (parent.getDefinition().getParentId() != -1) {
     components
         .stream()
         .filter(
             component ->
                 component.getDefinition().getFullWidgetId()
                     == parent.getDefinition().getParentId())
         .forEach(
             component -> {
               component.add(parent);
               build(component, parent.getList());
             });
   }
 }