]> source.dussan.org Git - vaadin-framework.git/commitdiff
test for adding and removing style names
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 12 Oct 2007 08:15:13 +0000 (08:15 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 12 Oct 2007 08:15:13 +0000 (08:15 +0000)
svn changeset:2505/svn branch:trunk

src/com/itmill/toolkit/tests/TestForMultipleStyleNames.java [new file with mode: 0644]

diff --git a/src/com/itmill/toolkit/tests/TestForMultipleStyleNames.java b/src/com/itmill/toolkit/tests/TestForMultipleStyleNames.java
new file mode 100644 (file)
index 0000000..9eac70f
--- /dev/null
@@ -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);
+               }
+       }
+       
+}