X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/UnknownElementWizardPage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/UnknownElementWizardPage.java deleted file mode 100644 index d6ad3a5..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/UnknownElementWizardPage.java +++ /dev/null @@ -1,326 +0,0 @@ -/* - * $Id: UnknownElementWizardPage.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 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