diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/Desktop.java b/zkwebui/WEB-INF/src/org/adempiere/webui/Desktop.java
index 2c7d3e3361..b8bf288142 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/Desktop.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/Desktop.java
@@ -68,18 +68,19 @@ import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zkex.zul.Borderlayout;
import org.zkoss.zkex.zul.Center;
-import org.zkoss.zkex.zul.East;
import org.zkoss.zkex.zul.North;
import org.zkoss.zkex.zul.West;
+import org.zkoss.zkmax.zul.Portalchildren;
+import org.zkoss.zkmax.zul.Portallayout;
import org.zkoss.zul.Box;
-import org.zkoss.zul.Caption;
-import org.zkoss.zul.Groupbox;
-import org.zkoss.zul.Hbox;
import org.zkoss.zul.Iframe;
import org.zkoss.zul.Image;
+import org.zkoss.zul.Panel;
+import org.zkoss.zul.Panelchildren;
import org.zkoss.zul.Separator;
import org.zkoss.zul.Tab;
import org.zkoss.zul.Tabpanels;
+import org.zkoss.zul.Toolbar;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Treerow;
import org.zkoss.zul.Vbox;
@@ -147,6 +148,9 @@ public class Desktop extends AbstractUIPart implements MenuListener, Serializabl
w.setWidth("300px");
w.setCollapsible(true);
w.setSplittable(true);
+ w.setTitle("Menu");
+ w.setTooltiptext("Application Menu");
+ w.setFlex(true);
// w.setAutoscroll(true);
pnlSide.setParent(w);
@@ -167,96 +171,103 @@ public class Desktop extends AbstractUIPart implements MenuListener, Serializabl
Tabpanel homeTab = new Tabpanel();
windowContainer.addWindow(homeTab, Msg.getMsg(Env.getCtx(), "Home").replaceAll("&", ""), false);
- Hbox hbox = new Hbox();
- hbox.setStyle("margin: 5px");
- hbox.setSpacing("5px");
- hbox.setWidths("50%, 50%");
-
- Vbox vbCol1 = new Vbox();
- hbox.appendChild(vbCol1);
- vbCol1.setWidth("100%");
-
- Groupbox gbxFav = new Groupbox();
- vbCol1.appendChild(gbxFav);
- Caption caption = new Caption("Favourites");
+ Portallayout layout = new Portallayout();
+ homeTab.appendChild(layout);
+
+ Portalchildren left = new Portalchildren();
+ left.setWidth("30%");
+ left.setStyle("padding: 5px");
+ layout.appendChild(left);
+
+ Panel favPanel = new Panel();
+ favPanel.setStyle("margin-bottom:10px");
+ favPanel.setTitle("Favourites");
+ favPanel.setCollapsible(true);
+ favPanel.setBorder("normal");
+ left.appendChild(favPanel);
+ Panelchildren favContent = new Panelchildren();
+ favPanel.appendChild(favContent);
+ favContent.appendChild(createFavouritesPanel());
+ Toolbar favToolbar = new Toolbar();
+ favPanel.appendChild(favToolbar);
// Elaine 2008/07/24
Image img = new Image("/images/Delete24.png");
- caption.appendChild(img);
+ favToolbar.appendChild(img);
img.setAlign("right");
img.setDroppable("deleteFav");
img.addEventListener(Events.ON_DROP, this);
- //
- gbxFav.appendChild(caption);
- gbxFav.appendChild(createFavouritesPanel());
- gbxFav.setMold("3d");
- gbxFav.setClosable(true);
- // Elaine 2008/07/24
- gbxFav.setDroppable("favourite");
- gbxFav.addEventListener(Events.ON_DROP, this);
- //
- Groupbox gbxView = new Groupbox();
- vbCol1.appendChild(gbxView);
- gbxView.appendChild(new Caption("Views"));
- gbxView.appendChild(createViewPanel());
- gbxView.setMold("3d");
- gbxView.setClosable(true);
+ favContent.setDroppable("favourite");
+ favContent.addEventListener(Events.ON_DROP, this);
- Vbox vbCol2 = new Vbox();
- hbox.appendChild(vbCol2);
- vbCol2.setWidth("100%");
+ Panel viewPanel = new Panel();
+ viewPanel.setStyle("margin-bottom:10px");
+ left.appendChild(viewPanel);
+ viewPanel.setTitle("Views");
+ viewPanel.setCollapsible(true);
+ viewPanel.setBorder("normal");
+ Panelchildren viewContent = new Panelchildren();
+ viewPanel.appendChild(viewContent);
+ viewContent.appendChild(createViewPanel());
+
+ Portalchildren center = new Portalchildren();
+ layout.appendChild(center);
+ center.setWidth("45%");
+ center.setStyle("padding: 5px");
+
+ Panel calPanel = new Panel();
+ calPanel.setStyle("margin-bottom:10px");
+ calPanel.setTitle("Calendar");
+ calPanel.setCollapsible(true);
+ calPanel.setBorder("normal");
+ center.appendChild(calPanel);
+ Panelchildren calContent = new Panelchildren();
+ calPanel.appendChild(calContent);
- Groupbox gbxCalendar = new Groupbox();
- vbCol2.appendChild(gbxCalendar);
- gbxCalendar.appendChild(new Caption("Calendar"));
Iframe iframe = new Iframe("http://www.google.com/calendar/embed?showTitle=0&showTabs=0&height=300&wkst=1&bgcolor=%23FFFFFF&color=%232952A3");
iframe.setStyle("border-width: 0;");
iframe.setScrolling("no");
iframe.setWidth("300px");
iframe.setHeight("300px");
- gbxCalendar.appendChild(iframe);
- gbxCalendar.setStyle("margin-left: 5px; margin-right: 5px; margin-top: 0px; margin-bottom: 0px;");
- gbxCalendar.setMold("3d");
- gbxCalendar.setClosable(true);
+ calContent.appendChild(iframe);
- final Groupbox gbxAct = new Groupbox();
- vbCol2.appendChild(gbxAct);
- gbxAct.appendChild(new Caption("Activities"));
- gbxAct.appendChild(createActivitiesPanel());
- gbxAct.setStyle("margin-left: 5px; margin-right: 5px; margin-top: 0px; margin-bottom: 0px;");
- gbxAct.setMold("3d");
- gbxAct.setClosable(true);
+ Panel actPanel = new Panel();
+ actPanel.setStyle("margin-bottom:10px");
+ actPanel.setTitle("Activities");
+ actPanel.setCollapsible(true);
+ actPanel.setBorder("normal");
+ center.appendChild(actPanel);
+ Panelchildren actContent = new Panelchildren();
+ actPanel.appendChild(actContent);
+ actContent.appendChild(createActivitiesPanel());
- Borderlayout borderlayout = new Borderlayout();
- homeTab.appendChild(borderlayout);
- borderlayout.setWidth("100%");
- borderlayout.setHeight("100%");
- borderlayout.setStyle("position: absolute");
+ Portalchildren right = new Portalchildren();
+ layout.appendChild(right);
+ right.setWidth("25%");
+ right.setStyle("padding: 5px");
WPAPanel paPanel = WPAPanel.get();
if (paPanel != null) {
- East east = new East();
- borderlayout.appendChild(east);
- east.appendChild(paPanel);
- east.setWidth("205px");
+ Panel wpaPanel = new Panel();
+ wpaPanel.setStyle("margin-bottom:10px");
+ wpaPanel.setCollapsible(true);
+ wpaPanel.setBorder("normal");
+ wpaPanel.setTitle("Performance");
+ right.appendChild(wpaPanel);
+ Panelchildren wpaContent = new Panelchildren();
+ wpaPanel.appendChild(wpaContent);
+ wpaContent.appendChild(paPanel);
}
- Center center = new Center();
- borderlayout.appendChild(center);
- center.appendChild(hbox);
- center.setFlex(false);
- center.setAutoscroll(true);
-
//register as 0
registerWindow(homeTab);
- // enable server push for this desktop
- if (!gbxAct.getDesktop().isServerPushEnabled())
- gbxAct.getDesktop().enableServerPush(true);
+ if (!layout.getDesktop().isServerPushEnabled())
+ layout.getDesktop().enableServerPush(true);
updateInfo();
- new Thread(new UpdateInfoRunnable(gbxAct.getDesktop())).start();
+ new Thread(new UpdateInfoRunnable(layout.getDesktop())).start();
}
private class UpdateInfoRunnable implements Runnable {
@@ -624,7 +635,7 @@ public class Desktop extends AbstractUIPart implements MenuListener, Serializabl
DropEvent de = (DropEvent) event;
Component dragged = de.getDragged();
- if(comp instanceof Groupbox)
+ if(comp instanceof Panelchildren)
{
if(dragged instanceof Treerow)
{
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/LayoutUtils.java b/zkwebui/WEB-INF/src/org/adempiere/webui/LayoutUtils.java
index 8b4a2cbb3b..39e3ec3e97 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/LayoutUtils.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/LayoutUtils.java
@@ -40,12 +40,23 @@ public final class LayoutUtils {
Clients.response("deferRenderBorderLayout", as);
}
+ /**
+ *
+ * @param cls
+ * @param target
+ */
public static void addSclass(String cls, HtmlBasedComponent target) {
final String sclass = target.getSclass();
if (!hasSclass(cls, target))
target.setSclass(sclass == null ? cls : sclass + " " + cls);
}
+ /**
+ *
+ * @param cls
+ * @param target
+ * @return boolean
+ */
public static boolean hasSclass(String cls, HtmlBasedComponent target) {
String sclass = target.getSclass();
if (sclass == null)
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/ValuePreference.java b/zkwebui/WEB-INF/src/org/adempiere/webui/ValuePreference.java
index 38876a6060..fa44ca3b94 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/ValuePreference.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/ValuePreference.java
@@ -304,7 +304,7 @@ public class ValuePreference extends Window implements EventListener
box.appendChild(confirmPanel);
this.setBorder("normal");
- setLayout.setSclass("grid-no-striped");
+ setLayout.makeNoStrip();
setLayout.setOddRowSclass("even");
} // jbInit
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java
index a03b626ac7..923032986b 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java
@@ -22,6 +22,7 @@ import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.VerticalBox;
@@ -112,14 +113,14 @@ public class ProcessModalDialog extends Window implements EventListener
div.setAlign("right");
Hbox hbox = new Hbox();
Button btn = new Button("Ok");
- btn.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btn);
btn.setId("Ok");
btn.addEventListener(Events.ON_CLICK, this);
hbox.appendChild(btn);
btn = new Button("Cancel");
btn.setId("Cancel");
- btn.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btn);
btn.addEventListener(Events.ON_CLICK, this);
hbox.appendChild(btn);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java
index 73a2f8d55e..80a7cc0e92 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java
@@ -289,7 +289,7 @@ public class WArchiveViewer extends ADForm implements EventListener, ValueChange
Grid gridQuery = new Grid();
gridQuery.setWidth("500px");
gridQuery.setStyle("margin:0; padding:0;");
- gridQuery.setSclass("grid-no-striped");
+ gridQuery.makeNoStrip();
gridQuery.setOddRowSclass("even");
Rows rows = new Rows();
@@ -395,7 +395,7 @@ public class WArchiveViewer extends ADForm implements EventListener, ValueChange
Grid gridView = new Grid();
gridView.setStyle("margin:0; padding:0;");
- gridView.setSclass("grid-no-striped");
+ gridView.makeNoStrip();
gridView.setOddRowSclass("even");
rows = new Rows();
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WAttributeGrid.java b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WAttributeGrid.java
index c0e810c4a8..25548ef1e1 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WAttributeGrid.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WAttributeGrid.java
@@ -107,7 +107,7 @@ public class WAttributeGrid extends ADForm implements EventListener
Grid gridSelection = new Grid();
gridSelection.setWidth("500px");
gridSelection.setStyle("margin:0; padding:0;");
- gridSelection.setSclass("grid-no-striped");
+ gridSelection.makeNoStrip();
gridSelection.setOddRowSclass("even");
gridView.setWidth("100%");
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WPayment.java b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WPayment.java
index 3fdea3ff04..be7108d3f1 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WPayment.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/form/WPayment.java
@@ -22,6 +22,7 @@ import java.text.*;
import java.util.*;
import java.util.logging.*;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.Grid;
@@ -267,7 +268,7 @@ public class WPayment extends Window
kApprovalLabel.setText(Msg.translate(Env.getCtx(), "VoiceAuthCode"));
kAmountLabel.setText(Msg.getMsg(Env.getCtx(), "Amount"));
kOnline.setLabel(Msg.getMsg(Env.getCtx(), "Online"));
- kOnline.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", kOnline);
kOnline.addActionListener(this);
kStatus.setText(" ");
kPanel.setId("kPanel");
@@ -318,7 +319,7 @@ public class WPayment extends Window
tRoutingText.setText(Msg.translate(Env.getCtx(), "RoutingNo"));
tNumberText.setText(Msg.translate(Env.getCtx(), "AccountNo"));
tOnline.setLabel(Msg.getMsg(Env.getCtx(), "Online"));
- tOnline.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", tOnline);
tStatus.setText(" ");
tPanel.setId("tPanel");
centerPanel.appendChild(tPanel);
@@ -364,7 +365,7 @@ public class WPayment extends Window
// sRoutingField.setHeight("21em");
sStatus.setText(" ");
sOnline.setLabel(Msg.getMsg(Env.getCtx(), "Online"));
- sOnline.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", sOnline);
sPanel.setId("sPanel");
centerPanel.appendChild(sPanel);
centerLayout.add(sPanel);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPAPanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPAPanel.java
index f63fb04271..30b67a770b 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPAPanel.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPAPanel.java
@@ -54,7 +54,7 @@ public class WPAPanel extends Panel implements EventListener
appendChild(grid);
grid.setWidth("100%");
grid.setStyle("margin:0; padding:0; position: absolute;");
- grid.setSclass("grid-no-striped");
+ grid.makeNoStrip();
grid.setOddRowSclass("even");
Rows rows = new Rows();
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/wf/WWFActivity.java b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/wf/WWFActivity.java
index e542adfeac..ec741af3ba 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/wf/WWFActivity.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/wf/WWFActivity.java
@@ -122,7 +122,7 @@ public class WWFActivity extends ADForm implements EventListener
grid.setWidth("99%");
grid.setHeight("100%");
grid.setStyle("margin:0; padding:0; position: absolute; align: center; valign: center;");
- grid.setSclass("grid-no-striped");
+ grid.makeNoStrip();
grid.setOddRowSclass("even");
Rows rows = new Rows();
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/ADButtonTabList.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/ADButtonTabList.java
index 20f1584f98..ea9ca22726 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/ADButtonTabList.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/ADButtonTabList.java
@@ -15,6 +15,7 @@ package org.adempiere.webui.component;
import java.util.ArrayList;
import java.util.List;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.ADTabListModel.ADTabLabel;
import org.zkoss.zhtml.Button;
import org.zkoss.zhtml.Text;
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Button.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Button.java
index be033f9eed..d870febfc0 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Button.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Button.java
@@ -68,5 +68,5 @@ public class Button extends org.zkoss.zul.Button
*/
public void addActionListener(EventListener listener) {
addEventListener(Events.ON_CLICK, listener);
- }
+ }
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Combinationbox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Combinationbox.java
index 77ff66c1bb..cd0fd84f3e 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Combinationbox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Combinationbox.java
@@ -13,6 +13,7 @@
package org.adempiere.webui.component;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Div;
@@ -51,7 +52,7 @@ public class Combinationbox extends Div
{
textbox = new Textbox();
button = new Button();
- button.setSclass("editor-button");;
+ LayoutUtils.addSclass("editor-button", button);
appendChild(textbox);
appendChild(button);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/EditorBox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/EditorBox.java
index 00b57dd19e..adee14a046 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/EditorBox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/EditorBox.java
@@ -20,6 +20,7 @@ package org.adempiere.webui.component;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
@@ -65,7 +66,7 @@ public class EditorBox extends Panel
this.appendChild(txt);
this.appendChild(btn);
- btn.setSclass("editor-button");
+ LayoutUtils.addSclass("editor-button", btn);
String style = AEnv.isFirefox2() ? "display: inline" : "display: inline-block";
style = style + ";white-space:nowrap";
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java
index f67565b789..7b2d2637dc 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java
@@ -17,6 +17,7 @@
package org.adempiere.webui.component;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
@@ -53,7 +54,7 @@ public class FilenameBox extends Panel
textbox = new Textbox();
textbox.setStyle("display: inline");
button = new Button();
- button.setSclass("editor-button");
+ LayoutUtils.addSclass("editor-button", button);
appendChild(textbox);
appendChild(button);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Grid.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Grid.java
index 69fa7879f5..363291908e 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Grid.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Grid.java
@@ -17,6 +17,8 @@
package org.adempiere.webui.component;
+import org.zkoss.zk.ui.Component;
+
/**
*
* @author Ashley G Ramdass
@@ -26,10 +28,12 @@ package org.adempiere.webui.component;
public class Grid extends org.zkoss.zul.Grid
{
private static final long serialVersionUID = 1L;
+ private boolean noStrip = false;
public void makeNoStrip() {
- setSclass("grid-no-striped");
+ setStyle("border: none");
setOddRowSclass("even");
+ noStrip = true;
}
public Rows newRows() {
@@ -37,7 +41,14 @@ public class Grid extends org.zkoss.zul.Grid
appendChild(rows);
return rows;
+ }
+
+ public boolean insertBefore(Component child, Component refChild) {
+ boolean b = super.insertBefore(child, refChild);
+ if (b && child instanceof Rows && noStrip) {
+ Rows rows = (Rows) child;
+ rows.setNoStrip(true);
+ }
+ return b;
}
-
-
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Locationbox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Locationbox.java
index 5fe564eddc..397c6d852e 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Locationbox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Locationbox.java
@@ -20,6 +20,7 @@ package org.adempiere.webui.component;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
@@ -55,7 +56,7 @@ public class Locationbox extends Panel
txt = new Textbox();
txt.setStyle("display: inline");
btn = new Button();
- btn.setSclass("editor-button");
+ LayoutUtils.addSclass("editor-button", btn);
this.appendChild(txt);
this.appendChild(btn);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Messagebox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Messagebox.java
index 02f13bf067..7c25b23571 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Messagebox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Messagebox.java
@@ -17,6 +17,7 @@
package org.adempiere.webui.component;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zhtml.Text;
import org.zkoss.zk.ui.event.Event;
@@ -103,37 +104,37 @@ public class Messagebox extends Window implements EventListener
btnOk.setLabel("OK");
btnOk.setImage("/images/Ok16.png");
btnOk.addEventListener(Events.ON_CLICK, this);
- btnOk.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btnOk);
btnCancel.setLabel("Cancel");
btnCancel.setImage("/images/Cancel16.png");
btnCancel.addEventListener(Events.ON_CLICK, this);
- btnCancel.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btnCancel);
btnYes.setLabel("Yes");
btnYes.setImage("/images/Ok16.png");
btnYes.addEventListener(Events.ON_CLICK, this);
- btnYes.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btnYes);
btnNo.setLabel("No");
btnNo.setImage("/images/Cancel16.png");
btnNo.addEventListener(Events.ON_CLICK, this);
- btnNo.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btnNo);
btnAbort.setLabel("Abort");
//btnAbort.setImage("/images/");
btnAbort.addEventListener(Events.ON_CLICK, this);
- btnAbort.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btnAbort);
btnRetry.setLabel("Retry");
//btnRetry.setImage("/images/");
btnRetry.addEventListener(Events.ON_CLICK, this);
- btnRetry.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btnRetry);
btnIgnore.setLabel("Ignore");
btnIgnore.setImage("/images/Ignore16.png");
btnIgnore.addEventListener(Events.ON_CLICK, this);
- btnIgnore.setSclass("action-text-button");
+ LayoutUtils.addSclass("action-text-button", btnIgnore);
Panel pnlMessage = new Panel();
pnlMessage.setWidth("100%");
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/NumberBox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/NumberBox.java
index 9b9ef1e290..12d18f37fa 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/NumberBox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/NumberBox.java
@@ -21,6 +21,7 @@ import java.math.BigDecimal;
import java.text.NumberFormat;
import java.text.ParseException;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
@@ -72,10 +73,10 @@ public class NumberBox extends Div
decimalBox.setStyle("display: inline;");
btn = new Button();
- btn.setImage("/images/Calculator16.png");
+ btn.setImage("/images/Calculator10.png");
popup = getCalculatorPopup();
- btn.setSclass("editor-button");
+ LayoutUtils.addSclass("editor-button", btn);
btn.setPopup(popup);
btn.setStyle("text-align: center;");
appendChild(decimalBox);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/PAttributebox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/PAttributebox.java
index fde54e6079..4cf8a63047 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/PAttributebox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/PAttributebox.java
@@ -16,6 +16,7 @@
package org.adempiere.webui.component;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
@@ -53,7 +54,7 @@ public class PAttributebox extends Panel
textBox = new Textbox();
textBox.setStyle("display: inline");
button = new Button();
- button.setSclass("editor-button");
+ LayoutUtils.addSclass("editor-button", button);
appendChild(textBox);
appendChild(button);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Panel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Panel.java
index 78713b6bbe..85e683e37e 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Panel.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Panel.java
@@ -36,5 +36,5 @@ public class Panel extends Div
public Panel()
{
super();
- }
+ }
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Rows.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Rows.java
index 18adc9ff6e..edf86d77a7 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Rows.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Rows.java
@@ -17,6 +17,10 @@
package org.adempiere.webui.component;
+import java.util.List;
+
+import org.zkoss.zk.ui.Component;
+
/**
*
* @author Ashley G Ramdass
@@ -26,11 +30,33 @@ package org.adempiere.webui.component;
public class Rows extends org.zkoss.zul.Rows
{
private static final long serialVersionUID = 1L;
+ private boolean noStrip = false;
public Row newRow() {
- Row row = new Row();
+ Row row = new Row();
appendChild(row);
return row;
}
+ public void setNoStrip(boolean b) {
+ noStrip = b;
+ String style = noStrip ? "border: none" : null;
+ List list = getChildren();
+ for (Object o : list) {
+ if (o instanceof Row) {
+ Row row = (Row) o;
+ row.setStyle(style);
+ }
+ }
+ }
+
+ @Override
+ public boolean insertBefore(Component child, Component refChild) {
+ boolean b = super.insertBefore(child, refChild);
+ if (b && child instanceof Row && noStrip) {
+ Row row = (Row) child;
+ row.setStyle("border: none");
+ }
+ return b;
+ }
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java
index 84328115df..c4f72c7c66 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java
@@ -20,6 +20,7 @@ package org.adempiere.webui.component;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Div;
@@ -52,7 +53,7 @@ public class Searchbox extends Div
txt = new Textbox();
txt.setStyle("display: inline;");
btn = new Button();
- btn.setSclass("editor-button");
+ LayoutUtils.addSclass("editor-button", btn);
appendChild(txt);
appendChild(btn);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Urlbox.java b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Urlbox.java
index ebc4863603..078434c3c1 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/component/Urlbox.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/component/Urlbox.java
@@ -17,6 +17,7 @@
package org.adempiere.webui.component;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.zkoss.zk.ui.event.EventListener;
@@ -53,7 +54,7 @@ public class Urlbox extends Panel
txtUrl = new Textbox();
txtUrl.setStyle("display: inline;");
btnUrl = new Button();
- btnUrl.setSclass("editor-button");
+ LayoutUtils.addSclass("editor-button", btnUrl);
appendChild(txtUrl);
appendChild(btnUrl);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WAccountEditor.java b/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WAccountEditor.java
index 2288485b8e..eb501b5767 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WAccountEditor.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WAccountEditor.java
@@ -48,7 +48,7 @@ public class WAccountEditor extends WEditor
public WAccountEditor(GridField gridField)
{
super(new Combinationbox(), gridField);
- getComponent().setButtonImage("/images/Account16.png");
+ getComponent().setButtonImage("/images/Account10.png");
m_mAccount = new MAccountLookup (gridField.getVO().ctx, gridField.getWindowNo());
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WUrlEditor.java b/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WUrlEditor.java
index d9ccf0f174..2236a34cb0 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WUrlEditor.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/editor/WUrlEditor.java
@@ -34,7 +34,7 @@ public class WUrlEditor extends WEditor
public WUrlEditor(GridField gridField)
{
super(new Urlbox(), gridField);
- getComponent().setButtonImage("/images/Online16.png");
+ getComponent().setButtonImage("/images/Online10.png");
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java
index 708ff22e6b..4a9d9d6cd6 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java
@@ -26,8 +26,8 @@ import java.util.Map.Entry;
import java.util.logging.Level;
import org.adempiere.webui.LayoutUtils;
-import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.component.Bandbox;
+import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.Datebox;
import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.GridPanel;
@@ -59,8 +59,6 @@ import org.compiere.model.X_AD_FieldGroup;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
import org.compiere.util.Evaluatee;
-import org.zkoss.zhtml.Span;
-import org.zkoss.zhtml.Text;
import org.zkoss.zk.au.out.AuFocus;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
@@ -154,6 +152,7 @@ DataStatusListener, ValueChangeListener, IADTabpanel
//have problem moving the following out as css class
grid.setWidth("99%");
grid.setHeight("100%");
+ grid.setVflex(true);
grid.setStyle("margin:0; padding:0; position: absolute");
grid.makeNoStrip();
@@ -361,8 +360,16 @@ DataStatusListener, ValueChangeListener, IADTabpanel
//can't stretch bandbox & datebox
if (!(editor.getComponent() instanceof Bandbox) &&
!(editor.getComponent() instanceof Datebox)) {
- String width = "99%";
- ((HtmlBasedComponent)editor.getComponent()).setWidth(width);
+ String width = "99%";
+ if (editor.getComponent() instanceof Button) {
+ Button btn = (Button) editor.getComponent();
+ String zclass = btn.getZclass();
+ if (!zclass.contains("form-button ")) {
+ btn.setZclass("form-button " + zclass);
+ }
+ } else {
+ ((HtmlBasedComponent)editor.getComponent()).setWidth(width);
+ }
}
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java
index ba79619fbc..bde833b191 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java
@@ -53,7 +53,7 @@ public class HeaderPanel extends Panel implements EventListener
private void init()
{
- this.setSclass("header");
+ LayoutUtils.addSclass("header", this);
UserPanel userPanel = new UserPanel();
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/MenuPanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/MenuPanel.java
index aa5c483a5e..e6ff052fbe 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/MenuPanel.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/MenuPanel.java
@@ -21,8 +21,6 @@ import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Properties;
-import org.adempiere.webui.LayoutUtils;
-import org.adempiere.webui.component.Panel;
import org.adempiere.webui.event.MenuListener;
import org.adempiere.webui.exception.ApplicationException;
import org.adempiere.webui.session.SessionManager;
@@ -34,9 +32,9 @@ import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
-import org.zkoss.zkex.zul.Borderlayout;
-import org.zkoss.zkex.zul.Center;
-import org.zkoss.zkex.zul.South;
+import org.zkoss.zul.Panel;
+import org.zkoss.zul.Panelchildren;
+import org.zkoss.zul.Toolbar;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treechildren;
import org.zkoss.zul.Treecol;
@@ -81,44 +79,32 @@ public class MenuPanel extends Panel implements EventListener
{
this.setWidth("100%");
this.setHeight("100%");
- this.setStyle("position:absolute;border:0;padding:0;margin:0");
menuTree = new Tree();
menuTree.setMultiple(false);
menuTree.setId("mnuMain");
menuTree.setWidth("100%");
- menuTree.setHeight("100%");
- menuTree.setVflex(false);
+// menuTree.setHeight("96%");
+ menuTree.setVflex(true);
menuTree.setPageSize(-1); // Due to bug in the new paging functionality
- menuTree.setStyle("border:0");
-
- Borderlayout layout = new Borderlayout();
- layout.setParent(this);
- layout.setStyle("position:absolute");
- layout.setWidth("100%");
- layout.setHeight("100%");
-
- South south = new South();
- south.setParent(layout);
+ menuTree.setStyle("border: none");
pnlSearch = new MenuSearchPanel(this);
- pnlSearch.setParent(south);
- LayoutUtils.addSclass("menu-search", pnlSearch);
- Center center = new Center();
- center.setFlex(true);
- center.setAutoscroll(true);
- center.setParent(layout);
+ Toolbar toolbar = new Toolbar();
+ toolbar.appendChild(pnlSearch);
+ this.appendChild(toolbar);
- menuTree.setParent(center);
+ Panelchildren pc = new Panelchildren();
+ this.appendChild(pc);
+ pc.appendChild(menuTree);
}
private void initMenu(MTreeNode rootNode)
{
Treecols treeCols = new Treecols();
Treecol treeCol = new Treecol();
- treeCol.setLabel("Menu");
Treechildren rootTreeChildren = new Treechildren();
generateMenu(rootTreeChildren, rootNode);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/SidePanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/SidePanel.java
index c0bf53ac5b..ea1327fc7e 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/SidePanel.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/SidePanel.java
@@ -41,7 +41,6 @@ public class SidePanel extends Panel
this.setWidth("100%");
this.setHeight("100%");
- this.setStyle("position:absolute");
this.appendChild(pnlMenu);
}
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/UserPanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/UserPanel.java
index 152c28eab0..214e585e41 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/UserPanel.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/UserPanel.java
@@ -19,6 +19,7 @@ package org.adempiere.webui.panel;
import java.util.Properties;
+import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Messagebox;
@@ -67,7 +68,7 @@ public class UserPanel extends Vbox implements EventListener
lblUserNameValue.setValue(getUserName() + "@" + getClientName() + "." + getOrgName());
lblUserNameValue.setStyle("text-align:right");
- lblUserNameValue.setSclass("headerFont");
+ LayoutUtils.addSclass("headerFont", lblUserNameValue);
this.appendChild(lblUserNameValue);
Hbox hbox = new Hbox();
@@ -75,7 +76,7 @@ public class UserPanel extends Vbox implements EventListener
role.setLabel(this.getRoleName());
role.addEventListener(Events.ON_CLICK, this);
role.setStyle("text-align:right");
- role.setSclass("headerFont");
+ LayoutUtils.addSclass("headerFont", role);
role.setParent(hbox);
Separator sep = new Separator("vertical");
@@ -85,7 +86,7 @@ public class UserPanel extends Vbox implements EventListener
logout.setLabel(Msg.getMsg(Env.getCtx(),"Logout"));
logout.addEventListener(Events.ON_CLICK, this);
logout.setStyle("text-align:right");
- logout.setSclass("headerFont");
+ LayoutUtils.addSclass("headerFont", logout);
logout.setParent(hbox);
this.appendChild(hbox);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/part/MultiTabPart.java b/zkwebui/WEB-INF/src/org/adempiere/webui/part/MultiTabPart.java
index 2bc6d58e3c..cae006c9ec 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/part/MultiTabPart.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/part/MultiTabPart.java
@@ -38,7 +38,7 @@ public class MultiTabPart extends AbstractUIPart
protected Component doCreatePart(Component parent)
{
tabbox = new Tabbox();
- tabbox.setSclass("lite");
+// tabbox.setSclass("lite");
Tabpanels tabpanels = new Tabpanels();
Tabs tabs = new Tabs();
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java b/zkwebui/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java
index 680149c88b..313fadfa0a 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java
@@ -53,7 +53,7 @@ public class WindowContainer extends AbstractUIPart implements EventListener
protected Component doCreatePart(Component parent)
{
tabbox = new Tabbox();
- tabbox.setSclass("desktop-tb");
+// tabbox.setSclass("desktop-tb");
Tabpanels tabpanels = new Tabpanels();
Tabs tabs = new Tabs();
@@ -104,7 +104,7 @@ public class WindowContainer extends AbstractUIPart implements EventListener
}
tabpanel.setHeight("100%");
tabpanel.setWidth("100%");
- tabpanel.setSclass("desktop-tabpanel");
+ tabpanel.setZclass("desktop-tabpanel");
tabpanel.setStyle("position: absolute;");
tabbox.getTabs().appendChild(tab);
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java b/zkwebui/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java
index c80ec83cb9..e6a04296d5 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java
@@ -86,7 +86,7 @@ public class AboutWindow extends Window implements EventListener {
tabbox.setParent(layout);
tabbox.setWidth("490px");
tabbox.setHeight("380px");
- tabbox.setSclass("lite");
+// tabbox.setSclass("lite");
Tabs tabs = new Tabs();
tabs.setParent(tabbox);
tabPanels = new Tabpanels();
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java b/zkwebui/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java
index 65d17ca984..3342613736 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java
@@ -284,7 +284,7 @@ public final class WAccountDialog extends Window
m_adTabPanel.init(null, m_WindowNo, m_mTab, null);
// Prepare Parameter
- parameterLayout.setSclass("grid-no-striped");
+ parameterLayout.makeNoStrip();
parameterLayout.setOddRowSclass("even");
parameterLayout.setParent(parameterPanel);
parameterLayout.setStyle("background-color: transparent;");
diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java b/zkwebui/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java
index cde4586de1..62e03b73a2 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java
@@ -186,7 +186,7 @@ public class WEMailDialog extends Window implements EventListener, ValueChangeLi
Grid grid = new Grid();
grid.setWidth("480px");
grid.setStyle("margin:0; padding:0; position: absolute; align: center; valign: center;");
- grid.setSclass("grid-no-striped");
+ grid.makeNoStrip();
grid.setOddRowSclass("even");
Rows rows = new Rows();
diff --git a/zkwebui/WEB-INF/tld/web/core.dsp.tld b/zkwebui/WEB-INF/tld/web/core.dsp.tld
index 82fc94735e..e2260ae612 100755
--- a/zkwebui/WEB-INF/tld/web/core.dsp.tld
+++ b/zkwebui/WEB-INF/tld/web/core.dsp.tld
@@ -191,11 +191,19 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved.
- getProperty
- java.lang.System
+ property
+ org.zkoss.lang.Library
java.lang.String getProperty(java.lang.String)
- Returns the system property.
+ Returns the library property.
+
+
+
+ getProperty
+ org.zkoss.lang.Library
+ java.lang.String getProperty(java.lang.String)
+
+ Returns the library property.
@@ -276,7 +284,7 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved.
attr
- org.zkoss.web.fn.XMLFns
+ org.zkoss.xel.fn.XmlFns
java.lang.String attr(java.lang.String, java.lang.Object)
@@ -325,6 +333,24 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved.
+
+ browser
+ org.zkoss.web.fn.ServletFns
+
+ boolean isBrowser(java.lang.String)
+
+
+ Whether the current request is coming from the browser of the specified
+ type.
+ @param type the type of the browser.
+ Allowed values include "robot", "ie", "ie6", "ie6-", "ie7", "ie8",
+ "ie7-", "gecko", "gecko2", "gecko3", "gecko2-",
+ "opara", "safari",
+ "mil", "hil", "mil-".
+ Note: "ie6-" means Internet Explorer 6 only; not Internet Explorer 7
+ or other.
+
+
isExplorer
org.zkoss.web.fn.ServletFns
@@ -356,6 +382,17 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved.
such as Mozilla, Firefox and Camino.
+
+ isGecko3
+ org.zkoss.web.fn.ServletFns
+
+ boolean isGecko3()
+
+
+ Whether the current request is coming from a Gecko 3-based browser,
+ such as Firefox 3.
+
+
isSafari
org.zkoss.web.fn.ServletFns
diff --git a/zkwebui/WEB-INF/tld/zk/core.dsp.tld b/zkwebui/WEB-INF/tld/zk/core.dsp.tld
index 7de09b6f63..d0efda7d64 100755
--- a/zkwebui/WEB-INF/tld/zk/core.dsp.tld
+++ b/zkwebui/WEB-INF/tld/zk/core.dsp.tld
@@ -58,7 +58,7 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved.
Returns HTML tags to include all JavaScripts used by all languages.
- The argument is ignored (since 3.1.0; reserved for backward compatible).
+ The argument is ignored (since 3.5.0; reserved for backward compatible).
@@ -171,4 +171,37 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved.
Returns the attributes to render a page.
+
+
+ outZkHtmlTags
+ org.zkoss.zk.fn.ZkFns
+
+ java.lang.String outZkHtmlTags()
+
+
+ Returns the desktop info to render a desktop.
+ It is required only if outPageAttrs might not be called
+
+
+
+
+ noCSSAttrs
+ org.zkoss.zk.fn.ZkFns
+
+ java.lang.String noCSSAttrs(java.lang.String)
+
+
+ Removes the class and style attributes from the specified one.
+
+
+
+ outCSSAttrs
+ org.zkoss.zk.fn.ZkFns
+
+ java.lang.String outCSSAttrs(java.lang.String)
+
+
+ Returns only the class and style attributes from the specified one.
+
+
diff --git a/zkwebui/WEB-INF/tld/zul/core.dsp.tld b/zkwebui/WEB-INF/tld/zul/core.dsp.tld
index ce38873256..de491972d8 100755
--- a/zkwebui/WEB-INF/tld/zul/core.dsp.tld
+++ b/zkwebui/WEB-INF/tld/zul/core.dsp.tld
@@ -79,5 +79,36 @@ Copyright (C) 2006 Potix Corporation. All Rights Reserved.
Resets the stripe CSS for each row.
-
+
+
+ shallVisitTree
+ org.zkoss.zul.fn.ZulFns
+
+ boolean shallVisitTree(org.zkoss.zul.Tree, org.zkoss.zk.ui.Component)
+
+
+ Returns whether the specified tree should be visited.
+
+
+
+ shallRenderTree
+ org.zkoss.zul.fn.ZulFns
+
+ boolean shallRenderTree(org.zkoss.zul.Tree)
+
+
+ Returns whether the specified tree shall be rendered.
+
+
+
+ clearTreeRenderInfo
+ org.zkoss.zul.fn.ZulFns
+
+ void clearTreeRenderInfo(org.zkoss.zul.Tree)
+
+
+ Clears up the info stored in attributes that are used to render
+ a tree in the paging mold.
+
+
diff --git a/zkwebui/WEB-INF/xsd/zul.xsd b/zkwebui/WEB-INF/xsd/zul.xsd
index 0861926882..32d02a29ae 100644
--- a/zkwebui/WEB-INF/xsd/zul.xsd
+++ b/zkwebui/WEB-INF/xsd/zul.xsd
@@ -1,87 +1,50 @@
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
-
-
+
+
-
+
@@ -89,11 +52,11 @@
-
+
-
+
@@ -101,17 +64,17 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -119,14 +82,14 @@
-
-
-
-
+
+
+
+
-
+
@@ -147,7 +110,7 @@
-
+
@@ -162,7 +125,7 @@
-
+
@@ -176,7 +139,7 @@
-
+
@@ -190,7 +153,7 @@
-
+
@@ -205,7 +168,7 @@
-
+
@@ -219,10 +182,10 @@
-
+
-
+
@@ -233,7 +196,7 @@
-
+
@@ -246,7 +209,7 @@
-
+
@@ -259,7 +222,7 @@
-
+
@@ -272,7 +235,7 @@
-
+
@@ -286,7 +249,7 @@
-
+
@@ -300,7 +263,7 @@
-
+
@@ -313,7 +276,7 @@
-
+
@@ -326,7 +289,7 @@
-
+
@@ -336,6 +299,10 @@
+
+
+
+
@@ -347,11 +314,13 @@
+
+
-
+
@@ -371,23 +340,24 @@
-
+
-
+
-
-
+
-
+
-
+
+
+
@@ -395,17 +365,20 @@
+
+
+
@@ -426,6 +399,10 @@
+
+
+
+
@@ -439,20 +416,23 @@
+
+
-
+
+
@@ -466,6 +446,7 @@
+
@@ -490,6 +471,7 @@
+
@@ -497,6 +479,7 @@
+
@@ -511,10 +494,71 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -523,7 +567,7 @@
-
+
@@ -534,7 +578,7 @@
-
+
@@ -543,10 +587,10 @@
-
+
-
+
@@ -558,7 +602,7 @@
-
+
@@ -566,7 +610,7 @@
-
+
@@ -584,37 +628,33 @@
-
-
-
-
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
@@ -626,12 +666,12 @@
-
+
-
+
@@ -643,14 +683,10 @@
-
-
-
-
-
+
-
+
@@ -660,29 +696,21 @@
-
+
-
+
-
-
-
-
+
-
-
-
-
-
-
+
@@ -691,7 +719,7 @@
-
+
@@ -719,10 +747,10 @@
-
+
-
+
@@ -732,14 +760,11 @@
-
-
-
-
+
-
+
@@ -747,12 +772,27 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -762,7 +802,7 @@
-
+
@@ -781,16 +821,12 @@
-
-
-
-
-
+
-
+
@@ -800,12 +836,12 @@
-
+
-
+
@@ -818,14 +854,10 @@
-
-
-
-
-
+
-
+
@@ -833,14 +865,21 @@
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -849,34 +888,25 @@
-
+
-
+
-
-
-
-
-
+
-
+
-
-
-
-
-
-
+
@@ -891,7 +921,7 @@
-
+
@@ -899,7 +929,37 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -910,7 +970,7 @@
-
+
@@ -919,141 +979,136 @@
-
+
-
-
-
-
+
-
-
-
+
+
+
-
-
+
-
-
+
+
-
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
@@ -1064,16 +1119,17 @@
-
+
-
+
+
-
+
@@ -1086,10 +1142,39 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1099,21 +1184,21 @@
-
+
-
+
-
+
-
+
@@ -1122,42 +1207,45 @@
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
+
+
+
-
-
+
-
+
@@ -1173,49 +1261,41 @@
-
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
-
+
-
-
-
-
-
+
-
+
@@ -1226,84 +1306,63 @@
-
+
-
+
-
-
-
-
-
-
+
-
-
-
-
+
-
+
+
+
-
+
-
-
-
-
-
-
-
-
+
-
+
+
+
-
-
-
-
+
+
-
+
+
+
-
-
-
-
-
-
-
-
+
-
+
+
+
-
-
-
-
+
+
-
+
+
-
-
-
-
@@ -1324,7 +1383,7 @@
-
+
@@ -1334,24 +1393,24 @@
-
-
-
+
+
+
-
+
-
+
-
+
@@ -1360,17 +1419,49 @@
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1380,7 +1471,7 @@
-
+
@@ -1390,12 +1481,9 @@
-
-
-
-
+
@@ -1409,7 +1497,7 @@
-
+
@@ -1421,33 +1509,34 @@
-
+
+
-
+
-
+
+
-
-
+
@@ -1459,23 +1548,18 @@
-
+
-
+
-
+
-
-
-
-
-
-
+
@@ -1490,6 +1574,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1500,9 +1629,9 @@
-
+
-
+
@@ -1513,17 +1642,35 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -1533,12 +1680,9 @@
-
-
-
-
+
@@ -1546,13 +1690,25 @@
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1560,16 +1716,17 @@
-
+
+
-
+
@@ -1583,15 +1740,15 @@
-
+
-
+
-
+
@@ -1599,10 +1756,10 @@
-
+
-
+
@@ -1613,23 +1770,17 @@
-
-
+
-
+
-
-
-
-
-
-
+
@@ -1644,7 +1795,7 @@
-
+
@@ -1652,19 +1803,32 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -1673,7 +1837,7 @@
-
+
@@ -1681,10 +1845,8 @@
-
-
-
+
@@ -1693,6 +1855,7 @@
+
@@ -1700,10 +1863,10 @@
-
+
-
+
@@ -1712,7 +1875,7 @@
-
+
@@ -1721,7 +1884,7 @@
-
+
@@ -1731,7 +1894,23 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1741,14 +1920,10 @@
-
-
-
-
-
+
-
+
@@ -1757,10 +1932,10 @@
-
+
-
+
@@ -1770,14 +1945,10 @@
-
-
-
-
-
+
-
+
@@ -1791,10 +1962,10 @@
-
+
-
+
@@ -1805,138 +1976,132 @@
-
-
-
-
-
+
-
+
-
-
-
+
+
+
-
-
+
-
-
+
+
-
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
@@ -1946,19 +2111,19 @@
-
+
-
+
-
+
@@ -1967,17 +2132,14 @@
-
+
-
-
-
-
+
@@ -1987,7 +2149,7 @@
-
+
@@ -1996,17 +2158,14 @@
-
+
-
-
-
-
+
@@ -2015,7 +2174,7 @@
-
+
@@ -2023,7 +2182,7 @@
-
+
@@ -2039,7 +2198,7 @@
-
+
@@ -2048,12 +2207,12 @@
-
+
-
+
@@ -2063,22 +2222,17 @@
-
+
-
-
+
+
-
-
-
-
-
-
+
@@ -2093,12 +2247,12 @@
-
+
-
+
@@ -2112,7 +2266,13 @@
+
+
+
+
+
+
@@ -2124,22 +2284,22 @@
-
+
-
-
-
-
-
+
+
+
+
+
-
+
@@ -2147,12 +2307,12 @@
-
-
+
+
-
+
@@ -2164,7 +2324,7 @@
-
+
@@ -2179,7 +2339,7 @@
-
+
@@ -2187,24 +2347,24 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -2215,16 +2375,24 @@
+
+
+
+
+
+
+
+
@@ -2237,6 +2405,8 @@
+
+
@@ -2251,8 +2421,12 @@
+
+
+
+
-
+
@@ -2263,8 +2437,8 @@
-
-
+
+
@@ -2276,7 +2450,7 @@
-
+
@@ -2284,19 +2458,19 @@
-
+
-
-
+
+
-
+
@@ -2305,19 +2479,19 @@
-
-
-
-
-
+
+
+
+
+
-
+
-
+
@@ -2325,19 +2499,20 @@
+
-
+
-
+
-
+
@@ -2348,11 +2523,11 @@
-
+
-
+
@@ -2378,9 +2553,10 @@
+
-
+
@@ -2390,41 +2566,58 @@
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
@@ -2435,18 +2628,30 @@
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2460,18 +2665,18 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/zkwebui/WEB-INF/xsd/zul/zul.xsd b/zkwebui/WEB-INF/xsd/zul/zul.xsd
deleted file mode 100755
index f51ca29ff3..0000000000
--- a/zkwebui/WEB-INF/xsd/zul/zul.xsd
+++ /dev/null
@@ -1,1506 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/zkwebui/css/default.css.dsp b/zkwebui/css/default.css.dsp
index 3780d88abf..aa07e7e865 100644
--- a/zkwebui/css/default.css.dsp
+++ b/zkwebui/css/default.css.dsp
@@ -62,10 +62,9 @@ html,body {
}
.editor-button {
- height: 22px;
+ --height: 22px;
width: 26px;
padding: 0px;
- display: inline;
}
.editor-button img {
@@ -286,3 +285,7 @@ tr.tab-desktop-tb-m {
.status-border {
border: solid 1px #9CBDFF;
}
+
+.form-button {
+ width: 99%;
+}