improved codetemplate wizards; new html tag wizards
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / wizards / html / NewElementWizardPage.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/NewElementWizardPage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/NewElementWizardPage.java
new file mode 100644 (file)
index 0000000..4b39fa9
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ * $Id: NewElementWizardPage.java,v 1.1 2004-10-05 20:51:57 jsurfer Exp $
+ * Copyright Narushima Hironori. All rights reserved.
+ */
+package net.sourceforge.phpeclipse.wizards.html;
+
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.*;
+import org.eclipse.swt.layout.*;
+import org.eclipse.swt.widgets.*;
+
+
+/**
+ * 
+ */
+public class NewElementWizardPage extends EditElementWizardPage {
+
+       Text elementName;
+       EditElementWizardPage nextPage = null;
+
+       public NewElementWizardPage() {
+               super("NewElementPage");
+               setTitle("Create HTML Element");
+               setDescription("Specify new HTML tag (dl,ul,ol or table) and configure that tag.");
+       }
+       
+       protected void createChildControl(Composite base) {
+               // create foundation component
+               base.setLayout(new GridLayout(1, false));
+               
+               // element input components
+               new Label(base, SWT.NONE).setText("&Element Name:");
+               
+               elementName = new Text(base, SWT.BORDER | SWT.SINGLE);
+               elementName.setLayoutData( new GridData(GridData.FILL_HORIZONTAL));
+               elementName.addModifyListener( new ModifyListener() {
+                       public void modifyText(ModifyEvent e) {
+                               String eName = elementName.getText();
+                               if( eName.indexOf(' ') != -1 ){
+                                       setErrorMessage("Don't contain blink in speicfied element name.");
+                               } else if (eName.length() == 0){
+                                       setErrorMessage("Need to specify element name.");
+                               } else {
+                                       setErrorMessage(null);
+                                       nextPage = ((EditElementWizard)getWizard()).createElementEditPage(eName);
+                                       nextPage.setElementName(eName);
+                                       if( nextPage instanceof UnknownElementWizardPage){
+                                               setMessage("This editor does not known element name.", WARNING);
+                                       }else{
+                                               setMessage(null, NONE);
+                                       }
+                               }
+                               refreshPreview();
+                               getWizard().getContainer().updateButtons();
+                       }
+               });
+       }
+       
+       public String getPreviewText(){
+               if(nextPage instanceof EditElementWizardPage){
+                       return ((EditElementWizardPage)nextPage).getPreviewText();
+               }
+               return null;
+       }
+       
+       public void setErrorMessage(String newMessage) {
+               super.setErrorMessage(newMessage);
+               if( newMessage != null){
+                       nextPage = null;
+               }
+       }
+
+       public IWizardPage getNextPage() {
+               return nextPage;
+       }
+
+}