/*******************************************************************************
 * Copyright (c) 2005 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.draw2d.examples.text;

import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

import org.eclipse.swt.SWT;
import org.eclipse.draw2d.widgets.MultiLineLabel;

/**
 * This example shows the MultiLineLabel widget.  MutliLineLabel is a widget for
 * displaying text that wraps, but *only* shows scrollbars when necessary.  For
 * comparison, a native Text control appears below.
 * @author hudsonr
 */
public abstract class MultiLineLabelExample {

private static MultiLineLabel label;

public static void main(String[] args) {
	Display d = Display.getDefault();
	Shell shell = new Shell(d);
	shell.setLayout(new GridLayout());
	label = new MultiLineLabel(shell);
	Text text = new Text(shell, SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.READ_ONLY);
	label.setText("This is a  oijeoi aeif jaoiewjf oaiew jfoaiew" +
			"apijewpfk apoewkf paokwe pfokawpehfaowephf hawoiejf oaweijf paowkefp aoewkfpa " +
			"pawkfe paoewkf paowekf pawokefoaiwjefo iajewoifja oewijf poerk pgaokew faewfpokew f" +
			"f oaewkfp aewpofk apwejfoiuajweo foiwajef poawkefpawkje pfoakewpf aewpfkpaowke fpawf" +
			"gfpowaegpawepmulti-line label.");
	text.setText(label.getText());

	GridData data = new GridData(GridData.FILL_HORIZONTAL);
	data.widthHint = 170;
	data.heightHint = - 1;
	text.setLayoutData(data);
	data = new GridData(GridData.FILL_HORIZONTAL);
	data.widthHint = 170;
	data.heightHint = - 1;
	label.setLayoutData(data);
	shell.open();
	shell.setSize(600,500);
	while (!shell.isDisposed())
		while (!d.readAndDispatch())
			d.sleep();
}

}
