public EngineDescriptor findEngine(String engineId) { for (int i=0; i<descriptors.size(); i++) { EngineDescriptor desc = (EngineDescriptor)descriptors.get(i); if (desc.getId().equals(engineId)) return desc; } return null; }
public EnginePreferenceNode(EngineDescriptor desc) { super(desc.getId(), desc.getLabel(), desc.getImageDescriptor(), null); this.desc = desc; } public EngineDescriptor getDescriptor() {
public String computeNewId(String typeId) { ArrayList used = new ArrayList(); for (int i=0; i<descriptors.size(); i++) { EngineDescriptor ed = (EngineDescriptor)descriptors.get(i); if (!ed.isUserDefined()) continue; String edTypeId = ed.getEngineTypeId(); if (typeId.equals(edTypeId)) { String edId = ed.getId(); int loc = edId.lastIndexOf('.'); if (loc!= -1) { String cvalue = edId.substring(loc+1); int ivalue = Integer.parseInt(cvalue); used.add(new Integer(ivalue)); } } } for (int i=1; i<Integer.MAX_VALUE; i++) { if (!isUsed(i, used)) { return typeId+"."+"user."+i; //$NON-NLS-1$ //$NON-NLS-2$ } } return typeId; }
public ISearchScope createSearchScope(IPreferenceStore store) { return etdesc.createSearchScope(store, getId(), getParameters()); }
public void setEngineEnabled(EngineDescriptor desc, boolean value) { IPreferenceStore store = getPreferenceStore(); String key = getMasterKey(desc.getId()); store.setValue(key, value); } public static String getMasterKey(String id) {
private void save(PrintWriter writer, EngineDescriptor desc) { String indent = " "; //$NON-NLS-1$ String attIndent = indent + indent; writer.print(indent); writer.println("<engine "); //$NON-NLS-1$ saveAttribute(writer, attIndent, "id", desc.getId()); //$NON-NLS-1$ saveAttribute(writer, attIndent, ATT_ENGINE_TYPE_ID, desc.getEngineTypeId()); saveAttribute(writer, attIndent, ATT_LABEL, desc.getLabel()); writer.println(">"); //$NON-NLS-1$ saveDescription(writer, indent+indent, desc.getDescription()); writer.print(indent); writer.println("</engine>"); //$NON-NLS-1$ }
public boolean getEngineEnabled(EngineDescriptor desc) { IPreferenceStore store = getPreferenceStore(); String key = getMasterKey(desc.getId()); if (store.contains(key)) return store.getBoolean(key); store.setValue(key, desc.isEnabled()); return desc.isEnabled(); } public void setEngineEnabled(EngineDescriptor desc, boolean value) {
int bindent = part.getShowCategories() && cat != null ? 5 : 0; buff.append("<li indent=\"" + indent + "\" bindent=\"" + bindent + "\" style=\"image\" value=\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ String imageId = desc.getId(); boolean isPotentialHit = (hit instanceof SearchHit && ((SearchHit)hit).isPotentialHit()); if (hit instanceof ISearchEngineResult2) { ISearchEngineResult2 hit2 = (ISearchEngineResult2)hit; if (((ISearchEngineResult2)hit).canOpen()) { href = "open:"+desc.getId()+"?id="+hit2.getId(); //$NON-NLS-1$ //$NON-NLS-2$
if (set.getEngineEnabled(ed) && ed.getEngine() != null) { ISearchScope scope = ed.createSearchScope(set.getPreferenceStore()); FederatedSearchEntry entry = new FederatedSearchEntry(ed.getId(), ed.getLabel(), scope, ed .getEngine(), new ISearchEngineResultCollector() {
searchResults.setImage(ISharedImages.IMG_OBJS_ERROR_TSK, PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_OBJS_ERROR_TSK)); searchResults.setImage(desc.getId(), desc.getIconImage()); searchResults.setImage(KEY_PREFIX_GRAYED + desc.getId(), getGrayedImage(desc.getIconImage())); searchResults.addHyperlinkListener(new IHyperlinkListener() {