| /******************************************************************************* |
| * Copyright (c) 2008 Angelo Zerr 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: |
| * Angelo Zerr <angelo.zerr@gmail.com> - initial API and implementation |
| *******************************************************************************/ |
| package org.akrogen.tkui.css.swt.serializers; |
| |
| import java.io.StringWriter; |
| |
| import org.akrogen.tkui.css.core.engine.CSSEngine; |
| import org.akrogen.tkui.css.core.serializers.CSSHTMLSerializerConfiguration; |
| import org.akrogen.tkui.css.core.serializers.CSSSerializer; |
| import org.akrogen.tkui.css.swt.engine.CSSSWTEngineImpl; |
| import org.akrogen.tkui.css.swt.engine.html.CSSSWTHTMLEngineImpl; |
| import org.akrogen.tkui.css.swt.serializers.CSSSWTSerializerConfiguration; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.graphics.Color; |
| import org.eclipse.swt.graphics.Cursor; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Button; |
| import org.eclipse.swt.widgets.Combo; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Display; |
| import org.eclipse.swt.widgets.Event; |
| import org.eclipse.swt.widgets.Label; |
| import org.eclipse.swt.widgets.Listener; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.swt.widgets.Text; |
| |
| public class CSSSerializerSWTTest { |
| |
| private static Color COLOR_GREEN = null; |
| |
| private static Cursor CURSOR_HELP = null; |
| |
| public static void main(String[] args) { |
| try { |
| |
| /*--- UI SWT ---*/ |
| Display display = new Display(); |
| createResources(display); |
| Shell shell = new Shell(display, SWT.SHELL_TRIM); |
| GridLayout layout = new GridLayout(); |
| shell.setLayout(layout); |
| |
| Composite panel1 = new Composite(shell, SWT.NONE); |
| panel1.setLayout(new GridLayout()); |
| |
| // Text |
| Text text1 = new Text(panel1, SWT.NONE); |
| text1.setText("bla bla bla..."); |
| |
| // TextArea |
| Text textarea = new Text(panel1, SWT.MULTI); |
| textarea.setText("bla bla bla..."); |
| |
| // Label |
| Label label3 = new Label(panel1, SWT.NONE); |
| label3.setText("Label 3"); |
| label3.setBackground(COLOR_GREEN); |
| label3.setCursor(CURSOR_HELP); |
| |
| // Create Button |
| Button button = new Button(panel1, SWT.BORDER); |
| button.setText("SWT Button"); |
| |
| // Create Button [SWT.CHECK] |
| Button checkbox = new Button(panel1, SWT.CHECK); |
| checkbox.setText("SWT Button [SWT.CHECK]"); |
| |
| // Create Button [SWT.RADIO] |
| Button radio = new Button(panel1, SWT.RADIO); |
| radio.setText("SWT Button [SWT.RADIO]"); |
| |
| // Create Combo |
| Combo combo = new Combo(panel1, SWT.BORDER); |
| combo.add("Item 1"); |
| combo.add("Item 2"); |
| combo.select(0); |
| |
| /*--- End UI SWT ---*/ |
| |
| // Serialize Shell and children SWT Widgets |
| // STWT Selector |
| CSSEngine engine = new CSSSWTEngineImpl(display); |
| System.out |
| .println("***************** CSS SWT Selector *****************"); |
| CSSSerializer serializer = new CSSSerializer(); |
| StringWriter writer = new StringWriter(); |
| serializer.serialize(writer, engine, shell, true, |
| CSSSWTSerializerConfiguration.INSTANCE); |
| System.out.println(writer.toString()); |
| |
| // HTML Selector |
| engine = new CSSSWTHTMLEngineImpl(display); |
| System.out |
| .println("***************** CSS SWT-HTML Selector *****************"); |
| writer = new StringWriter(); |
| serializer.serialize(writer, engine, shell, true, |
| CSSHTMLSerializerConfiguration.INSTANCE); |
| System.out.println(writer.toString()); |
| |
| shell.pack(); |
| shell.open(); |
| |
| while (!shell.isDisposed()) { |
| if (!display.readAndDispatch()) |
| display.sleep(); |
| } |
| |
| display.dispose(); |
| |
| } catch (Exception e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| private static void createResources(Display display) { |
| COLOR_GREEN = new Color(display, 0, 255, 0); |
| CURSOR_HELP = new Cursor(display, SWT.CURSOR_HELP); |
| |
| display.addListener(SWT.Dispose, new Listener() { |
| public void handleEvent(Event event) { |
| disposeResources(); |
| } |
| }); |
| } |
| |
| private static void disposeResources() { |
| COLOR_GREEN.dispose(); |
| CURSOR_HELP.dispose(); |
| } |
| } |