| /******************************************************************************* |
| * Copyright (c) 2005, 2017 IBM Corporation and others. |
| * 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 |
| * |
| *******************************************************************************/ |
| package org.eclipse.dltk.tcl.internal.ui.navigation; |
| |
| import org.eclipse.dltk.core.IField; |
| import org.eclipse.dltk.core.IMethod; |
| import org.eclipse.dltk.core.IModelElement; |
| import org.eclipse.dltk.core.IParent; |
| import org.eclipse.dltk.core.IType; |
| |
| public class FunctionsView extends ElementsView { |
| // TODO: Remove into preferences |
| private boolean processNamespaceMethods = false; |
| |
| @Override |
| public String getElementName(Object element) { |
| if (element instanceof IMethod) { |
| String buffer = ""; |
| IModelElement el = (IModelElement) element; |
| while (el != null) { |
| String str = getOriginalElementText(el); |
| if (str.startsWith("::")) { |
| buffer = str + buffer; |
| } else { |
| buffer = "::" + str + buffer; |
| } |
| if (el instanceof IParent) { |
| IModelElement parent = el.getParent(); |
| if (parent instanceof IType) { |
| el = parent; |
| } else { |
| el = null; |
| } |
| } else { |
| el = null; |
| } |
| } |
| String from = ((IMethod) element) |
| .getAncestor(IModelElement.SCRIPT_FOLDER).getElementName(); |
| if (from.length() > 0) { |
| return buffer + " (" + from + ")"; |
| } |
| return buffer; |
| } |
| return null; |
| } |
| |
| @Override |
| public String getJobTitle() { |
| return "Functions view search..."; |
| } |
| |
| @Override |
| public boolean isElement(IModelElement e) { |
| return e instanceof IMethod; |
| } |
| |
| @Override |
| public boolean needProcessChildren(IModelElement e) { |
| if (e instanceof IType) { |
| return processNamespaceMethods; |
| } else if (e instanceof IMethod || e instanceof IField) { |
| return false; |
| } |
| return true; |
| } |
| |
| @Override |
| protected String getPreferencesId() { |
| return "FunctionsView_"; |
| } |
| } |