/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.ext.java.client.navigation.node; import elemental.html.SpanElement; import com.google.gwt.dom.client.Element; import org.eclipse.che.ide.api.data.tree.AbstractTreeNode; import org.eclipse.che.ide.ext.java.client.JavaResources; import org.eclipse.che.ide.ui.smartTree.presentation.HasPresentation; import org.eclipse.che.ide.ui.smartTree.presentation.NodePresentation; import org.eclipse.che.ide.util.dom.Elements; /** * Abstract tree node for the navigation tree. * * @author Valeriy Svydenko */ public abstract class AbstractPresentationNode extends AbstractTreeNode implements HasPresentation { private NodePresentation nodePresentation; /** {@inheritDoc} */ @Override public NodePresentation getPresentation(boolean update) { if (nodePresentation == null) { nodePresentation = new NodePresentation(); updatePresentation(nodePresentation); } if (update) { updatePresentation(nodePresentation); } return nodePresentation; } /** * Update presentation name for the node. * * @param isFromSuper * <code>true</code> if a member is inherited * @param presentation * node presentation * @param presentableName * name * @param resources * project resources */ public void updatePresentationField(boolean isFromSuper, NodePresentation presentation, String presentableName, JavaResources resources) { if (isFromSuper) { SpanElement highlightElement = Elements.createSpanElement(resources.css().disableTextColor()); highlightElement.setInnerText(presentableName); presentation.setUserElement((Element)highlightElement); } else { presentation.setPresentableText(presentableName); } } }