You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2016/04/06 11:01:44 UTC

svn commit: r1737949 [1/2] - in /myfaces/tobago/branches/tobago-3.0.x/tobago-example: tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/ tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ tobago-example-dem...

Author: lofwyr
Date: Wed Apr  6 09:01:43 2016
New Revision: 1737949

URL: http://svn.apache.org/viewvc?rev=1737949&view=rev
Log:
TOBAGO-1544: Revise Demo Application for Tobago 3.0
[developed by hnoeth]

Added:
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNode.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNodeFactory.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/PanelController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ProgressController.java
      - copied, changed from r1737931, myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Progress.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TabController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeCommandTypesController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeSelectController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/UploadController.java
Removed:
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Progress.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Upload.java
Modified:
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/actionlistener/SimpleTabChangeListener.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/50-progress/progress.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/output.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/20-selectOneChoice/selectOneChoice.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/30-selectOneRadio/selectOneRadio.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/40-selectOneListbox/selectOneListbox.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/selectManyCheckbox.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/60-selectManyListbox/selectManyListbox.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/70-selectManyShuttle/selectManyShuttle.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/select.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/20-panel/panel.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/40-section/section.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/50-header+footer/header+footer.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/container.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/popup.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/00-client/tab-client.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/01-ajax/tab-ajax.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/00-command/tree-command-types.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/01-select/tree-select.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/03-menu/tree-menu.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/04-listbox/tree-listbox.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/tree.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/100-upload/upload.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/style/demo.css
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview_de.properties.xml

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNode.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNode.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNode.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNode.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.data;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+
+public class CommandNode extends DefaultMutableTreeNode {
+
+  private String name;
+  private String action;
+  private String resource;
+  private String url;
+
+  public CommandNode(String name) {
+    this.name = name;
+  }
+
+  public CommandNode(String name, String action, String resource, String url) {
+    this.name = name;
+    this.action = action;
+    this.resource = resource;
+    this.url = url;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public String getAction() {
+    return action;
+  }
+
+  public String getResource() {
+    return resource;
+  }
+
+  public String getUrl() {
+    return url;
+  }
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNodeFactory.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNodeFactory.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNodeFactory.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CommandNodeFactory.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.data;
+
+public class CommandNodeFactory {
+
+  public static CommandNode createSample() {
+    final CommandNode root = new CommandNode("Commands");
+
+    final CommandNode actions = new CommandNode("Actions");
+    actions.add(new CommandNode("Action 1", "ActionOne", null, null));
+    actions.add(new CommandNode("Action 2", "ActionTwo", null, null));
+    root.add(actions);
+
+    final CommandNode resources = new CommandNode("Resources");
+    resources.add(new CommandNode("Input Fields", null, "content/20-component/010-input/input.xhtml", null));
+    resources.add(new CommandNode("Output Fields", null, "content/20-component/020-output/output.xhtml", null));
+    resources.add(new CommandNode("Dropdown Box", null,
+            "content/20-component/030-select/20-selectOneChoice/selectOneChoice.xhtml", null));
+    resources.add(new CommandNode("Popup Dialog", null, "content/20-component/060-popup/popup.xhtml", null));
+    root.add(resources);
+
+    final CommandNode links = new CommandNode("Links");
+    links.add(new CommandNode("Apache", null, null, "https://www.apache.org/"));
+    links.add(new CommandNode("MyFaces", null, null, "https://myfaces.apache.org/"));
+    links.add(new CommandNode("Tobago", null, null, "https://myfaces.apache.org/tobago/"));
+    root.add(links);
+
+    return root;
+  }
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import javax.enterprise.context.RequestScoped;
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@RequestScoped
+@Named
+public class MessagesController implements Serializable {
+
+  public FacesMessage.Severity getSeverityFatal() {
+    return FacesMessage.SEVERITY_FATAL;
+  }
+
+  public FacesMessage.Severity getSeverityError() {
+    return FacesMessage.SEVERITY_ERROR;
+  }
+
+  public FacesMessage.Severity getSeverityWarn() {
+    return FacesMessage.SEVERITY_WARN;
+  }
+
+  public FacesMessage.Severity getSeverityInfo() {
+    return FacesMessage.SEVERITY_INFO;
+  }
+
+  public void createFatalMessage() {
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_FATAL, "Fatal Message", "Details of fatal message."));
+  }
+
+  public void createErrorMessage() {
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error Message", "Details of error message."));
+  }
+
+  public void createWarnMessage() {
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_WARN, "Warn Message", "Details of warn message."));
+  }
+
+  public void createInfoMessage() {
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_INFO, "Info Message", "Details of info message."));
+  }
+
+  public void createSevenMessages() {
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_INFO, "First Message - Info", null));
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_FATAL, "Second Message - Fatal", null));
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_WARN, "Third Message - Warn", null));
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_FATAL, "Fourth Message - Fatal", null));
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_ERROR, "Fifth Message - Error", null));
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_INFO, "Sixth Message - Info", null));
+    FacesContext.getCurrentInstance().addMessage(null,
+            new FacesMessage(FacesMessage.SEVERITY_WARN, "Seventh Message - Warn", null));
+  }
+}

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java Wed Apr  6 09:01:43 2016
@@ -166,4 +166,12 @@ public class NavigationTree implements S
       IOUtils.closeQuietly(resourceAsStream);
     }
   }
+
+  public boolean isMessagesPage() {
+    return FacesContext.getCurrentInstance().getViewRoot().getViewId().endsWith("messages.xhtml");
+  }
+
+  public boolean isOutputPage() {
+    return FacesContext.getCurrentInstance().getViewRoot().getViewId().endsWith("output.xhtml");
+  }
 }

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/PanelController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/PanelController.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/PanelController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/PanelController.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+import java.util.Date;
+
+@RequestScoped
+@Named
+public class PanelController implements Serializable {
+
+  private String text;
+
+  public Date getCurrentDate() {
+    return new Date();
+  }
+
+  public String getText() {
+    return text;
+  }
+
+  public void setText(String text) {
+    this.text = text;
+  }
+}

Copied: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ProgressController.java (from r1737931, myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Progress.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ProgressController.java?p2=myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ProgressController.java&p1=myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Progress.java&r1=1737931&r2=1737949&rev=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Progress.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ProgressController.java Wed Apr  6 09:01:43 2016
@@ -19,41 +19,54 @@
 
 package org.apache.myfaces.tobago.example.demo;
 
-import javax.enterprise.context.SessionScoped;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.enterprise.context.RequestScoped;
 import javax.inject.Named;
 import javax.swing.DefaultBoundedRangeModel;
-import javax.swing.BoundedRangeModel;
 import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
-@SessionScoped
+@RequestScoped
 @Named
-public class Progress implements Serializable {
+public class ProgressController implements Serializable {
+
+  private static final Logger LOG = LoggerFactory.getLogger(ProgressController.class);
+
+  private DefaultBoundedRangeModel progress = new DefaultBoundedRangeModel(3, 0, 0, 5);
 
-  private DefaultBoundedRangeModel progress = new DefaultBoundedRangeModel(10, 0, 0, 100);
-  private boolean update;
+  public DefaultBoundedRangeModel getProgress() {
+    return progress;
+  }
 
-  public boolean isUpdate() {
-    update = !update;
-    if (update) {
-      int value = progress.getValue();
-      if (value < progress.getMaximum()) {
-        value = value + 10;
-        progress.setValue(value);
-      }
+  public void addProgress() {
+    int value = progress.getValue();
+
+    if (value >= progress.getMaximum()) {
+      progress.setValue(0);
+    } else {
+      progress.setValue(value + 1);
     }
-    return update;
   }
 
-  public void setUpdate(final boolean update) {
-    this.update = update;
+  public Date getCurrentDate() {
+    return new Date();
   }
 
-  public BoundedRangeModel getProgress() {
-    return progress;
+  public double getCurrentHours() {
+    SimpleDateFormat sdf = new SimpleDateFormat("HH");
+    return Double.valueOf(sdf.format(getCurrentDate()));
+  }
+
+  public double getCurrentMinutes() {
+    SimpleDateFormat sdf = new SimpleDateFormat("mm");
+    return Double.valueOf(sdf.format(getCurrentDate()));
   }
 
-  public String reset() {
-    progress.setValue(0);
-    return "reset";
+  public double getCurrentSeconds() {
+    SimpleDateFormat sdf = new SimpleDateFormat("ss");
+    return Double.valueOf(sdf.format(getCurrentDate()));
   }
 }

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectController.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectController.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.model.SelectItem;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@RequestScoped
+@Named
+public class SelectController implements Serializable {
+
+  private SelectItem[] entries;
+
+  public SelectController() {
+    entries = new SelectItem[]{
+            new SelectItem("1", "Entry One"),
+            new SelectItem("2", "Entry Two"),
+            new SelectItem("3", "Entry Three"),
+            new SelectItem("4", "Entry Four"),
+            new SelectItem("5", "Entry Five"),
+            new SelectItem("6", "Entry Six"),
+            new SelectItem("7", "Entry Seven"),
+            new SelectItem("8", "Entry Eight"),
+            new SelectItem("9", "Entry Nine")
+    };
+  }
+
+  public SelectItem[] getEntries() {
+    return entries;
+  }
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TabController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TabController.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TabController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TabController.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.event.TabChangeListener;
+import org.apache.myfaces.tobago.example.demo.actionlistener.SimpleTabChangeListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@SessionScoped
+@Named
+public class TabController implements Serializable {
+
+  private static final Logger LOG = LoggerFactory.getLogger(TabController.class);
+
+  private String open = "image/feather-open.png";
+  private String close = "image/feather.png";
+  private int index;
+  private SimpleTabChangeListener tabChangeListener;
+
+  public int getIndex() {
+    return index;
+  }
+
+  public void setIndex(int index) {
+    this.index = index;
+  }
+
+  public String getTabOneImage() {
+    if (index != 0) {
+      return close;
+    } else {
+      return open;
+    }
+  }
+
+  public String getTabTwoImage() {
+    if (index != 1) {
+      return close;
+    } else {
+      return open;
+    }
+  }
+
+  public String getTabThreeImage() {
+    if (index != 2) {
+      return close;
+    } else {
+      return open;
+    }
+  }
+
+  public TabChangeListener getTabChangeListener() {
+    return tabChangeListener;
+  }
+
+  public void setTabChangeListener(final SimpleTabChangeListener tabChangeListener) {
+    this.tabChangeListener = tabChangeListener;
+  }
+
+  public int getCount() {
+    return tabChangeListener.getCount();
+  }
+
+  public int getNewTabIndex() {
+    return tabChangeListener.getNewTabIndex();
+  }
+
+  public int getOldTabIndex() {
+    return tabChangeListener.getOldTabIndex();
+  }
+
+  public String getClientId() {
+    return tabChangeListener.getClientId();
+  }
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeCommandTypesController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeCommandTypesController.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeCommandTypesController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeCommandTypesController.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.example.data.CommandNode;
+import org.apache.myfaces.tobago.example.data.CommandNodeFactory;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@SessionScoped
+@Named
+public class TreeCommandTypesController implements Serializable {
+
+  private CommandNode sample;
+  private int actionOneCount = 0;
+  private int actionTwoCount = 0;
+
+  public TreeCommandTypesController() {
+    sample = CommandNodeFactory.createSample();
+  }
+
+  public CommandNode getSample() {
+    return sample;
+  }
+
+  public int getActionOneCount() {
+    return actionOneCount;
+  }
+
+  public void increaseActionCount(String name) {
+    if ("ActionOne".equals(name)) {
+      actionOneCount++;
+    } else if ("ActionTwo".equals(name)) {
+      actionTwoCount++;
+    }
+  }
+
+  public int getActionTwoCount() {
+    return actionTwoCount;
+  }
+}

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeController.java?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeController.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeController.java Wed Apr  6 09:01:43 2016
@@ -20,93 +20,59 @@
 package org.apache.myfaces.tobago.example.demo;
 
 import org.apache.myfaces.tobago.example.data.CategoryTree;
-import org.apache.myfaces.tobago.example.data.MixedCommandTree;
-import org.apache.myfaces.tobago.example.data.NamedNode;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import javax.enterprise.context.SessionScoped;
-import javax.faces.event.ActionEvent;
 import javax.inject.Named;
 import javax.swing.tree.DefaultMutableTreeNode;
 import java.io.Serializable;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 
 @SessionScoped
 @Named
 public class TreeController implements Serializable {
 
-  private static final Logger LOG = LoggerFactory.getLogger(TreeController.class);
-
-  private static final String STRONG = "strong";
-
-  private DefaultMutableTreeNode tree;
-
-  private NamedNode mixed;
+  private DefaultMutableTreeNode sample;
+  private boolean treeShowRoot = false;
+  private boolean treeShowRootJunction = false;
+  private boolean treeIndentRendered = true;
+  private boolean treeIndentShowJunction = true;
 
   public TreeController() {
-    // tree
-    tree = CategoryTree.createSample2();
-    mixed = MixedCommandTree.createSample();
-  }
-
-  public String action1() {
-    LOG.info("action 1");
-    return null;
+    sample = CategoryTree.createSample();
   }
 
-  public String action2() {
-    LOG.info("action 2");
-    return null;
+  public DefaultMutableTreeNode getSample() {
+    return sample;
   }
 
-  public void actionListener(final ActionEvent event) {
-    LOG.info("actionListener");
+  public boolean isTreeShowRoot() {
+    return treeShowRoot;
   }
 
-  public String action3() {
-    LOG.info("action 3");
-    return null;
+  public void setTreeShowRoot(boolean treeShowRoot) {
+    this.treeShowRoot = treeShowRoot;
   }
 
-  public String createNode() {
-/*
-    DefaultMutableTreeNode marker = state.getMarker();
-    if (marker != null) {
-      marker.insert(new DefaultMutableTreeNode(new Node("New Node")), 0);
-    } else {
-      // todo: print a warning or use root?
-    }
-*/
-    return null;
+  public boolean isTreeShowRootJunction() {
+    return treeShowRootJunction;
   }
 
-  public String deleteNode() {
-/*
-    DefaultMutableTreeNode marker = state.getMarker();
-    if (marker != null) {
-      marker.removeFromParent();
-    } else {
-      // todo: print a warning or use root?
-    }
-*/
-    return null;
+  public void setTreeShowRootJunction(boolean treeShowRootJunction) {
+    this.treeShowRootJunction = treeShowRootJunction;
   }
 
-  public String getCurrentTime() {
-    return new SimpleDateFormat("hh:MM:ss").format(new Date());
+  public boolean isTreeIndentRendered() {
+    return treeIndentRendered;
   }
 
-  public DefaultMutableTreeNode getTree() {
-    return tree;
+  public void setTreeIndentRendered(boolean treeIndentRendered) {
+    this.treeIndentRendered = treeIndentRendered;
   }
 
-  public void setTree(final DefaultMutableTreeNode tree) {
-    this.tree = tree;
+  public boolean isTreeIndentShowJunction() {
+    return treeIndentShowJunction;
   }
 
-  public NamedNode getMixed() {
-    return mixed;
+  public void setTreeIndentShowJunction(boolean treeIndentShowJunction) {
+    this.treeIndentShowJunction = treeIndentShowJunction;
   }
 }

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeSelectController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeSelectController.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeSelectController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TreeSelectController.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.example.data.CategoryTree;
+import org.apache.myfaces.tobago.example.data.Node;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Named;
+import javax.swing.tree.DefaultMutableTreeNode;
+import java.io.Serializable;
+
+@SessionScoped
+@Named
+public class TreeSelectController implements Serializable {
+
+  private DefaultMutableTreeNode sample;
+  private String selectable = "multi";
+
+  public TreeSelectController() {
+    sample = CategoryTree.createSample();
+  }
+
+  public DefaultMutableTreeNode getSample() {
+    return sample;
+  }
+
+  public String getSelectable() {
+    return selectable;
+  }
+
+  public void setSelectable(String selectable) {
+    this.selectable = selectable;
+  }
+
+  public String getSelectedNodes() {
+    StringBuilder stringBuilder = new StringBuilder();
+    buildSelectedNodesString(stringBuilder, sample);
+    if (stringBuilder.length() > 2) {
+      return stringBuilder.substring(2); // Remove ', '.
+    } else {
+      return "";
+    }
+  }
+
+  private void buildSelectedNodesString(StringBuilder stringBuilder, DefaultMutableTreeNode node) {
+    Node userObject = (Node) node.getUserObject();
+    if (userObject.isSelected()) {
+      stringBuilder.append(", " + userObject.getName());
+    }
+    for (int i = 0; i < node.getChildCount(); i++) {
+      DefaultMutableTreeNode child = (DefaultMutableTreeNode) node.getChildAt(i);
+      buildSelectedNodesString(stringBuilder, child);
+    }
+  }
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/UploadController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/UploadController.java?rev=1737949&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/UploadController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/UploadController.java Wed Apr  6 09:01:43 2016
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.internal.util.PartUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.enterprise.context.SessionScoped;
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import javax.faces.event.AjaxBehaviorEvent;
+import javax.inject.Named;
+import javax.servlet.http.Part;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+@SessionScoped
+@Named
+public class UploadController implements Serializable {
+
+  private static final Logger LOG = LoggerFactory.getLogger(UploadController.class);
+
+  private Part fileBasic;
+  private Part fileContentType;
+  private Part fileAjax;
+  private List<UploadItem> uploadItems = new ArrayList<UploadItem>();
+
+  public Part getFileBasic() {
+    return fileBasic;
+  }
+
+  public void setFileBasic(Part fileBasic) {
+    this.fileBasic = fileBasic;
+  }
+
+  public Part getFileContentType() {
+    return fileContentType;
+  }
+
+  public void setFileContentType(Part fileContentType) {
+    this.fileContentType = fileContentType;
+  }
+
+  public Part getFileAjax() {
+    return fileAjax;
+  }
+
+  public void setFileAjax(Part fileAjax) {
+    this.fileAjax = fileAjax;
+  }
+
+  public String uploadBasic() {
+    upload(fileBasic);
+    return null;
+  }
+
+  public String uploadContentType() {
+    upload(fileContentType);
+    return null;
+  }
+
+  public void uploadAjax(AjaxBehaviorEvent event) {
+    upload(fileAjax);
+  }
+
+  private void upload(Part part) {
+    LOG.info("checking file item");
+    if (part == null || part.getSize() == 0) {
+      return;
+    }
+    LOG.info("type=" + part.getContentType());
+    LOG.info("size=" + part.getSize());
+    LOG.info("cd = " + part.getHeader("Content-Disposition"));
+    final String submittedFileName = PartUtils.getSubmittedFileName(part);
+    LOG.info("name=" + submittedFileName);
+    uploadItems.add(new UploadItem(submittedFileName, part.getSize(), part.getContentType()));
+    FacesContext.getCurrentInstance().addMessage(
+            null, new FacesMessage(FacesMessage.SEVERITY_INFO, "File was uploaded: " + submittedFileName, null));
+  }
+
+  public List<UploadItem> getUploadItems() {
+    return uploadItems;
+  }
+}

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/actionlistener/SimpleTabChangeListener.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/actionlistener/SimpleTabChangeListener.java?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/actionlistener/SimpleTabChangeListener.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/actionlistener/SimpleTabChangeListener.java Wed Apr  6 09:01:43 2016
@@ -21,22 +21,35 @@ package org.apache.myfaces.tobago.exampl
 
 import org.apache.myfaces.tobago.event.TabChangeEvent;
 import org.apache.myfaces.tobago.event.TabChangeListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class SimpleTabChangeListener implements TabChangeListener {
 
-  private static final Logger LOG = LoggerFactory.getLogger(SimpleTabChangeListener.class);
+  private int count = 0;
+  private int newTabIndex = -1;
+  private int oldTabIndex = -1;
+  private String clientId;
 
-  public SimpleTabChangeListener() {
-    LOG.info("new SimpleTabChangeListener id='" + System.identityHashCode(this) + "'");
+  @Override
+  public void processTabChange(TabChangeEvent tabChangeEvent) {
+    count++;
+    newTabIndex = tabChangeEvent.getNewTabIndex();
+    oldTabIndex = tabChangeEvent.getOldTabIndex();
+    clientId = tabChangeEvent.getComponent().getClientId();
   }
 
-  @Override
-  public void processTabChange(final TabChangeEvent tabChangeEvent) {
-    LOG.info("TabState has changed: from tabIndex '" + tabChangeEvent.getOldTabIndex()
-        + "' to tabIndex '" + tabChangeEvent.getNewTabIndex()
-        + "' id='" + tabChangeEvent.getComponent().getClientId() + "'");
+  public int getCount() {
+    return count;
+  }
+
+  public int getNewTabIndex() {
+    return newTabIndex;
+  }
+
+  public int getOldTabIndex() {
+    return oldTabIndex;
+  }
 
+  public String getClientId() {
+    return clientId;
   }
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.xhtml Wed Apr  6 09:01:43 2016
@@ -26,13 +26,19 @@
   <p>The <code class="language-markup">&lt;tc:date/&gt;</code>
     tag create an inputfield with a button to open a calendar to edit the date.
     The date can also be edited in the textfield.</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/date.html"/>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:date/>" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/date.html"/>
+    |
+    <tc:link label="&lt;f:convertDateTime/>"
+             link="https://docs.oracle.com/javaee/6/javaserverfaces/2.0/docs/pdldocs/facelets/f/convertDateTime.html"/>
+  </p>
+
   <tc:section label="Basics">
     <p>In general, a date should always have a label. To get a label use the <code>label</code> attribute.</p>
     <p>It is recommended to use a pattern. For that, use <code>&lt;f:convertDateTime&gt;</code>.</p>
-    <p>The
-      <code>value</code> must be a Date(link to https://docs.oracle.com/javase/8/docs/api/java/util/Date.html) or a string with a matching pattern.
-    </p>
+    <p>The <code>value</code> must be a
+      <tc:link label="Date" link="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html"/>
+      or a string with a matching pattern.</p>
         <pre><code class="language-markup">&lt;tc:date label="Date" value="18.03.2016"&gt;
   &lt;f:convertDateTime pattern="dd.MM.yyyy"/&gt;
 &lt;/tc:date&gt;</code></pre>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml Wed Apr  6 09:01:43 2016
@@ -18,71 +18,29 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core">
-
-  <ui:param name="title" value="Input"/>
-
-  <tc:panel>
+                xmlns:ui="http://java.sun.com/jsf/facelets">
+  <ui:param name="title" value="#{overviewBundle.input}"/>
+  <p>With the input components, a text or a date can be entered.
+    Input components should always use the <code>label</code> attribute.</p>
 
+  <tc:section label="#{overviewBundle.in}">
+    <pre><code class="language-markup">&lt;tc:in label="Input" value="Some Text"/></code></pre>
     <tc:in id="i1" label="Input" value="Some Text"/>
+  </tc:section>
 
-    <tc:in id="i2" label="Read Only" readonly="true" value="Some Text"/>
-
-    <tc:in id="i3" label="Disabled" disabled="true" value="Some Text"/>
-
-    <tc:flexLayout columns="100px;*">
-      <tc:label id="l" value="Short Label"/>
-      <tc:in id="i4" value="Some Text"/>
-    </tc:flexLayout>
-
-    <tc:in id="i5" value="Some Text without Label"/>
-
-    <tc:out value="FIXME: AJAX example currently not working correctly: In.setChangeValue() will not be called."/>
-
-    <tc:panel id="panel">
-
-      <tc:in id="i6" value="#{inController.changeValue}" label="on change">
-        <f:ajax render="panel" listener="#{inController.update}"/>
-      </tc:in>
-
-      <tc:out id="o" value="#{inController.changeValue}" label="value on server"/>
-
-    </tc:panel>
-
-    <tc:in id="i7" label="Input (focus)" focus="true" value="Some Text"/>
-
-    <tc:in id="i8" label="Password" password="true" value="Asterics"/>
-
-    <tc:textarea id="t1"
-        value="Some text without label, some text without label, some text without label, some text without label, some text without label, some text without label, some text without label, some text without label, some text without label, some text without label, ..."/>
-
-    <tc:textarea id="t2" label="Text Area"
-                 value="Some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, ..."/>
-
-    <tc:textarea id="t3" label="Read Only"
-                 readonly="true"
-                 value="Some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, ..."/>
-
-    <tc:textarea id="t4" label="Disabled"
-                 disabled="true"
-                 value="Some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, ..."/>
-
-    <tc:textarea id="t5" label="Area (focus)" focus="true"
-                 value="Some Text"/>
-
-    <tc:flowLayout>
-      <tc:out id="f1" value="An input field is "/>
-      <tc:in id="f2" value="here" labelLayout="none"/>
-      <tc:out id="f3" value=" inside of a floating text."/>
-    </tc:flowLayout>
-
-    <tc:textarea id="t6" value="#{textarea.changeValue}" label="on change">
-      <f:ajax render="ot" />
-    </tc:textarea>
-
-    <tc:out id="ot" value="#{textarea.changeValue}" label="on server"/>
-
-  </tc:panel>
+  <tc:section label="#{overviewBundle.suggest}">
+    <pre><code class="language-markup"></code></pre>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.textarea}">
+    <pre><code class="language-markup">&lt;tc:textarea label="Text Area" value="Some Text"/></code></pre>
+    <tc:textarea id="t1" label="Text Area" value="Some Text"/>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.date}">
+    <pre><code class="language-markup">&lt;tc:date label="Date" value="2015-12-21"/></code></pre>
+    <tc:date id="d1" label="Date" value="2015-12-21"/>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml Wed Apr  6 09:01:43 2016
@@ -20,9 +20,61 @@
 <ui:composition template="/main.xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets">
+  <ui:param name="title" value="#{overviewBundle.messages} &lt;tc:messages>"/>
+  <p>Messages are displayed via <code class="language-markup">&lt;tc:messages/></code> tag.</p>
+  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
+           link="#{overviewBundle.tagDocUrl}/messages.html"/>
 
-  <ui:param name="title" value="TODO"/>
+  <tc:section label="Create Message">
+    <p>To create messages, press one of the following buttons. The message will be displayed in the tabgroup.</p>
+    <tc:button label="Fatal" action="#{messagesController.createFatalMessage}"/>
+    <tc:button label="Error" action="#{messagesController.createErrorMessage}"/>
+    <tc:button label="Warn" action="#{messagesController.createWarnMessage}"/>
+    <tc:button label="Info" action="#{messagesController.createInfoMessage}"/>
+    <tc:button label="7 Messages" action="#{messagesController.createSevenMessages}"/>
+  </tc:section>
 
-TODO
+  <tc:tabGroup switchType="reloadPage">
+    <tc:tab label="Number of messages">
+      <p>A limit for the number of messages can be set with the <code>maxNumber</code> attribute.</p>
+      <pre><code class="language-markup">&lt;tc:messages maxNumber="2"/></code></pre>
+      <tc:messages maxNumber="2"/>
+    </tc:tab>
 
+    <tc:tab label="Severity">
+      <p>The range, which severities are displayed, can be set with <code>minSeverity</code> and
+        <code>maxSeverity</code>. In this example, only warnings and error should be displayed.</p>
+      <pre><code
+              class="language-markup">&lt;tc:messages minSeverity="#{messagesController.severityWarn}" maxSeverity="#{messagesController.severityError}"/></code></pre>
+      <tc:messages minSeverity="#{messagesController.severityWarn}" maxSeverity="#{messagesController.severityError}"/>
+    </tc:tab>
+
+    <tc:tab label="Details">
+      <p>A message can also contain 'details', you can show it with <code>showDetail</code>.</p>
+      <pre><code class="language-markup">&lt;tc:messages showDetail="true"/></code></pre>
+      <tc:messages showDetail="true"/>
+    </tc:tab>
+
+    <tc:tab label="Hide summary">
+      <p>In this example, only the details are shown. To hide the summary, use <code>showSummary</code>.</p>
+      <pre><code class="language-markup">&lt;tc:messages showSummary="false" showDetail="true"/></code></pre>
+      <tc:messages showSummary="false" showDetail="true"/>
+    </tc:tab>
+
+    <tc:tab label="Order">
+      <tc:segmentLayout medium="6;6">
+        <tc:box label="severity">
+          <p>By default, messages are sorted by severity.
+            Therefor, the <code>orderBy</code> attribute is not needed in this case.</p>
+          <pre><code class="language-markup">&lt;tc:messages orderBy="severity"/></code></pre>
+          <tc:messages orderBy="severity"/>
+        </tc:box>
+        <tc:box label="occurrence">
+          <p>Messages displayed in the order they occurred.</p>
+          <pre><code class="language-markup">&lt;tc:messages orderBy="occurrence"/></code></pre>
+          <tc:messages orderBy="occurrence"/>
+        </tc:box>
+      </tc:segmentLayout>
+    </tc:tab>
+  </tc:tabGroup>
 </ui:composition>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/50-progress/progress.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/50-progress/progress.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/50-progress/progress.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/50-progress/progress.xhtml Wed Apr  6 09:01:43 2016
@@ -18,40 +18,56 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets"
                 xmlns:f="http://java.sun.com/jsf/core">
-  <ui:param name="title" value="#{overviewBundle.progress}"/>
-
-  <tc:panel>
-
-    <p>Simple progress example with reload facet</p>
-
-    <p><b>TODO:</b> May be subject of change... use AjaxClientBehavior</p>
-
+  <ui:param name="title" value="#{overviewBundle.progress} &lt;tc:progress>"/>
+  <p>The <code class="language-markup">&lt;tc:progress/></code> tag create a progressbar.
+    The most important attribute is <code>value</code>.
+    It could be a <code>double</code> - in that case, you need the attribute <code>max</code> as well.
+    Or it is of type <code>BoundedRangeModel</code>.</p>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:progress/>" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/progress.html"/>
+    |
+    <tc:link label="BoundedRangeModel"
+             link="https://docs.oracle.com/javase/7/docs/api/javax/swing/BoundedRangeModel.html"/></p>
+
+  <tc:section label="Basics">
+    <p>A static progressbar, with <code>value</code> of type <code>double</code>.</p>
+    <pre><code class="language-markup">&lt;tc:progress value="15.8" max="20"/></code></pre>
+    <tc:progress value="14.9" max="20"/>
+  </tc:section>
+
+  <tc:section label="Button">
+    <p>By pressing the button, progress is added to the progressbar.</p>
+    <pre><code class="language-markup">&lt;tc:button label="Add Progress" action="\#{progressController.addProgress}"/>
+&lt;tc:progress value="\#{progressController.progress}"/></code></pre>
+    <tc:button id="b1" label="Add Progress" action="#{progressController.addProgress}"/>
+    <br/>
+    <tc:progress value="#{progressController.progress}"/>
+  </tc:section>
+
+  <tc:section label="Time">
+    <p>In this example, the current time is displayed as progressbars.</p>
+    <pre><code
+            class="language-markup">&lt;tc:progress value="\#{progressController.currentHours}" max="23"/></code></pre>
     <tc:panel>
-      <!--
-            <f:facet name="reload">
-              <tc:reload frequency="2000" update="#{progress.update}"/>
-            </f:facet>
-      -->
-      <tc:flexLayout columns="auto;*">
-
-        <tc:label value="Progress:"/>
-        <tc:progress value="#{progress.progress}">
-          <!--
-                    <f:facet name="complete">
-                      <tc:command action="#{progress.reset}"/>
-                    </f:facet>
--->
-        </tc:progress>
-      </tc:flexLayout>
+      <f:facet name="reload">
+        <tc:reload frequency="1000" update="true"/>
+      </f:facet>
+      <tc:out id="o1" label="Current Date" value="#{progressController.currentDate}">
+        <f:convertDateTime pattern="HH:mm:ss"/>
+      </tc:out>
+
+      <tc:label value="Hour"/>
+      <tc:progress value="#{progressController.currentHours}" max="23"/>
+      <br/>
+      <tc:label value="Minutes"/>
+      <tc:progress value="#{progressController.currentMinutes}" max="59"/>
+      <br/>
+      <tc:label value="Seconds"/>
+      <tc:progress value="#{progressController.currentSeconds}" max="59"/>
     </tc:panel>
-
-    <tc:flexLayout columns="auto;*">
-      <tc:label value="Progress:"/>
-      <tc:progress value="0.3" max="1"/>
-    </tc:flexLayout>
-
-  </tc:panel>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/output.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/output.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/output.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/output.xhtml Wed Apr  6 09:01:43 2016
@@ -22,32 +22,37 @@
                 xmlns:ui="http://java.sun.com/jsf/facelets">
 
   <ui:param name="title" value="#{overviewBundle.output}"/>
+  <p>The output components display data in different ways.</p>
 
-  <tc:label value="_Single Label"/>
+  <tc:section label="#{overviewBundle.output}">
+    <pre><code class="language-markup">&lt;tc:out label="Output" value="Some Text"/></code></pre>
+    <tc:out id="o1" label="Output" value="Some Text"/>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.label}">
+    <pre><code class="language-markup">&lt;tc:label value="Some Text"/></code></pre>
+    <tc:label value="Some Text"/>
+  </tc:section>
 
-  <tc:out label="Phone Number" value="+1 234 567890">
-    <tc:gridLayoutConstraint columnSpan="2"/>
-  </tc:out>
-
-  <tc:out value="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque consequat, libero eget porta mattis,
-  risus velit congue magna, at posuere sem orci vitae turpis. Integer pulvinar. Cras libero. Proin vestibulum tempor
-  urna. Nulla odio nisl, auctor vitae, faucibus pharetra, feugiat eget, justo. Suspendisse at tellus non justo dictum
-  tincidunt. Aenean placerat nunc id tortor. Donec mollis ornare pede. Vestibulum ut arcu et dolor auctor varius.
-  Praesent tincidunt, eros quis vulputate facilisis, orci turpis sollicitudin justo, id faucibus nunc orci sed purus.
-  Proin ligula erat, sollicitudin id, rhoncus eget, nonummy sit amet, risus. Aenean arcu lorem, facilisis et, posuere
-  sed, ultrices tincidunt, nunc. Sed ac massa. Quisque lacinia. Donec quis nibh.
-  Aenean ac diam eget mi feugiat pulvinar. Etiam orci. Aliquam nec arcu nec eros ornare pulvinar. Sed nec velit.
-  Ut ut orci. Nulla varius. Maecenas feugiat. Etiam varius ipsum et orci. Ut consectetuer odio sit amet libero.
-  Nulla iaculis adipiscing purus. Maecenas a sed."/>
-
-  <tc:flowLayout>
-    <tc:label value="messages tag"/>
+  <tc:section label="#{overviewBundle.messages}">
+    <pre><code class="language-markup">&lt;tc:messages/></code></pre>
     <tc:messages/>
-  </tc:flowLayout>
-
-  <tc:flowLayout>
-    <tc:label value="image tag"/>
-    <tc:image value="image/tobago_head.png" width="150" height="83"/>
-  </tc:flowLayout>
+    <tc:button id="b1" label="Create Info Message" action="#{messagesController.createInfoMessage}"/>
+  </tc:section>
 
+  <tc:section label="#{overviewBundle.image}">
+    <pre><code class="language-markup">&lt;tc:image value="image/tobago_head.png"/></code></pre>
+    <tc:image value="image/tobago_head.png"/>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.progress}">
+    <pre><code class="language-markup">&lt;tc:progress value="2" max="3"/></code></pre>
+    <tc:progress value="2" max="3"/>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.object}">
+    <pre><code class="language-markup">&lt;tc:object src="https://www.google.com/maps/..."/></code></pre>
+    <tc:object
+            src="https://www.google.com/maps/embed?pb=!1m10!1m8!1m3!1d137123.69440217633!2d-60.687103!3d11.249123!3m2!1i1024!2i768!4f13.1!5e1!3m2!1sde!2sus!4v1458208065829"/>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/20-selectOneChoice/selectOneChoice.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/20-selectOneChoice/selectOneChoice.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/20-selectOneChoice/selectOneChoice.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/20-selectOneChoice/selectOneChoice.xhtml Wed Apr  6 09:01:43 2016
@@ -28,8 +28,15 @@
   <code class="language-markup">&lt;tc:selectItem/></code> for static entries or<br/>
     <code class="language-markup">&lt;tc:selectItems value="\#{controller.list}"/></code> for entries from
     a controller.</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/selectOneChoice.html"/>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:selectOneChoice/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectOneChoice.html"/>
+    |
+    <tc:link label="&lt;tc:selectItem/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItem.html"/>
+    |
+    <tc:link label="&lt;tc:selectItems/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItems.html"/></p>
 
   <tc:section label="Basics">
     <p>Dropdown Box with hardcoded items. The second item is disabled.
@@ -66,7 +73,8 @@
     <p>Select a planet and a moon. The list of moons depends on the selected planet.
       The planet-dropdownbox contain a <code class="language-markup">&lt;f:ajax render="moonbox"/></code>.
       With it, the moon-dropdownbox will be rerendered, after a value changed in planet-dropdownbox.</p>
-    <pre><code class="language-markup">&lt;tc:selectOneChoice label="Planet" value="\#{selectOneChoiceController.planet}">
+    <pre><code class="language-markup">&lt;tc:selectOneChoice label="Planet"
+      value="\#{selectOneChoiceController.planet}">
   &lt;f:selectItems value="\#{selectOneChoiceController.planets}"/>
   &lt;f:ajax render="moonbox"/>
 &lt;/tc:selectOneChoice>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/30-selectOneRadio/selectOneRadio.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/30-selectOneRadio/selectOneRadio.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/30-selectOneRadio/selectOneRadio.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/30-selectOneRadio/selectOneRadio.xhtml Wed Apr  6 09:01:43 2016
@@ -27,8 +27,15 @@
     Static entries are added with <code class="language-markup">&lt;tc:selectItem/></code> tag.
     A list from a controller is added with
     <code class="language-markup">&lt;tc:selectItems value="\#{controller.list}"/></code>.</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/selectOneRadio.html"/>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:selectOneRadio/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectOneRadio.html"/>
+    |
+    <tc:link label="&lt;tc:selectItem/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItem.html"/>
+    |
+    <tc:link label="&lt;tc:selectItems/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItems.html"/></p>
 
   <tc:section label="Basics">
     <p>Radiobutton group with a label. The last item is disabled.

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/40-selectOneListbox/selectOneListbox.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/40-selectOneListbox/selectOneListbox.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/40-selectOneListbox/selectOneListbox.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/40-selectOneListbox/selectOneListbox.xhtml Wed Apr  6 09:01:43 2016
@@ -24,9 +24,17 @@
                 xmlns:f="http://java.sun.com/jsf/core">
   <ui:param name="title" value="#{overviewBundle.selectOneListbox} &lt;tc:selectOneListbox>"/>
   <p>The <code class="language-markup">&lt;tc:selectOneListbox/></code> create a list of entries, where only one
-    entry can be selected.</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/selectOneListbox.html"/>
+    entry can be selected. Items can be added with <code class="language-markup">&lt;tc:selectItem/></code>
+    or <code class="language-markup">&lt;tc:selectItems/></code>.</p>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:selectOneListbox/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectOneListbox.html"/>
+    |
+    <tc:link label="&lt;tc:selectItem/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItem.html"/>
+    |
+    <tc:link label="&lt;tc:selectItems/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItems.html"/></p>
 
   <tc:section label="Basics">
     <p>If the number of rows is not set, die height of the list depends on the number of entries.

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/selectManyCheckbox.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/selectManyCheckbox.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/selectManyCheckbox.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/selectManyCheckbox.xhtml Wed Apr  6 09:01:43 2016
@@ -27,8 +27,16 @@
     The items are added via <code class="language-markup">&lt;tc:selectItem/></code> for static entries or
     <code class="language-markup">&lt;tc:selectItems value="\#{controller.list}"/></code> for entries from a
     controller.</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/selectManyCheckbox.html"/>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:selectManyCheckbox/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectManyCheckbox.html"/>
+    |
+    <tc:link label="&lt;tc:selectItem/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItem.html"/>
+    |
+    <tc:link label="&lt;tc:selectItems/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItems.html"/></p>
+
   <tc:section label="Basics">
     <p>Checkbox Group with two items. The second one is disabled.</p>
     <pre><code class="language-markup">&lt;tc:selectManyCheckbox label="Checkbox Group"></code></pre>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/60-selectManyListbox/selectManyListbox.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/60-selectManyListbox/selectManyListbox.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/60-selectManyListbox/selectManyListbox.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/60-selectManyListbox/selectManyListbox.xhtml Wed Apr  6 09:01:43 2016
@@ -23,12 +23,20 @@
                 xmlns:ui="http://java.sun.com/jsf/facelets"
                 xmlns:f="http://java.sun.com/jsf/core">
   <ui:param name="title" value="#{overviewBundle.selectManyListbox} &lt;tc:selectManyListbox>"/>
-<p>The <code class="language-markup">&lt;tc:selectManyListbox/></code> create a list,
-  where more than one entry could be selected. Entries are added with
-  <code class="language-markup"><tc:selectItem/></code> (static) or
-  <code class="language-markup"><tc:selectItems value="\#{controller.list}"/></code> (from controller).</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/selectManyListbox.html"/>
+  <p>The <code class="language-markup">&lt;tc:selectManyListbox/></code> create a list,
+    where more than one entry could be selected. Entries are added with
+    <code class="language-markup">&lt;tc:selectItem/></code> (static) or
+    <code class="language-markup">&lt;tc:selectItems value="\#{controller.list}"/></code> (from controller).</p>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:selectManyListbox/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectManyListbox.html"/>
+    |
+    <tc:link label="&lt;tc:selectItem/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItem.html"/>
+    |
+    <tc:link label="&lt;tc:selectItems/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItems.html"/></p>
+
   <tc:section label="Basics">
     <p>In this example, there is a list with three items. The second one is disabled with the
       <code>itemDisabled</code> attribute of the <code class="language-markup"><tc:selectItem/></code> tag.</p>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/70-selectManyShuttle/selectManyShuttle.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/70-selectManyShuttle/selectManyShuttle.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/70-selectManyShuttle/selectManyShuttle.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/70-selectManyShuttle/selectManyShuttle.xhtml Wed Apr  6 09:01:43 2016
@@ -29,8 +29,16 @@
     has at least seven rows, values less than seven have no effect.
     Items are added via <code class="language-markup">&lt;tc:selectItem></code> (static) or
     <code class="language-markup">&lt;tc:selectItems></code> (dynamic).</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/selectManyShuttle.html"/>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:selectManyShuttle/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectManyShuttle.html"/>
+    |
+    <tc:link label="&lt;tc:selectItem/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItem.html"/>
+    |
+    <tc:link label="&lt;tc:selectItems/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/selectItems.html"/></p>
+
   <tc:section label="Basics">
     <pre><code class="language-markup">&lt;tc:selectManyShuttle label="Shuttle List" size="7"></code></pre>
     <tc:selectManyShuttle id="s1" label="Shuttle List" size="7">

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/select.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/select.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/select.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/select.xhtml Wed Apr  6 09:01:43 2016
@@ -18,123 +18,61 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core">
-  <ui:param name="title" value="Select Controls"/>
-  <tc:panel>
-    <f:facet name="layout">
-      <tc:gridLayout
-          rows="auto;auto;auto;auto;auto;auto;45px;45px;auto;auto;auto;200px;200px;auto;auto;auto;auto;auto;*;auto"/>
-    </f:facet>
-
-    <tc:selectBooleanCheckbox label="_Letter"/>
-    <tc:selectBooleanCheckbox label="_Phone"/>
-    <tc:selectBooleanCheckbox label="_eMail"/>
-    <tc:selectBooleanCheckbox label="_Fax">
-      <f:facet name="click">
-        <tc:command/>
-      </f:facet>
-    </tc:selectBooleanCheckbox>
-
-    <!--<tc:selectBooleanCheckbox label="Value is Boolean" value="#{selectBooleanCheckboxController.normalBoolean}"/>-->
-
-    <!--<tc:selectBooleanCheckbox label="Converter for Boolean" value="#{selectBooleanCheckboxController.onOffString}">-->
-      <!--<f:converter converterId="org.apache.myfaces.tobago.example.demo.OnOffConverter"/>-->
-    <!--</tc:selectBooleanCheckbox>-->
-
-    <tc:selectManyListbox label="Contact via: ">
-      <f:selectItem itemValue="Phone" itemLabel="Phone"/>
-      <f:selectItem itemValue="eMail" itemLabel="eMail"/>
-      <f:selectItem itemValue="Mobile" itemLabel="Mobile"/>
-      <f:selectItem itemValue="Fax" itemLabel="Faxscimile"/>
-    </tc:selectManyListbox>
-    <tc:selectManyListbox label="Contact via: ">
-      <f:selectItem itemValue="Phone" itemLabel="Phone"/>
-      <f:selectItem itemValue="eMail" itemLabel="eMail"/>
-      <f:selectItem itemValue="Mobile" itemLabel="Mobile"/>
-      <f:selectItem itemValue="Fax" itemLabel="Faxscimile"/>
-      <f:facet name="click">
-        <tc:command/>
-      </f:facet>
-    </tc:selectManyListbox>
-
-    <tc:selectOneChoice value="selectOneChoice0"
-                        label="Contact me1: ">
-      <tc:selectItem itemLabel="Letter" itemValue="letter"/>
-      <tc:selectItem itemLabel="Phone" itemValue="phone"/>
-      <tc:selectItem itemLabel="eMail" itemValue="eMail"/>
-      <tc:selectItem itemLabel="Fax" itemValue="fax"/>
+                xmlns:ui="http://java.sun.com/jsf/facelets">
+  <ui:param name="title" value="#{overviewBundle.select}"/>
+  <p>Tobago provides several ways to select an option.
+    Entries are added with <code class="language-markup">&lt;tc:selectItem/></code> or
+    <code class="language-markup">&lt;tc:selectItems value="\#{controller.list}"/></code>
+    for most select components.</p>
+
+  <tc:section label="#{overviewBundle.selectBooleanCheckbox}">
+    <pre><code class="language-markup">&lt;tc:selectBooleanCheckbox label="Checkbox"/></code></pre>
+    <tc:selectBooleanCheckbox label="Checkbox"/>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.selectOneChoice}">
+    <pre><code class="language-markup">&lt;tc:selectOneChoice label="Dropdown Box"></code></pre>
+    <tc:selectOneChoice label="Dropdown Box">
+      <tc:selectItems value="#{selectController.entries}"/>
     </tc:selectOneChoice>
+  </tc:section>
 
-
-    <!-- surround this with a tc:form if you get validatation or required messages from other fields.
-    With tc:form you enable partial validation and update model.
-    <tc:form>
-    -->
-    <tc:selectOneChoice value="#{reference.vehicle}" id="vehicle"
-                        label="Vehicle: " valueChangeListener="#{reference.valueChanged}">
-      <f:selectItems value="#{reference.selectItems}"/>
-      <f:ajax listener="#{reference.action}" render="vehicle"/>
-    </tc:selectOneChoice>
-    <tc:selectOneChoice value="#{reference.manufacturer}"
-                        label="Manufacturer: " valueChangeListener="#{reference.valueChanged}">
-      <f:selectItems value="#{reference.manufacturerSelectItems}"/>
-    </tc:selectOneChoice>
-
-    <tc:selectOneListbox label="Contact via: ">
-      <f:selectItem itemValue="Phone" itemLabel="Phone"/>
-      <f:selectItem itemValue="eMail" itemLabel="eMail"/>
-      <f:selectItem itemValue="Mobile" itemLabel="Mobile"/>
-      <f:selectItem itemValue="Fax" itemLabel="Faxscimile"/>
-    </tc:selectOneListbox>
-    <tc:selectOneListbox label="Contact via: ">
-      <f:selectItem itemValue="Phone" itemLabel="Phone"/>
-      <f:selectItem itemValue="eMail" itemLabel="eMail"/>
-      <f:selectItem itemValue="Mobile" itemLabel="Mobile"/>
-      <f:selectItem itemValue="Fax" itemLabel="Faxscimile"/>
-      <f:facet name="click">
-        <tc:command/>
-      </f:facet>
-    </tc:selectOneListbox>
-
-    <tc:separator label="Layout"/>
-
-    <tc:selectOneRadio>
-      <tc:selectItem itemValue="sun" itemLabel="Sun"/>
-      <tc:selectItem itemValue="moon" itemLabel="Moon"/>
-      <tc:selectItem itemValue="stars" itemLabel="Stars" itemDisabled="true"/>
+  <tc:section label="#{overviewBundle.selectOneRadio}">
+    <pre><code class="language-markup">&lt;tc:selectOneRadio label="Radio Group" labelLayout="top"></code></pre>
+    <tc:selectOneRadio label="Radio Group" labelLayout="top">
+      <tc:selectItem itemLabel="Option One"/>
+      <tc:selectItem itemLabel="Option Two"/>
     </tc:selectOneRadio>
+  </tc:section>
 
-    <tc:selectOneRadio inline="true">
-      <tc:selectItem itemValue="sun" itemLabel="Sun"/>
-      <tc:selectItem itemValue="moon" itemLabel="Moon"/>
-      <tc:selectItem itemValue="stars" itemLabel="Stars" itemDisabled="true"/>
-    </tc:selectOneRadio>
+  <tc:section label="#{overviewBundle.selectOneListbox}">
+    <pre><code class="language-markup">&lt;tc:selectOneListbox label="Listbox" size="3"></code></pre>
+    <tc:selectOneListbox label="Listbox" size="3">
+      <tc:selectItems value="#{selectController.entries}"/>
+    </tc:selectOneListbox>
+  </tc:section>
 
-    <tc:selectManyCheckbox>
-      <tc:selectItem itemValue="sun" itemLabel="Sun"/>
-      <tc:selectItem itemValue="moon" itemLabel="Moon"/>
-      <tc:selectItem itemValue="stars" itemLabel="Stars" itemDisabled="true"/>
+  <tc:section label="#{overviewBundle.selectManyCheckbox}">
+    <pre><code class="language-markup">&lt;tc:selectManyCheckbox label="Checkbox Group" labelLayout="top"></code></pre>
+    <tc:selectManyCheckbox label="Checkbox Group" labelLayout="top">
+      <tc:selectItem itemLabel="Checkbox One"/>
+      <tc:selectItem itemLabel="Checkbox Two"/>
     </tc:selectManyCheckbox>
+  </tc:section>
 
-    <tc:selectManyShuttle label="Shuttle">
-      <tc:selectItem itemValue="sun" itemLabel="Sun"/>
-      <tc:selectItem itemValue="moon" itemLabel="Moon"/>
-      <tc:selectItem itemValue="stars" itemLabel="Stars (Disabled)" itemDisabled="true"/>
-    </tc:selectManyShuttle>
+  <tc:section label="#{overviewBundle.selectManyListbox}">
+    <pre><code class="language-markup">&lt;tc:selectManyListbox label="List" size="3"></code></pre>
+    <tc:selectManyListbox label="List" size="3">
+      <tc:selectItems value="#{selectController.entries}"/>
+    </tc:selectManyListbox>
+  </tc:section>
 
-    <tc:selectManyShuttle disabled="true" label="disabled">
-      <tc:selectItem itemValue="sun" itemLabel="Sun"/>
-      <tc:selectItem itemValue="moon" itemLabel="Moon"/>
-      <tc:selectItem itemValue="stars" itemLabel="Stars"/>
+  <tc:section label="#{overviewBundle.selectManyShuttle}">
+    <pre><code class="language-markup">&lt;tc:selectManyShuttle label="Shuttle List" size="7"></code></pre>
+    <tc:selectManyShuttle label="Shuttle List" size="7">
+      <tc:selectItems value="#{selectController.entries}"/>
     </tc:selectManyShuttle>
-
-    <tc:flowLayout>
-      <tc:style textAlign="right"/>
-      <tc:button action="/content/25-select/select.xhtml" label="Submit" defaultCommand="true"/>
-    </tc:flowLayout>
-
-  </tc:panel>
-
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button%2Blink/button%2Blink.xhtml?rev=1737949&r1=1737948&r2=1737949&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml Wed Apr  6 09:01:43 2016
@@ -23,11 +23,10 @@
   <ui:param name="title" value="#{overviewBundle.button_link} &lt;tc:button> &lt;tc:link>"/>
   <p>The classic link can be set with the <code class="language-markup">&lt;tc:link/></code> tag.
     You can also set a link by <code class="language-markup">&lt;tc:button/></code>.</p>
-  <tc:link label="Tag Library Documentation for &lt;tc:link/>" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/link.html"/>
-  |
-  <tc:link label="Tag Library Documentation for &lt;tc:button/>" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/button.html"/>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:link/>" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/link.html"/>
+    |
+    <tc:link label="&lt;tc:button/>" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/button.html"/></p>
 
   <tc:section label="Basics">
     <tc:section label="&lt;tc:link>">
@@ -91,7 +90,8 @@
       For example a new window/tab or a specific iframe (<code class="language-markup">&lt;tc:object/></code>).</p>
     <tc:section label="New Window">
       <pre><code
-              class="language-markup">&lt;tc:link label="open link in new window" link="https://www.apache.org/" target="_blank"/></code></pre>
+              class="language-markup">&lt;tc:link label="open link in new window"
+        link="https://www.apache.org/" target="_blank"/></code></pre>
       <p><tc:link label="open link in new window" link="https://www.apache.org/" target="_blank"/></p>
     </tc:section>
     <tc:section label="IFrame">