private void addChild(int position, DockingSplitPaneChildBase child) { child.setParentSplitPane(DockingSplitPane.this); PositionableAdapter<DockingSplitPaneChildBase> positionableChild = new PositionableAdapter<>(child, position); int insertionPoint = Positionables.getInsertionPoint(positionableChildren, positionableChild); positionableChildren.add(insertionPoint, positionableChild); dockingSplitPaneChildren.add(insertionPoint, child); }
public boolean addDockable(PositionableAdapter<FXDockableEntry> dockable) { if (!dockableSet.contains(dockable.getAdapted())) { dockableSet.add(dockable.getAdapted()); int insertionPoint = Positionables.getInsertionPoint(dockables, dockable); dockables.add(insertionPoint, dockable); return true; } else { return false; } }
private void removeDockingAreaOnly(PositionableAdapter<DockingAreaPane> dockingArea) { areaPanes.remove(dockingArea.getPosition()); areaIdsToAreaPaneMap.remove(dockingArea.getAdapted().getAreaId()); removeChild(dockingArea); dockingArea.getAdapted().setVisualized(false); }
private Optional<Integer> getSeparatorInsertionPoint(int insertionPoint, ObservableList<Node> entries, List<PositionableAdapter<? extends Node>> elements, PositionableAdapter<? extends Node> statusBarElementAdapter) { if (insertionPoint < elements.size() - 1 && ((elements.get(insertionPoint + 1).getPosition() / SEPARATOR_STEPS) - (statusBarElementAdapter.getPosition() / SEPARATOR_STEPS)) >= 1 && !(entries.get(insertionPoint + 1) instanceof Separator)) { return Optional.of(insertionPoint + 1); } if (insertionPoint > 0 && ((statusBarElementAdapter.getPosition() / SEPARATOR_STEPS) - (elements.get(insertionPoint - 1).getPosition() / SEPARATOR_STEPS)) >= 1 && !(entries.get(insertionPoint - 1) instanceof Separator)) { return Optional.of(insertionPoint); } return Optional.empty(); }
private void removeDockingArea(PositionableAdapter<DockingAreaPane> dockingArea, List<DockingAreaPane> removedAreaPanes) { removeDockingAreaOnly(dockingArea); removedAreaPanes.add(dockingArea.getAdapted()); }
private void addChild(int position, DockingSplitPaneChildBase child) { child.setParentSplitPane(DockingSplitPane.this); PositionableAdapter<DockingSplitPaneChildBase> positionableChild = new PositionableAdapter<>(child, position); int insertionPoint = Positionables.getInsertionPoint(positionableChildren, positionableChild); positionableChildren.add(insertionPoint, positionableChild); dockingSplitPaneChildren.add(insertionPoint, child); }
private void removeDockingAreaOnly(PositionableAdapter<DockingAreaPane> dockingArea) { areaPanes.remove(dockingArea.getPosition()); areaIdsToAreaPaneMap.remove(dockingArea.getAdapted().getAreaId()); removeChild(dockingArea); dockingArea.getAdapted().setVisualized(false); }
public PositionableAdapter<FXDockableEntry> removeDockable(int index) { PositionableAdapter<FXDockableEntry> dockable = dockables.remove(index); dockableSet.remove(dockable.getAdapted()); return dockable; }
private void addDockingArea(int position, DockingAreaPane dockingArea) { PositionableAdapter<DockingAreaPane> dockingAreaAdapter = new PositionableAdapter<>(dockingArea, position); // TODO: handle situatation if another child has the same position areaPanes.put(position, dockingAreaAdapter); areaIdsToAreaPaneMap.put(dockingArea.getAreaId(), dockingAreaAdapter); addChild(position, dockingArea); dockingArea.setVisualized(true); // System.out.println(DockingSplitPane.class.getName() + ": added docking area: " + dockingArea.getAreaId()); }
public PositionableAdapter<FXDockableEntry> removeDockable(int index) { PositionableAdapter<FXDockableEntry> dockable = dockables.remove(index); dockableSet.remove(dockable.getAdapted()); return dockable; }
private void addDockingArea(int position, DockingAreaPane dockingArea) { PositionableAdapter<DockingAreaPane> dockingAreaAdapter = new PositionableAdapter<>(dockingArea, position); // TODO: handle situatation if another child has the same position areaPanes.put(position, dockingAreaAdapter); areaIdsToAreaPaneMap.put(dockingArea.getAreaId(), dockingAreaAdapter); addChild(position, dockingArea); dockingArea.setVisualized(true); // System.out.println(DockingSplitPane.class.getName() + ": added docking area: " + dockingArea.getAreaId()); }
private void removeDockingArea(PositionableAdapter<DockingAreaPane> dockingArea, List<DockingAreaPane> removedAreaPanes) { removeDockingAreaOnly(dockingArea); removedAreaPanes.add(dockingArea.getAdapted()); }
private void removeSplitPane(DockingSplitPane splitPane) { splitPanes.remove(splitPane.getPosition()); removeChild(new PositionableAdapter<>(splitPane, splitPane.getPosition())); }
public boolean addDockable(PositionableAdapter<FXDockableEntry> dockable) { if (!containsDockable(dockable.getAdapted())) { dockableSet.add(dockable.getAdapted()); int insertionPoint = Positionables.getInsertionPoint(dockables, dockable); dockables.add(insertionPoint, dockable); return true; } else { return false; } }
private void removeSplitPane(DockingSplitPane splitPane) { splitPanes.remove(splitPane.getPosition()); removeChild(new PositionableAdapter<>(splitPane, splitPane.getPosition())); }
public static void invokeAnnotatedDockableMethod( PositionableAdapter<? extends DockableEntry<?, ?>> positionableDockableEntry, Class<? extends Annotation> annotationType) { if (positionableDockableEntry != null && positionableDockableEntry.getAdapted() != null && positionableDockableEntry. getAdapted().getDockable() != null) { Object dockable = positionableDockableEntry.getAdapted().getDockable(); try { invokeAnnotatedDeclaredMethod(dockable, annotationType); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { LOG.error(ex.getMessage(), ex); } } }
private void registerStatusBarElementInitialized(StatusBarElementDescriptor<? extends T> statusBarElementDescriptor) { applicationThreadExecutorProvider.getApplicationThreadExecutor().execute(() -> { try { T statusBarElement = createStatusBarElement(statusBarElementDescriptor); PositionableAdapter<? extends T> positionableStatusBarElement = new PositionableAdapter<>(statusBarElement, statusBarElementDescriptor.getPosition()); StatusBarElementContainer statusBarElementContainer = statusBarElementContainerProvider.getStatusBarElementContainer(); HorizontalAlignment horizontalAlignment = statusBarElementDescriptor.getHorizontalAlignment().orient(statusBarElementContainer.isLeftToRight(), statusBarElementContainer.isMirroringEnabled()); addStatusBarElement(statusBarElementContainer, positionableStatusBarElement, horizontalAlignment); } catch (InstantiationException | IllegalAccessException ex) { LOG.error(ex.getMessage(), ex); } }); }
private void addStatusBarElement(ObservableList<Node> entries, List<PositionableAdapter<? extends Node>> elements, PositionableAdapter<? extends Node> statusBarElementAdapter) { int insertionPoint = Positionables.getInsertionPoint(elements, statusBarElementAdapter); entries.add(insertionPoint, statusBarElementAdapter.getAdapted()); elements.add(insertionPoint, statusBarElementAdapter); Optional<Integer> separatorInsertionPoint = getSeparatorInsertionPoint(insertionPoint, entries, elements, statusBarElementAdapter); if (separatorInsertionPoint != null && separatorInsertionPoint.isPresent()) { entries.add(separatorInsertionPoint.get(), new Separator(Orientation.VERTICAL)); } }
private void addDockable(FXDockableEntry dockableEntry) { DockingAreaPane dockingArea = getDockingArea(dockableEntry.getDockablePreferences().getAreaId()); if (dockingArea != null) { // TODO: needed? dockingArea.addDockable(new PositionableAdapter<>(dockableEntry, dockableEntry.getDockablePreferences().getPosition())); // this.control.setActiveDockable(dockableEntry.getDockable()); LOG.debug("Dockable '{}' added to the Docking Area '{}'.", dockableEntry.getDockableData().getTitle(), dockableEntry.getDockablePreferences().getAreaId()); } }
private void removeDockables(List<? extends PositionableAdapter<FXDockableEntry>> dockableEntries) { dockableEntries.forEach(dockablePane -> control.removeDockable(dockablePane.getAdapted().getDockable())); }