/******************************************************************************* * Licensed Materials - Property of IBM * (c) Copyright IBM Corporation 2007,2011. All Rights Reserved. * * Note to U.S. Government Users Restricted Rights: * Use, duplication or disclosure restricted by GSA ADP Schedule * Contract with IBM Corp. *******************************************************************************/ package org.eclipse.epf.richtext.dialogs; import org.eclipse.epf.richtext.RichTextResources; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class AddCodeDialog extends BaseDialog { private Text html; private String htmlStr; public AddCodeDialog(Shell parent) { super(parent); } protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); Label label = new Label(composite, SWT.NONE); label.setText(RichTextResources.addCodeDialog_Msg); { GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2; label.setLayoutData(gd); } html = new Text(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); { GridData gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 2; gd.widthHint = 300; gd.heightHint = 200; html.setLayoutData(gd); } html.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { okButton.setEnabled(html.getText().trim().length() > 0); } }); super.getShell().setText(RichTextResources.addCodeDialog_title); return composite; } protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); okButton.setEnabled(false); } protected void okPressed() { //add the extra "<br/>" to avoid Jtidy problem String br = "<br/>"; //$NON-NLS-1$ String customHtml = html.getText().trim(); htmlStr = br + customHtml; super.okPressed(); } public String getCode() { return htmlStr; } }