[jbosstools-commits] JBoss Tools SVN: r17536 - trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Sep 11 20:37:39 EDT 2009


Author: akazakov
Date: 2009-09-11 20:37:39 -0400 (Fri, 11 Sep 2009)
New Revision: 17536

Added:
   trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/FacetNameProposalType.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-3875

Added: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/FacetNameProposalType.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/FacetNameProposalType.java	                        (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/FacetNameProposalType.java	2009-09-12 00:37:39 UTC (rev 17536)
@@ -0,0 +1,82 @@
+/******************************************************************************* 
+ * Copyright (c) 2009 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is 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: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/ 
+package org.jboss.tools.jst.web.kb.internal.taglib;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.common.text.TextProposal;
+import org.jboss.tools.jst.web.kb.IPageContext;
+import org.jboss.tools.jst.web.kb.KbQuery;
+import org.jboss.tools.jst.web.kb.PageProcessor;
+import org.jboss.tools.jst.web.kb.WebKbPlugin;
+import org.jboss.tools.jst.web.kb.taglib.IFaceletTagLibrary;
+import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class FacetNameProposalType extends CustomProposalType {
+
+	private static final String IMAGE_NAME = "EnumerationProposal.gif"; //$NON-NLS-1$
+	private static Image ICON;
+
+	private IPageContext context;
+
+	/* (non-Javadoc)
+	 * @see org.jboss.tools.jst.web.kb.internal.taglib.CustomProposalType#getProposals(org.jboss.tools.jst.web.kb.KbQuery)
+	 */
+	@Override
+	public TextProposal[] getProposals(KbQuery query) {
+		String[] parentTags = query.getParentTags();
+		if(parentTags.length>1) {
+			String parentTag = parentTags[parentTags.length-2];
+			if(parentTag.contains(":")) { //$NON-NLS-1$
+				KbQuery newQuery = new KbQuery();
+				newQuery.setMask(false);
+				newQuery.setType(KbQuery.Type.TAG_NAME);
+				newQuery.setValue(parentTag);
+				PageProcessor.getInstance().getComponents(query, context);
+				ITagLibrary[] libs = context.getLibraries();
+				for (ITagLibrary l : libs) {
+					if(l instanceof IFaceletTagLibrary) {
+						//TODO
+					}
+				}
+			}
+		}
+		List<String> facetNames = new ArrayList<String>();
+		List<TextProposal> proposals = new ArrayList<TextProposal>();
+		for (String facetName : facetNames) {
+			if(facetName.startsWith(query.getValue())) {
+				TextProposal proposal = new TextProposal();
+				proposal.setLabel(facetName);
+				proposal.setReplacementString(facetName);
+				proposal.setPosition(facetName.length());
+				if(ICON==null) {
+					ICON = ImageDescriptor.createFromFile(WebKbPlugin.class, IMAGE_NAME).createImage();
+				}
+				proposals.add(proposal);
+			}
+		}
+		return proposals.toArray(new TextProposal[0]);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.tools.jst.web.kb.internal.taglib.CustomProposalType#init(org.jboss.tools.jst.web.kb.IPageContext)
+	 */
+	@Override
+	protected void init(IPageContext context) {
+		this.context = context;
+	}
+}
\ No newline at end of file


Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/FacetNameProposalType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain



More information about the jbosstools-commits mailing list