Package org.eclipse.e4.ui.model.application.ui

Examples of org.eclipse.e4.ui.model.application.ui.MUIElement


      return;
    }
   
    if (element instanceof MPlaceholder && element.getWidget() != null) {
      MPlaceholder ph = (MPlaceholder) element;
      MUIElement ref = ph.getRef();
     
      if( ref.getCurSharedRef() != ph ) {
        ref.setCurSharedRef(ph);
        WPlaceholderWidget placeholder = (WPlaceholderWidget) ph.getWidget();
        @SuppressWarnings("unchecked")
        WLayoutedWidget<MUIElement> content = (WLayoutedWidget<MUIElement>) ref.getWidget();
        placeholder.setContent(content);
      }
     
      element = ref;
    }
View Full Code Here


        //TODO Should we skip none attribute changes???
        if( ! UIEvents.isSET(event) ) {
          return;
        }
       
        MUIElement e = (MUIElement) changedObj;
        // There is already a modification in process
        if( inContextModification(e) ) {
          return;
        }
       
        try {
          contextModification.put(e,Boolean.TRUE);
         
          if( changedObj instanceof MUIElement ) {
            if( e.getRenderer() == BaseRenderer.this ) {
              IEclipseContext ctx = (IEclipseContext) e.getTransientData().get(RENDERING_CONTEXT_KEY);
              if( ctx != null ) {
                if( attributeName.equals(UIEvents.ApplicationElement.PERSISTEDSTATE) && newValue instanceof Entry  ) {
                  @SuppressWarnings("unchecked")
                  Entry<String,String> entry = (Entry<String, String>) newValue;
                  ctx.set(attributeName+"_"+entry.getKey(), entry.getValue());
View Full Code Here

 
  @Override
  protected void initWidget(MPlaceholder element, WPlaceholderWidget widget) {
    super.initWidget(element, widget);
   
    MUIElement ref = element.getRef();
    ref.setCurSharedRef(element);
   
    Set<MPlaceholder> set = getRenderedPlaceholders(ref);
    if( ! set.contains(element) ) {
      set.add(element);
    }
   
    @SuppressWarnings("unchecked")
    WLayoutedWidget<MUIElement> refWidget = (WLayoutedWidget<MUIElement>) ref.getWidget();
    if( refWidget == null ) {
      ref.setToBeRendered(true);
      refWidget = engineCreateWidget(ref,getContextForParent(ref));
    }
   
    widget.setContent(refWidget);
   
View Full Code Here

    }
  }
 
  @Override
  public void destroyWidget(MPlaceholder element) {
    MUIElement refElement = element.getRef();
   
    Set<MPlaceholder> set = renderedMap.get(refElement);
    if( set == null || ! set.remove(element) ) {
//      super.destroyWidget(element);
//      return;
    }
   
    // Last reference removed so we can destroy it
    if( set.isEmpty() ) {
      if (refElement instanceof MPart) {
        MPart thePart = (MPart) refElement;
        String imageURI = thePart.getIconURI();
        thePart.setIconURI(null);
        thePart.setIconURI(imageURI);
      }
      getPresentationEngine().removeGui(refElement);
    } else {
      IEclipseContext curContext = modelService.getContainingContext(element);
      MPlaceholder currentRef = refElement.getCurSharedRef();
      IEclipseContext newParentContext = modelService
          .getContainingContext(currentRef);
      List<MContext> allContexts = modelService.findElements(
          refElement, null, MContext.class, null);
      for (MContext ctxtElement : allContexts) {
View Full Code Here

          MPerspectiveStack parent = (MPerspectiveStack) changedObj;
          if (BasePerspectiveStackRenderer.this == parent.getRenderer()) {
            String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);

            if (UIEvents.EventTypes.ADD.equals(eventType)) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
              handleChildAddition(parent, (MPerspective) element);
            } else if (UIEvents.EventTypes.REMOVE.equals(eventType)) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
              handleChildRemove(parent, (MPerspective) element);
            }
          }
        }
      }
    });
    eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_SELECTEDELEMENT, new EventHandler() {

      @Override
      public void handleEvent(Event event) {
        Object changedObj = event.getProperty(UIEvents.EventTags.ELEMENT);
        if (changedObj instanceof MPerspectiveStack) {
          MPerspectiveStack parent = (MPerspectiveStack) changedObj;
          if (BasePerspectiveStackRenderer.this == parent.getRenderer()) {
            String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
            if (UIEvents.EventTypes.SET.equals(eventType)) {
              MUIElement newValue = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
              MUIElement oldValue = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
              handleSelectedElement(parent, (MPerspective) oldValue, (MPerspective) newValue);
            }
          }
        }
      }
    });
    eventBroker.subscribe(UIEvents.UIElement.TOPIC_VISIBLE, new EventHandler() {

      @Override
      public void handleEvent(Event event) {
        MUIElement changedObj = (MUIElement) event.getProperty(UIEvents.EventTags.ELEMENT);
        if (changedObj.isToBeRendered()) {
          MUIElement parent = changedObj.getParent();
          // Can be null for e.g. detached windows!!!
          if( parent != null ) {
            if (BasePerspectiveStackRenderer.this == parent.getRenderer()) {
              MPerspectiveStack stack = (MPerspectiveStack) parent;
              String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
              if (UIEvents.EventTypes.SET.equals(eventType)) {
                Boolean newValue = (Boolean) event.getProperty(UIEvents.EventTags.NEW_VALUE);
                if (newValue.booleanValue()) {
View Full Code Here

    }
   
    if (element instanceof MGenericStack<?>) {
      // For stacks only the currently selected elements are being hidden
      MGenericStack<?> container = (MGenericStack<?>) element;
      MUIElement curSel = container.getSelectedElement();
      hideElementRecursive(curSel);
    } else if (element instanceof MElementContainer<?>) {
      MElementContainer<?> container = (MElementContainer<?>) element;
      for (MUIElement childElement : container.getChildren()) {
        hideElementRecursive(childElement);
View Full Code Here

      return;
    }

    if (element instanceof MPlaceholder && element.getWidget() != null) {
      MPlaceholder ph = (MPlaceholder) element;
      MUIElement ref = ph.getRef();

      if (ref.getCurSharedRef() != ph) {
        ref.setCurSharedRef(ph);
        WPlaceholderWidget placeholder = (WPlaceholderWidget) ph.getWidget();
        @SuppressWarnings("unchecked")
        WLayoutedWidget<MUIElement> content = (WLayoutedWidget<MUIElement>) ref.getWidget();
        placeholder.setContent(content);
      }

      element = ref;
    }

    if (element instanceof MContext) {
      IEclipseContext context = ((MContext) element).getContext();
      if (context != null) {
        IEclipseContext newParentContext = modelService.getContainingContext(element);
        if (context.getParent() != newParentContext) {
          context.setParent(newParentContext);
        }
      }
    }

    if (element instanceof MWindow && element.getWidget() != null) {
      int visCount = 0;
      for (MUIElement kid : ((MWindow) element).getChildren()) {
        if (kid.isToBeRendered() && kid.isVisible())
          visCount++;
      }
      if (visCount > 0)
        element.setVisible(true);
    }
   
    if (element instanceof MGenericStack) {
      MGenericStack<?> container = (MGenericStack<?>) element;
      MUIElement curSel = container.getSelectedElement();
      if (curSel == null && container.getChildren().size() > 0) {
        curSel = container.getChildren().get(0);
      }
      if (curSel != null) {
        showElementRecursive(curSel);
View Full Code Here

          MPartSashContainer parent = (MPartSashContainer) changedObj;
          if (BaseSashRenderer.this == parent.getRenderer()) {
            String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
           
            if (UIEvents.EventTypes.ADD.equals(eventType)) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
              handleChildAddition(parent, (MPartSashContainerElement) element);
            } else if (UIEvents.EventTypes.REMOVE.equals(eventType)) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
              handleChildRemove(parent, (MPartSashContainerElement) element);
            }
          }
        }
      }
    });
    eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_SELECTEDELEMENT, new EventHandler() {

      @Override
      public void handleEvent(Event event) {
        Object changedObj = event.getProperty(UIEvents.EventTags.ELEMENT);
        if (changedObj instanceof MPartSashContainer) {
          MPartSashContainer parent = (MPartSashContainer) changedObj;
          if (BaseSashRenderer.this == parent.getRenderer()) {
            String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
            if (UIEvents.EventTypes.SET.equals(eventType)) {
              MUIElement newValue = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
              MUIElement oldValue = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
              handleSelectedElement(parent, (MPartSashContainerElement) oldValue, (MPartSashContainerElement) newValue);
            }
          }
        }
      }
    });
    eventBroker.subscribe(UIEvents.UIElement.TOPIC_VISIBLE, new EventHandler() {

      @Override
      public void handleEvent(Event event) {
        MUIElement changedObj = (MUIElement) event.getProperty(UIEvents.EventTags.ELEMENT);
        if (changedObj.isToBeRendered()) {
          MUIElement parent = changedObj.getParent();
          if( parent != null ) {
            if (BaseSashRenderer.this == parent.getRenderer()) {
              MPartSashContainer stack = (MPartSashContainer) parent;
              String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
              if (UIEvents.EventTypes.SET.equals(eventType)) {
                Boolean newValue = (Boolean) event.getProperty(UIEvents.EventTags.NEW_VALUE);
                if (newValue.booleanValue()) {
View Full Code Here

        if( changedObj instanceof MPerspective ) {
          MPerspective perspective = (MPerspective) changedObj;
          if( BasePerspectiveRenderer.this == perspective.getRenderer() ) {
            String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
            if( UIEvents.EventTypes.ADD.equals(eventType) ) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
              if( element instanceof MWindow ) {
                handleWindowAdd((MWindow) element);
              } else if( element instanceof MPartSashContainerElement ) {
                handleChildAdd((MPartSashContainerElement) element);
              } else {
                logger.error("ERROR: Unhandled child addition: " + element);
              }
            } else if( UIEvents.EventTypes.REMOVE.equals(eventType) ) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
              if( element instanceof MWindow ) {
                handleWindowRemove((MWindow) element);
              } else if( element instanceof MPartSashContainerElement ) {
                handleChildRemove((MPartSashContainerElement) element);
              } else {
View Full Code Here

          MArea parent = (MArea) changedObj;
          if (BaseAreaRenderer.this == parent.getRenderer()) {
            String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
           
            if (UIEvents.EventTypes.ADD.equals(eventType)) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
              handleChildAddition(parent, (MPartSashContainerElement) element);
            } else if (UIEvents.EventTypes.REMOVE.equals(eventType)) {
              MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
              handleChildRemove(parent, (MPartSashContainerElement) element);
            }
          }
        }
      }
    });
    eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_SELECTEDELEMENT, new EventHandler() {

      @Override
      public void handleEvent(Event event) {
        Object changedObj = event.getProperty(UIEvents.EventTags.ELEMENT);
        if (changedObj instanceof MArea) {
          MArea parent = (MArea) changedObj;
          if (BaseAreaRenderer.this == parent.getRenderer()) {
            String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
            if (UIEvents.EventTypes.SET.equals(eventType)) {
              MUIElement newValue = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
              MUIElement oldValue = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
              handleSelectedElement(parent, (MPartSashContainerElement) oldValue, (MPartSashContainerElement) newValue);
            }
          }
        }
      }
    });
    eventBroker.subscribe(UIEvents.UIElement.TOPIC_VISIBLE, new EventHandler() {

      @Override
      public void handleEvent(Event event) {
        MUIElement changedObj = (MUIElement) event.getProperty(UIEvents.EventTags.ELEMENT);
        if (changedObj.isToBeRendered()) {
          MUIElement parent = changedObj.getParent();
          if( parent != null ) {
            if (BaseAreaRenderer.this == parent.getRenderer()) {
              MArea stack = (MArea) parent;
              String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
              if (UIEvents.EventTypes.SET.equals(eventType)) {
                Boolean newValue = (Boolean) event.getProperty(UIEvents.EventTags.NEW_VALUE);
                if (newValue.booleanValue()) {
View Full Code Here

TOP

Related Classes of org.eclipse.e4.ui.model.application.ui.MUIElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.