diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/Desktop.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/Desktop.java index 1d641e2594..3b5579f397 100644 --- a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/Desktop.java +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/Desktop.java @@ -253,7 +253,7 @@ public class Desktop extends AbstractUIPart implements MenuListener, Serializabl Tabpanel tabPanel = new Tabpanel(); wnd.createPart(tabPanel); - windowContainer.addWindow(tabPanel, wnd.getTitle(), false); + windowContainer.addWindow(tabPanel, wnd.getTitle(), true); } public void showWindow(Window win) diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Datebox.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Datebox.java index 0f5d9f86f1..12b0d4e39f 100644 --- a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Datebox.java +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Datebox.java @@ -29,6 +29,6 @@ public class Datebox extends org.zkoss.zul.Datebox public void setEnabled(boolean enabled) { - this.setDisabled(!enabled); + this.setReadonly(!enabled); } } diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java index 4500481b12..3c6f6c023e 100644 --- a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/component/Searchbox.java @@ -70,7 +70,7 @@ public class Searchbox extends Panel public void setEnabled(boolean enabled) { - txt.setEnabled(enabled); + txt.setReadonly(!enabled); btn.setEnabled(enabled); } diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/IZoomableEditor.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/IZoomableEditor.java new file mode 100644 index 0000000000..eede83a846 --- /dev/null +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/IZoomableEditor.java @@ -0,0 +1,7 @@ +package org.adempiere.webui.editor; + +public interface IZoomableEditor { + + public void actionZoom(); + +} \ No newline at end of file diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java index 0aaff34cf7..e3b1b9e96c 100644 --- a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java @@ -75,6 +75,9 @@ public class WEditorPopupMenu extends Menupopup implements EventListener init(); } + public boolean isZoomEnabled() { + return zoomEnabled; + } private void init() { diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java index 274c83c53b..82e2a7401c 100644 --- a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java @@ -54,7 +54,7 @@ import org.zkoss.zk.ui.event.Events; * @author Ashley G Ramdass * */ -public class WSearchEditor extends WEditor implements ContextMenuListener, PropertyChangeListener, ValueChangeListener +public class WSearchEditor extends WEditor implements ContextMenuListener, PropertyChangeListener, ValueChangeListener, IZoomableEditor { private static final String[] LISTENER_EVENTS = {Events.ON_CLICK, Events.ON_CHANGE}; private Searchbox searchbox; @@ -235,7 +235,7 @@ public class WSearchEditor extends WEditor implements ContextMenuListener, Prope setValue(value); } - private void actionZoom() + public void actionZoom() { AEnv.actionZoom(lookup, getValue()); } diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java index a5750d640b..96dae48253 100644 --- a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java @@ -47,7 +47,7 @@ import org.zkoss.zk.ui.event.Events; * @version $Revision: 0.10 $ */ public class WTableDirEditor extends WEditor implements ListDataListener, -ContextMenuListener +ContextMenuListener, IZoomableEditor { public final String[] LISTENER_EVENTS = {Events.ON_SELECT}; @@ -236,7 +236,10 @@ ContextMenuListener } } - private void actionZoom() + /* (non-Javadoc) + * @see org.adempiere.webui.editor.IZoomableEditor#actionZoom() + */ + public void actionZoom() { AEnv.actionZoom(lookup, getValue()); } diff --git a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java index d21bae2943..4d7c5d60e6 100644 --- a/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java +++ b/extension/posterita/webui/WEB-INF/src/org/adempiere/webui/panel/ADTabpanel.java @@ -30,9 +30,11 @@ import org.adempiere.webui.component.Listbox; import org.adempiere.webui.component.Row; import org.adempiere.webui.component.Rows; import org.adempiere.webui.component.ToolBar; +import org.adempiere.webui.editor.IZoomableEditor; import org.adempiere.webui.editor.WButtonEditor; import org.adempiere.webui.editor.WEditor; import org.adempiere.webui.editor.WEditorPopupMenu; +import org.adempiere.webui.editor.WSearchEditor; import org.adempiere.webui.editor.WebEditorFactory; import org.adempiere.webui.event.ContextMenuListener; import org.adempiere.webui.event.ValueChangeEvent; @@ -265,7 +267,8 @@ DataStatusListener, ValueChangeListener editors.add(comp); Div div = new Div(); div.setAlign("right"); - div.appendChild(comp.getLabel()); + Label label = comp.getLabel(); + div.appendChild(label); row.appendChild(div); row.appendChild(comp.getComponent()); if (field.isLongField()) { @@ -296,6 +299,11 @@ DataStatusListener, ValueChangeListener { popupMenu.addMenuListener((ContextMenuListener)comp); this.appendChild(popupMenu); + if (popupMenu.isZoomEnabled() && comp instanceof IZoomableEditor) + { + label.setStyle("cursor: pointer; text-decoration: underline;"); + label.addEventListener(Events.ON_CLICK, new ZoomListener((IZoomableEditor) comp)); + } } } } @@ -624,4 +632,21 @@ DataStatusListener, ValueChangeListener listPanel.activate(gridTab); } } + + class ZoomListener implements EventListener { + + private IZoomableEditor searchEditor; + + ZoomListener(IZoomableEditor editor) { + searchEditor = editor; + } + + public void onEvent(Event event) throws Exception { + if (Events.ON_CLICK.equals(event.getName())) { + searchEditor.actionZoom(); + } + + } + + } }