@Override public void addStandaloneViewPlaceholder(String viewId, int relationship, float ratio, String refId, boolean showTitle) { MUIElement newElement = insertView(viewId, relationship, ratio, refId, false, showTitle); if (newElement instanceof MPartStack) { MPartStack stack = (MPartStack) newElement; stack.getTags().add(IPresentationEngine.STANDALONE); stack.getChildren().get(0).getTags().add(IPresentationEngine.NO_MOVE); } else { newElement.getTags().add(IPresentationEngine.STANDALONE); } }
private boolean hasRenderableContent(MPartStack stack) { for (MStackElement child : stack.getChildren()) { if (child.isVisible() && child.isToBeRendered()) { return true; } } return false; }
private List<MStackElement> getRenderedViews(MPartStack stack) { List<MStackElement> renderedViews = new ArrayList<>(); for (MStackElement element : stack.getChildren()) { if (element.isToBeRendered()) { renderedViews.add(element); } } return renderedViews; }
if (elementIndex == -1 && !dragElement.getTags().contains("Editor")) { //$NON-NLS-1$ for (MStackElement stackElement : dropChildren) { String id = stackElement.getElementId(); if (id != null && id.equals(dragElement.getElementId())) { viewWithSameId = stackElement;
if( b == null || ! b.booleanValue() ) { for (MStackElement element : list) { if (element.getTags().contains(EPartService.REMOVE_ON_HIDE_TAG)) { removeOnHideList.add(element); if( ! element.getTransientData().containsKey(MAP_MOVE) ) { element.getTransientData().remove(MAP_ITEM_KEY);
private void populatePartStack(MPartStack stack, InfoReader info) { for (PageReader page : info.getPages()) { addPlaceholderToStack(stack, page.getId(), page.getLabel()); } MStackElement selectedElement = (MStackElement) modelService.find(info.getActivePageId(), stack); if (selectedElement != null) { selectedElement.setToBeRendered(true); selectedElement.setVisible(true); } stack.setSelectedElement(selectedElement); // restore order of views in the stacks List<MStackElement> renderedViews = getRenderedViews(stack); if (renderedViews.size() < 2) { return; } int[] partOrder = info.getPartOrder(); List<MStackElement> stackChildren = stack.getChildren(); // unexpected situation - don't order if (partOrder == null || partOrder.length != renderedViews.size()) { return; } List<MStackElement> originalOrder = new ArrayList<>(renderedViews); stackChildren.clear(); for (int element : partOrder) { stackChildren.add(originalOrder.get(element)); } originalOrder.removeAll(stackChildren); stackChildren.addAll(originalOrder); }
WStackItem<I, IC> item = (WStackItem<I, IC>) element.getTransientData().get(MAP_ITEM_KEY); if( item == null || ! widget.getStackItemClass().isAssignableFrom(item.getClass()) ) { item = createStackItem(widget, element, renderer);
@Override public void addView(String viewId) { MStackElement viewModel = ModeledPageLayout.createViewModel(application, viewId, true, layout.page, layout.partService, layout.createReferences); if (viewModel != null) { // adding a non-placeholder to this folder, make sure the folder // will be rendered MUIElement parent = folderModel.getParent(); while (parent != null && !(parent instanceof MPerspective)) { parent.setToBeRendered(true); parent = parent.getParent(); } folderModel.setToBeRendered(true); boolean isFiltered = layout.isViewFiltered(viewId); if (isFiltered) layout.addViewActivator(viewModel); viewModel.setToBeRendered(!isFiltered); folderModel.getChildren().add(viewModel); } } }
if (part.getCurSharedRef() != null) sElement = part.getCurSharedRef(); MUIElement parentElement = sElement.getParent(); if (parentElement instanceof MPartStack) { MPartStack partStack = (MPartStack) parentElement;
@NonNull private List<@NonNull WStackItem<I, IC>> transmuteList(WStack<N, I, IC> parentWidget, ArrayList<MStackElement> list) { ArrayList<@NonNull WStackItem<I, IC>> resultList = new ArrayList<>(); for (WStackItem<I, IC> item : parentWidget.getItems()) { MStackElement domElement = item.getDomElement(); if (domElement != null && list.contains(domElement) && (domElement.isToBeRendered()) && (isChildRenderedAndVisible(domElement))) { resultList.add(item); } } return resultList; }
if (selectedItem instanceof MStackElement) { EPartService partService = page.getWorkbenchWindow().getService(EPartService.class); partService.showPart(((MStackElement) selectedItem).getElementId(), PartState.ACTIVATE);
IEclipseContext context = renderer.setupRenderingContext(e); WStackItem<I, IC> item = ContextInjectionFactory.make(stack.getStackItemClass(), context); e.getTransientData().put(MAP_ITEM_KEY, item); if( item == null ) { throw new IllegalStateException("The item must not be null"); //$NON-NLS-1$
if (viewModel.isToBeRendered()) {
if (selectedItem instanceof MStackElement) { EPartService partService = page.getWorkbenchWindow().getService(EPartService.class); partService.showPart(((MStackElement) selectedItem).getElementId(), PartState.ACTIVATE);
@Override public void addStandaloneView(String viewId, boolean showTitle, int relationship, float ratio, String refId) { MUIElement newElement = insertView(viewId, relationship, ratio, refId, true, showTitle); if (newElement instanceof MPartStack) { MPartStack stack = (MPartStack) newElement; stack.getTags().add(IPresentationEngine.STANDALONE); stack.getChildren().get(0).getTags().add(IPresentationEngine.NO_MOVE); } else { newElement.getTags().add(IPresentationEngine.STANDALONE); } }