X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/wizards/html/UnknownElementWizardPage.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/wizards/html/UnknownElementWizardPage.java deleted file mode 100644 index 817451d..0000000 --- a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/wizards/html/UnknownElementWizardPage.java +++ /dev/null @@ -1,334 +0,0 @@ -/* - * $Id: UnknownElementWizardPage.java,v 1.2 2006-10-21 23:18:43 pombredanne Exp $ - * Copyright Narushima Hironori. All rights reserved. - */ -package net.sourceforge.phpeclipse.wizards.html; - -import java.util.ArrayList; - -import org.eclipse.jface.dialogs.IInputValidator; -import org.eclipse.jface.viewers.ArrayContentProvider; -import org.eclipse.jface.viewers.CellEditor; -import org.eclipse.jface.viewers.ICellModifier; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.TextCellEditor; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Item; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; - -/** - * - * - */ -public class UnknownElementWizardPage extends EditElementWizardPage { - - // key of TableCell for attribute editor. - final static String NAME = "ColumnProperty-name", - VALUE = "ColumnProperty-value"; - - Button emptyElementCheck, addButton, removeButton, upButton, downButton; - - TableViewer unknownElementAttrs; - - ArrayList attrs = new ArrayList(), listeners = new ArrayList(); - - SelectionListener elemTypeChangeListener = new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - refreshPreview(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }; - - public UnknownElementWizardPage() { - super("UnknownElementEditPage"); - setTitle("Unknown"); - setDescription("Editor for any HTML element."); - } - - static IInputValidator attrValidator = new IInputValidator() { - public String isValid(String newText) { - if (newText.length() == 0) { - return "Need to specify name"; - } - if (newText.indexOf(' ') != -1 || newText.indexOf('\n') != -1 - || newText.indexOf('\t') != -1) { - return "Not contain blank"; - } - return null; - } - }; - - protected void createChildControl(Composite parent) { - // empty eleemnt - parent.setLayout(new GridLayout(2, false)); - - // // attribute editor - Label labe = new Label(parent, SWT.NONE); - labe.setText("Element &Attribute:"); - GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - labe.setLayoutData(gd); - new Label(parent, SWT.NONE); - - // attribute display table setting - unknownElementAttrs = new TableViewer(parent, SWT.BORDER | SWT.SINGLE - | SWT.FULL_SELECTION); - gd = new GridData(GridData.FILL_BOTH); - gd.horizontalSpan = 1; - gd.verticalSpan = 4; - unknownElementAttrs.getControl().setLayoutData(gd); - - final Table table = unknownElementAttrs.getTable(); - new TableColumn(table, SWT.LEFT).setText("Name"); - new TableColumn(table, SWT.LEFT).setText("Value"); - - table.setLinesVisible(true); - table.setHeaderVisible(true); - // modifier setting - unknownElementAttrs.setColumnProperties(new String[] { NAME, VALUE }); - unknownElementAttrs.setContentProvider(new ArrayContentProvider()); - - unknownElementAttrs.setCellEditors(new CellEditor[] { - new TextCellEditor(table), new TextCellEditor(table) }); - unknownElementAttrs.setCellModifier(new ICellModifier() { - public boolean canModify(Object element, String property) { - return true; - } - - public Object getValue(Object element, String property) { - return ((String[]) element)[property.equals(NAME) ? 0 : 1]; - } - - public void modify(Object element, String property, Object value) { - if (element instanceof Item) { - ((String[]) ((Item) element).getData())[property - .equals(NAME) ? 0 : 1] = HTMLUtilities - .unescape((String) value); - refreshPreview(); - } - } - }); - - unknownElementAttrs.setLabelProvider(new ITableLabelProvider() { - public Image getColumnImage(Object element, int columnIndex) { - return null; - } - - public String getColumnText(Object element, int columnIndex) { - return ((String[]) element)[columnIndex]; - } - - public void addListener(ILabelProviderListener listener) { - } - - public void removeListener(ILabelProviderListener listener) { - } - - public void dispose() { - } - - public boolean isLabelProperty(Object element, String property) { - return property.equals(NAME) || property.equals(VALUE); - } - }); - - resetAttributes(); - unknownElementAttrs.setInput(attrs); - - TableColumn[] columns = table.getColumns(); - for (int i = 0; i < columns.length; i++) { - columns[i].pack(); - } - - // buttonss - upButton = createButton(parent, "&Up"); - upButton.addSelectionListener(new SelectionListener() { - - public void widgetSelected(SelectionEvent e) { - int index = getSelectionIndex(); - if (index > 0) { - attrs.add(index - 1, attrs.remove(index)); - refreshPreview(); - } - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }); - - downButton = createButton(parent, "&Down"); - downButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - int index = getSelectionIndex(); - if (index < attrs.size() - 1) { - attrs.add(index + 1, attrs.remove(index)); - refreshPreview(); - } - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }); - - addButton = createButton(parent, "&Add"); - addButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - int insertIndex = getSelectionIndex(); - String[] newData = inputValue(); - if (newData != null) { - attrs.add(newData); - refreshPreview(); - } - } - - String[] inputValue() { - SomeItemInputDialog dialog = new SomeItemInputDialog( - getShell(), "Input new attribute", new String[] { - "Attribute name", "Attribute value" }, - new IInputValidator[] { attrValidator, null }); - - if (dialog.open() == Window.OK) { - return dialog.getValues(); - } - return null; - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }); - - removeButton = createButton(parent, "&Remove"); - removeButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - int index = getSelectionIndex(); - if (index != -1) { - attrs.remove(index); - refreshPreview(); - } - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }); - - emptyElementCheck = new Button(parent, SWT.CHECK); - gd = new GridData(GridData.FILL_HORIZONTAL); - emptyElementCheck.setLayoutData(gd); - emptyElementCheck.setText("&Empty Element"); - emptyElementCheck.addSelectionListener(elemTypeChangeListener); - emptyElementCheck.setSelection(isEmptyAsText()); - - new Label(parent, SWT.NONE); - } - - static Button createButton(Composite parent, String text) { - Button button = new Button(parent, SWT.PUSH); - GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING - | GridData.HORIZONTAL_ALIGN_END); - gd.widthHint = 60; - button.setLayoutData(gd); - button.setText(text); - return button; - } - - public String getPreviewText() { - String elemName = getElementName(); - if (elemName == null) { - return null; - } - - // sets values - - boolean empty = false; - if (emptyElementCheck == null) { - // ui uninitialized - empty = isEmptyAsText(); - } else { - // ui initialized - empty = emptyElementCheck.getSelection(); - } - - String content = getSelectionText(); - if (!empty && getEditType() == MODIFY) { - content = chooseContent(content); - } - - String previewText = "<" + elemName + attrsCode(); - if (empty) { - previewText += " />"; - } else { - previewText += ">" + content + ""; - } - return previewText; - } - - boolean isEmptyAsText() { - String selText = getSelectionText(); - if (getEditType() == MODIFY) { - int len = selText.length(); - return selText.substring(len - 2, len).equals("/>"); - } - return false; - } - - void resetAttributes() { - attrs.clear(); - - Element elem = getParsedSelectionText(); - if (elem != null) { - NamedNodeMap as = elem.getAttributes(); - for (int i = 0; i < as.getLength(); i++) { - Node n = as.item(i); - attrs.add(new String[] { n.getNodeName(), n.getNodeValue() }); - } - } - } - - String attrsCode() { - StringBuffer buff = new StringBuffer(); - Object[] as = attrs.toArray(); - for (int i = 0; i < as.length; i++) { - String[] a = (String[]) as[i]; - buff.append(" " + a[0] + "=\"" + HTMLUtilities.escape(a[1]) + "\""); - } - return buff.toString(); - } - - int getSelectionIndex() { - Object sel = unknownElementAttrs.getSelection(); - if (sel instanceof IStructuredSelection) { - Object item = ((IStructuredSelection) sel).getFirstElement(); - return attrs.indexOf(item); - } else { - return -1; - } - } - - public void refreshPreview() { - unknownElementAttrs.refresh(); - super.refreshPreview(); - } - - public void setElementName(String elemName) { - super.setElementName(elemName); - setTitle("\"" + elemName + "\" Element"); - } - -} \ No newline at end of file