1) Fixed stackoverflow when clicking on entry in PHPeclipse Error Log: OverrideIndica...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / wizards / html / EditElementWizardPage.java
index 144e166..44d1a27 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: EditElementWizardPage.java,v 1.1 2004-10-05 20:51:57 jsurfer Exp $
+ * $Id: EditElementWizardPage.java,v 1.2 2006-10-21 23:18:43 pombredanne Exp $
  * Copyright Narushima Hironori. All rights reserved.
  */
 package net.sourceforge.phpeclipse.wizards.html;
@@ -33,154 +33,160 @@ import org.xml.sax.SAXException;
 
 /**
  * 
- *  
+ * 
  */
-public abstract class EditElementWizardPage extends WizardPage implements IPreviewer {
-
-  final public static int NEW = 0, MODIFY = 1;
-
-  private static DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
-
-  Composite extendComp;
-
-  Text preview;
-
-  private String elementName = null;
-
-  int editType = NEW;
-
-  protected EditElementWizardPage(String pageName) {
-    super(pageName);
-  }
-
-  public void createControl(Composite parent) {
-    Composite base = new Composite(parent, SWT.NONE);
-    setControl(base);
-    base.setLayout(new GridLayout(1, false));
-
-    // create child control.
-    Composite childControlBase = new Composite(base, SWT.NONE);
-    childControlBase.setLayoutData(new GridData(GridData.FILL_BOTH));
-    try {
-      createChildControl(childControlBase);
-    } catch (CoreException e) {
-      PHPeclipsePlugin.log(e);
-      return;
-    }
-
-    // preview components.
-    Composite previewBase = new Composite(base, SWT.NONE);
-
-    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-    previewBase.setLayoutData(gd);
-    previewBase.setLayout(new GridLayout(1, false));
-
-    Label labe = new Label(previewBase, SWT.NONE);
-    labe.setText("Preview:");
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    labe.setLayoutData(gd);
-
-    preview = new Text(previewBase, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL);
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.widthHint = 0;
-    gd.heightHint = preview.getLineHeight() * 4;
-    preview.setLayoutData(gd);
-
-    refreshPreview();
-  }
-
-  abstract protected void createChildControl(Composite parent) throws CoreException;
-
-  public abstract String getPreviewText();
-
-  public void refreshPreview() {
-    if (preview != null) {
-      String text = getPreviewText();
-      preview.setText(text == null ? "" : text);
-    }
-  }
-
-  public String getElementName() {
-    return elementName;
-  }
-
-  public void setElementName(String string) {
-    elementName = string;
-  }
-
-  protected IFile getEditFile() {
-    IFile file = null;
-    IWizard wiz = getWizard();
-    if (wiz instanceof EditElementWizard) {
-      file = ((EditElementWizard) wiz).getCurrentEditFile();
-    }
-    return file;
-  }
-
-  protected void performFinish() {
-    EditElementWizard wiz = (EditElementWizard) getWizard();
-    ITextSelection sel = wiz.getSelection();
-    IDocument doc = wiz.getDocument();
-    int offset = sel.getOffset();
-    try {
-      doc.replace(offset, sel.getLength(), getPreviewText());
-    } catch (BadLocationException e) {
-      PHPeclipsePlugin.log(e);
-    }
-    int index = doc.get().indexOf('>', offset);
-    if (index != -1) {
-      wiz.setSelection(new TextSelection(index + 1, 0));
-    }
-  }
-
-  /**
-   * Returns edit type.
-   */
-  public int getEditType() {
-    return editType;
-  }
-
-  /**
-   * Sets edit type that types are EditElementWizardPage.NEW, EditElementWizardPage.MODIFY. Default value is NEW.
-   */
-  public void setEditType(int i) {
-    editType = i;
-  }
-
-  protected String getSelectionText() {
-    return ((EditElementWizard) getWizard()).getSelection().getText();
-  }
-
-  protected Element getParsedSelectionText() {
-    String selText = getSelectionText();
-    try {
-      InputSource source = new InputSource(new StringReader(selText));
-      Document doc = docBuilderFactory.newDocumentBuilder().parse(source);
-      return doc.getDocumentElement();
-    } catch (SAXException e) {
-    } catch (IOException e) {
-    } catch (ParserConfigurationException e) {
-    }
-    return null;
-
-  }
-
-  protected static String chooseContent(String text) {
-    int b = -1, e = -1, len = text.length();
-    for (int i = 0; i < len; i++) {
-      if (text.charAt(i) == '>') {
-        b = i + 1;
-        break;
-      }
-    }
-    for (int i = len - 1; i >= 0; i--) {
-      if (text.charAt(i) == '<') {
-        e = i;
-        break;
-      }
-    }
-    return (b != -1 && e != -1 && b < len && e < len) ? text.substring(b, e) : "";
-
-  }
+public abstract class EditElementWizardPage extends WizardPage implements
+               IPreviewer {
+
+       final public static int NEW = 0, MODIFY = 1;
+
+       private static DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
+                       .newInstance();
+
+       Composite extendComp;
+
+       Text preview;
+
+       private String elementName = null;
+
+       int editType = NEW;
+
+       protected EditElementWizardPage(String pageName) {
+               super(pageName);
+       }
+
+       public void createControl(Composite parent) {
+               Composite base = new Composite(parent, SWT.NONE);
+               setControl(base);
+               base.setLayout(new GridLayout(1, false));
+
+               // create child control.
+               Composite childControlBase = new Composite(base, SWT.NONE);
+               childControlBase.setLayoutData(new GridData(GridData.FILL_BOTH));
+               try {
+                       createChildControl(childControlBase);
+               } catch (CoreException e) {
+                       PHPeclipsePlugin.log(e);
+                       return;
+               }
+
+               // preview components.
+               Composite previewBase = new Composite(base, SWT.NONE);
+
+               GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+               previewBase.setLayoutData(gd);
+               previewBase.setLayout(new GridLayout(1, false));
+
+               Label labe = new Label(previewBase, SWT.NONE);
+               labe.setText("Preview:");
+               gd = new GridData(GridData.FILL_HORIZONTAL);
+               labe.setLayoutData(gd);
+
+               preview = new Text(previewBase, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY
+                               | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL);
+               gd = new GridData(GridData.FILL_HORIZONTAL);
+               gd.widthHint = 0;
+               gd.heightHint = preview.getLineHeight() * 4;
+               preview.setLayoutData(gd);
+
+               refreshPreview();
+       }
+
+       abstract protected void createChildControl(Composite parent)
+                       throws CoreException;
+
+       public abstract String getPreviewText();
+
+       public void refreshPreview() {
+               if (preview != null) {
+                       String text = getPreviewText();
+                       preview.setText(text == null ? "" : text);
+               }
+       }
+
+       public String getElementName() {
+               return elementName;
+       }
+
+       public void setElementName(String string) {
+               elementName = string;
+       }
+
+       protected IFile getEditFile() {
+               IFile file = null;
+               IWizard wiz = getWizard();
+               if (wiz instanceof EditElementWizard) {
+                       file = ((EditElementWizard) wiz).getCurrentEditFile();
+               }
+               return file;
+       }
+
+       protected void performFinish() {
+               EditElementWizard wiz = (EditElementWizard) getWizard();
+               ITextSelection sel = wiz.getSelection();
+               IDocument doc = wiz.getDocument();
+               int offset = sel.getOffset();
+               try {
+                       doc.replace(offset, sel.getLength(), getPreviewText());
+               } catch (BadLocationException e) {
+                       PHPeclipsePlugin.log(e);
+               }
+               int index = doc.get().indexOf('>', offset);
+               if (index != -1) {
+                       wiz.setSelection(new TextSelection(index + 1, 0));
+               }
+       }
+
+       /**
+        * Returns edit type.
+        */
+       public int getEditType() {
+               return editType;
+       }
+
+       /**
+        * Sets edit type that types are EditElementWizardPage.NEW,
+        * EditElementWizardPage.MODIFY. Default value is NEW.
+        */
+       public void setEditType(int i) {
+               editType = i;
+       }
+
+       protected String getSelectionText() {
+               return ((EditElementWizard) getWizard()).getSelection().getText();
+       }
+
+       protected Element getParsedSelectionText() {
+               String selText = getSelectionText();
+               try {
+                       InputSource source = new InputSource(new StringReader(selText));
+                       Document doc = docBuilderFactory.newDocumentBuilder().parse(source);
+                       return doc.getDocumentElement();
+               } catch (SAXException e) {
+               } catch (IOException e) {
+               } catch (ParserConfigurationException e) {
+               }
+               return null;
+
+       }
+
+       protected static String chooseContent(String text) {
+               int b = -1, e = -1, len = text.length();
+               for (int i = 0; i < len; i++) {
+                       if (text.charAt(i) == '>') {
+                               b = i + 1;
+                               break;
+                       }
+               }
+               for (int i = len - 1; i >= 0; i--) {
+                       if (text.charAt(i) == '<') {
+                               e = i;
+                               break;
+                       }
+               }
+               return (b != -1 && e != -1 && b < len && e < len) ? text
+                               .substring(b, e) : "";
+
+       }
 
 }
\ No newline at end of file