From 2ee3a1c4dc14f78431cd60182c2ea4a7dae5a283 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 12 Oct 2007 08:15:13 +0000 Subject: [PATCH] test for adding and removing style names svn changeset:2505/svn branch:trunk --- .../tests/TestForMultipleStyleNames.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/com/itmill/toolkit/tests/TestForMultipleStyleNames.java diff --git a/src/com/itmill/toolkit/tests/TestForMultipleStyleNames.java b/src/com/itmill/toolkit/tests/TestForMultipleStyleNames.java new file mode 100644 index 0000000000..9eac70f48c --- /dev/null +++ b/src/com/itmill/toolkit/tests/TestForMultipleStyleNames.java @@ -0,0 +1,87 @@ +package com.itmill.toolkit.tests; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +import com.itmill.toolkit.data.Property.ValueChangeEvent; +import com.itmill.toolkit.data.Property.ValueChangeListener; +import com.itmill.toolkit.data.util.IndexedContainer; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.CustomComponent; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.RichTextArea; +import com.itmill.toolkit.ui.Select; +import com.itmill.toolkit.ui.TwinColSelect; + +/** + * + * @author IT Mill Ltd. + */ +public class TestForMultipleStyleNames extends CustomComponent implements ValueChangeListener { + + private OrderedLayout main = new OrderedLayout(); + + private Label l; + + private Select s = new TwinColSelect(); + + private ArrayList styleNames2; + + public TestForMultipleStyleNames() { + setCompositionRoot(main); + createNewView(); + } + + public void createNewView() { + main.removeAllComponents(); + main + .addComponent(new Label( + "TK5 supports multiple stylenames for components.")); + + + styleNames2 = new ArrayList(); + + styleNames2.add("red"); + styleNames2.add("bold"); + styleNames2.add("italic"); + + s.setContainerDataSource(new IndexedContainer(styleNames2)); + s.addListener(this); + s.setImmediate(true); + main.addComponent(s); + + l = new Label("Test labele"); + main.addComponent(l); + + } + + public void valueChange(ValueChangeEvent event) { + + String currentStyle = l.getStyle(); + String[] tmp = currentStyle.split(" "); + ArrayList curStyles = new ArrayList(); + for (int i = 0; i < tmp.length; i++) { + if(tmp[i] != "") + curStyles.add(tmp[i]); + } + + Collection styles = (Collection) s.getValue(); + + for (Iterator iterator = styles.iterator(); iterator.hasNext();) { + String styleName = (String) iterator.next(); + if(curStyles.contains(styleName)) { + // already added + curStyles.remove(styleName); + } else { + l.addStyleName(styleName); + } + } + for (Iterator iterator2 = curStyles.iterator(); iterator2.hasNext();) { + String object = (String) iterator2.next(); + l.removeStyleName(object); + } + } + +} -- 2.39.5