1) Moved net.sourceforge.phpeclipse.ui\src\net\sourceforge\phpdt back to net.sourcefo...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / corext / template / php / HTMLContextType.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/HTMLContextType.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/HTMLContextType.java
new file mode 100644 (file)
index 0000000..b187c3d
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+package net.sourceforge.phpdt.internal.corext.template.php;
+
+// import net.sourceforge.phpdt.core.ICompilationUnit;
+
+import net.sourceforge.phpdt.core.ICompilationUnit;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.templates.GlobalTemplateVariables;
+import org.eclipse.jface.text.templates.TemplateException;
+import org.eclipse.jface.text.templates.TemplateVariable;
+
+/**
+ * A context type for javadoc.
+ */
+public class HTMLContextType extends CompilationUnitContextType {
+
+       /**
+        * Creates a java context type.
+        */
+       public HTMLContextType() {
+               super("html"); //$NON-NLS-1$
+
+               // global
+               addResolver(new GlobalTemplateVariables.Cursor());
+               addResolver(new GlobalTemplateVariables.WordSelection());
+               addResolver(new GlobalTemplateVariables.LineSelection());
+               addResolver(new GlobalTemplateVariables.Dollar());
+               addResolver(new GlobalTemplateVariables.Date());
+               addResolver(new GlobalTemplateVariables.Year());
+               addResolver(new GlobalTemplateVariables.Time());
+               addResolver(new GlobalTemplateVariables.User());
+
+               addResolver(new File());
+       }
+
+       /*
+        * @see ContextType#createContext()
+        */
+       public CompilationUnitContext createContext(IDocument document, int offset,
+                       int length, ICompilationUnit compilationUnit) {
+               return new HTMLUnitContext(this, document, offset, length,
+                               compilationUnit);
+       }
+
+       /*
+        * (non-Javadoc)
+        * 
+        * @see net.sourceforge.phpdt.internal.corext.template.java.CompilationUnitContextType#createContext(org.eclipse.jface.text.IDocument,
+        *      int, int, net.sourceforge.phpdt.core.ICompilationUnit)
+        */
+       // public CompilationUnitContext createContext(IDocument document, int
+       // offset, int length, ICompilationUnit compilationUnit) {
+       // return new JavaDocContext(this, document, offset, length,
+       // compilationUnit);
+       // }
+       /*
+        * (non-Javadoc)
+        * 
+        * @see net.sourceforge.phpdt.internal.corext.template.ContextType#validateVariables(net.sourceforge.phpdt.internal.corext.template.TemplateVariable[])
+        */
+       protected void validateVariables(TemplateVariable[] variables)
+                       throws TemplateException {
+               // check for multiple cursor variables
+               for (int i = 0; i < variables.length; i++) {
+                       TemplateVariable var = variables[i];
+                       if (var.getType().equals(GlobalTemplateVariables.Cursor.NAME)) {
+                               if (var.getOffsets().length > 1) {
+                                       throw new TemplateException(
+                                                       JavaTemplateMessages
+                                                                       .getString("ContextType.error.multiple.cursor.variables")); //$NON-NLS-1$
+                               }
+                       }
+               }
+       }
+}