X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/ListElementWizardPage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/ListElementWizardPage.java new file mode 100644 index 0000000..d49f96d --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/ListElementWizardPage.java @@ -0,0 +1,88 @@ +/* + * $Id: ListElementWizardPage.java,v 1.3 2006-10-21 23:18:43 pombredanne Exp $ + * Copyright Narushima Hironori. All rights reserved. + */ +package net.sourceforge.phpeclipse.wizards.html; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +/** + * + */ +public class ListElementWizardPage extends EditElementWizardPage { + + final static String[] LIST_TYPES = { "ul", "ol", "dl" }; + + Combo types; + + public ListElementWizardPage() { + super("ListElementWizardPage"); + setTitle("List"); + setDescription("Editing list element."); + } + + protected void createChildControl(Composite parent) { + parent.setLayout(new GridLayout(2, false)); + Label labe = new Label(parent, SWT.NONE); + labe.setText("List &Type:"); + + types = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY); + + for (int i = 0; i < LIST_TYPES.length; i++) { + String type = LIST_TYPES[i]; + types.add(type); + if (getElementName().equals(type)) { + types.select(i); + } + } + + types.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + types.addSelectionListener(new SelectionListener() { + public void widgetSelected(SelectionEvent e) { + setElementName(types.getText()); + refreshPreview(); + } + + public void widgetDefaultSelected(SelectionEvent e) { + } + }); + } + + public String getPreviewText() { + String content = ((EditElementWizard) getWizard()).getSelection() + .getText().trim(); + + String elemName = getElementName(); + switch (getEditType()) { + case MODIFY: + content = chooseContent(content).trim(); + break; + + case NEW: + String[] lines = content.split("\n+"); + StringBuffer result = new StringBuffer(); + for (int i = 0; i < lines.length; i++) { + String itemElemName; + if (elemName.equals("dl")) { + itemElemName = (i % 2 == 0) ? "dt" : "dd"; + } else { + itemElemName = "li"; + } + result.append("<" + itemElemName + ">" + lines[i].trim() + "\n"); + } + content = result.toString(); + break; + } + + return "<" + elemName + ">\n" + content + "\n"; + } + +}