diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListView.java index d9cb4e42e1..e3149936f2 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListView.java @@ -44,14 +44,14 @@ import org.zkoss.zul.Vlayout; import org.zkoss.zul.ext.Selectable; /** - * Read only grid view for single or multi selection + * Read only grid view for single or multiple selection * @author Low Heng Sin * */ public class GridTabSelectionListView extends Vlayout { /** - * + * generated serial id */ private static final long serialVersionUID = 4145737989132101461L; @@ -63,33 +63,45 @@ public class GridTabSelectionListView extends Vlayout private int pageSize = 100; + /** GridFields of {@link #gridTab} */ private GridField[] gridField; + /** Table model (GridTable) of {@link #gridTab} */ private AbstractTableModel tableModel; + /** length of {@link #gridField} */ private int numColumns = 5; private int windowNo; private GridTab gridTab; + /** true if {@link #init(GridTab)} have been called */ private boolean init; + /** Model of {@link #listbox} */ private SimpleGridTableListModel listModel; + /** Renderer of {@link #listbox} */ private GridTabSelectionListViewRenderer renderer; private Box labelBox; + /** Custom column width from {@link MTabCustomization} */ private Map columnWidthMap; + /** Show number of selected row */ private Label selectedLabel; + /** + * @param multiple + */ public GridTabSelectionListView(boolean multiple) { this(multiple, 0); } /** + * @param multiple true for multiple selection mode, false for single selection mode * @param windowNo */ public GridTabSelectionListView(boolean multiple, int windowNo) @@ -110,7 +122,6 @@ public class GridTabSelectionListView extends Vlayout } /** - * * @param gridTab */ public void init(GridTab gridTab) @@ -125,6 +136,10 @@ public class GridTabSelectionListView extends Vlayout this.init = true; } + /** + * + * @param gridTab + */ private void setupFields(GridTab gridTab) { this.gridTab = gridTab; tableModel = gridTab.getTableModel(); @@ -161,8 +176,7 @@ public class GridTabSelectionListView extends Vlayout } /** - * - * @return boolean + * @return true if {@link #init(GridTab)} have been called */ public boolean isInit() { return init; @@ -186,7 +200,7 @@ public class GridTabSelectionListView extends Vlayout } /** - * + * Refresh (re-query) gridTab and call {@link #init(GridTab)} again. * @param gridTab */ public void refresh(GridTab gridTab) { @@ -209,11 +223,17 @@ public class GridTabSelectionListView extends Vlayout this.pageSize = pageSize; } + /** + * Remove all child components + */ public void clear() { this.getChildren().clear(); } + /** + * Setup {@link #listbox} columns + */ private void setupColumns() { if (init) return; @@ -257,6 +277,11 @@ public class GridTabSelectionListView extends Vlayout listbox.appendChild(header); } + /** + * + * @param columnName + * @return column index + */ private int getColumnIndex(String columnName) { for(int i = 0; i < gridTab.getTableModel().getColumnCount(); i++) { if (gridTab.getTableModel().getColumnName(i).equals(columnName)) { @@ -266,6 +291,9 @@ public class GridTabSelectionListView extends Vlayout return -1; } + /** + * render {@link #listbox} + */ private void render() { listbox.setStyle("min-height: 200px"); @@ -285,6 +313,9 @@ public class GridTabSelectionListView extends Vlayout labelBox.appendChild(selectedLabel); } + /** + * Update model and renderer of {@link #listbox} + */ private void updateModel() { listModel = new SimpleGridTableListModel((GridTable)tableModel, windowNo); listModel.setMultiple(listbox.isMultiple()); @@ -317,12 +348,15 @@ public class GridTabSelectionListView extends Vlayout this.windowNo = windowNo; } + /** + * @return GridField[] + */ public GridField[] getFields() { return gridField; } - /* (non-Javadoc) - * @see org.zkoss.zk.ui.AbstractComponent#addEventListener(int, java.lang.String, org.zkoss.zk.ui.event.EventListener) + /** + * If evtnm is ON_SElECT, add to {@link #listbox}, otherwise add to this component */ @Override public boolean addEventListener(int priority, String evtnm, @@ -334,6 +368,10 @@ public class GridTabSelectionListView extends Vlayout } } + /** + * Set selected indices for {@link #listbox} + * @param selectedIndices + */ public void setSelectedIndices(int[] selectedIndices) { ListModel model = listbox.getModel(); if (model != null && model instanceof Selectable) { @@ -351,6 +389,9 @@ public class GridTabSelectionListView extends Vlayout selectedLabel.setValue(Msg.getMsg(Env.getCtx(), "Selected") + " : " + selectedIndices.length); } + /** + * Clear {@link #listbox} selections + */ public void clearSelection() { ListModel model = listbox.getModel(); if (model != null && model instanceof Selectable) { @@ -362,6 +403,10 @@ public class GridTabSelectionListView extends Vlayout selectedLabel.setValue(Msg.getMsg(Env.getCtx(), "Selected") + " : 0"); } + /** + * + * @param selected + */ public void setSelectedIndex(int selected) { ListModel model = listbox.getModel(); if (model != null && model instanceof Selectable) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListViewRenderer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListViewRenderer.java index 2fa74c357a..753711460b 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListViewRenderer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/GridTabSelectionListViewRenderer.java @@ -34,7 +34,7 @@ import org.zkoss.zul.ListitemRendererExt; import org.zkoss.zul.RendererCtrl; /** - * ListItem renderer for GridTabSelectionListView + * ListItem renderer for {@link GridTabSelectionListView} * @author hengsin * */ @@ -126,6 +126,12 @@ public class GridTabSelectionListViewRenderer implements ListitemRenderer getEditors() { List editorList = new ArrayList(); @@ -247,10 +258,16 @@ public class GridTabSelectionListViewRenderer implements ListitemRenderer implements TableModelListener, Sortable { /** - * + * generated serial id */ private static final long serialVersionUID = 698185856751242764L; private GridTable tableModel; @@ -61,6 +61,7 @@ public class SimpleGridTableListModel extends AbstractListModel im * @param rowIndex * @see ListModel#getElementAt(int) */ + @Override public GridTableRow getElementAt(int rowIndex) { GridTableRow row = null; int columnCount = tableModel.getColumnCount(); @@ -80,6 +81,7 @@ public class SimpleGridTableListModel extends AbstractListModel im * @return int * @see ListModel#getSize() */ + @Override public int getSize() { return tableModel.getRowCount(); } @@ -109,6 +111,7 @@ public class SimpleGridTableListModel extends AbstractListModel im * @param ascending * @see ListModelExt#sort(Comparator, boolean) */ + @Override public void sort(Comparator cmpr, boolean ascending) { //use default zk comparator if (cmpr instanceof ListitemComparator) { @@ -129,6 +132,7 @@ public class SimpleGridTableListModel extends AbstractListModel im * @param e * @see TableModelListener#tableChanged(TableModelEvent) */ + @Override public void tableChanged(TableModelEvent e) { if (Executions.getCurrent() != null) { if (e.getType() == TableModelEvent.DELETE) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabMultiSelectionEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabMultiSelectionEditor.java index 2fad63deae..cdeb506b11 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabMultiSelectionEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabMultiSelectionEditor.java @@ -32,6 +32,7 @@ import org.compiere.model.GridField; import org.compiere.model.GridTab; import org.compiere.model.GridTabVO; import org.compiere.model.GridWindow; +import org.compiere.util.DisplayType; import org.compiere.util.Env; import org.compiere.util.Msg; import org.compiere.util.Util; @@ -43,7 +44,8 @@ import org.zkoss.zul.Menuitem; import org.zkoss.zul.ext.Selectable; /** - * + * Default editor for {@link DisplayType#MultipleSelectionGrid}. + * Implemented with {@link GridTabSelectionListView} component. * @author hengsin * */ @@ -51,10 +53,12 @@ public class WGridTabMultiSelectionEditor extends WEditor implements ContextMenu { private static final String[] LISTENER_EVENTS = {Events.ON_SELECT}; + /** comma separated list of selected row indices */ private Object oldValue; private GridTab listViewGridTab = null; + /** current value of link column */ private String currentLinkValue = null; private boolean readWrite; @@ -107,6 +111,9 @@ public class WGridTabMultiSelectionEditor extends WEditor implements ContextMenu this.readWrite = readWrite; } + /** + * Initialize component and context menu + */ private void init() { if (tableEditor) @@ -147,6 +154,7 @@ public class WGridTabMultiSelectionEditor extends WEditor implements ContextMenu } } + @Override public void onEvent(Event event) { if (Events.ON_SELECT.equals(event.getName())) @@ -225,6 +233,9 @@ public class WGridTabMultiSelectionEditor extends WEditor implements ContextMenu ((Textbox)getComponent()).setValue(oldValue != null ? oldValue.toString() : ""); } + /** + * Update selected row from {@link #oldValue} + */ private void updateSlectedIndices() { GridTabSelectionListView listView = (GridTabSelectionListView) getComponent(); if (!Util.isEmpty((String)oldValue)) @@ -259,6 +270,7 @@ public class WGridTabMultiSelectionEditor extends WEditor implements ContextMenu return LISTENER_EVENTS; } + @Override public void onMenu(ContextMenuEvent evt) { if (WEditorPopupMenu.PREFERENCE_EVENT.equals(evt.getContextEvent())) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabSingleSelectionEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabSingleSelectionEditor.java index 6cf1507624..9e6a8e952e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabSingleSelectionEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/grid/selection/WGridTabSingleSelectionEditor.java @@ -27,6 +27,7 @@ import org.compiere.model.GridField; import org.compiere.model.GridTab; import org.compiere.model.GridTabVO; import org.compiere.model.GridWindow; +import org.compiere.util.DisplayType; import org.compiere.util.Env; import org.compiere.util.Msg; import org.compiere.util.Util; @@ -36,7 +37,8 @@ import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.Menuitem; /** - * + * Default editor for {@link DisplayType#SingleSelectionGrid}. + * Implemented with {@link GridTabSelectionListView} component. * @author hengsin * */ @@ -44,10 +46,12 @@ public class WGridTabSingleSelectionEditor extends WEditor implements ContextMen { private static final String[] LISTENER_EVENTS = {Events.ON_SELECT}; + /** selected row index */ private Object oldValue; private GridTab listViewGridTab = null; + /** current value of link column */ private String currentLinkValue = null; private boolean readWrite; @@ -100,6 +104,9 @@ public class WGridTabSingleSelectionEditor extends WEditor implements ContextMen this.readWrite = readWrite; } + /** + * Initialize component and context menu + */ private void init() { if (tableEditor) @@ -140,6 +147,7 @@ public class WGridTabSingleSelectionEditor extends WEditor implements ContextMen } } + @Override public void onEvent(Event event) { if (Events.ON_SELECT.equals(event.getName())) @@ -189,6 +197,9 @@ public class WGridTabSingleSelectionEditor extends WEditor implements ContextMen ((Textbox)getComponent()).setValue(oldValue != null ? oldValue.toString() : ""); } + /** + * Update selected row indices from {@link #oldValue} + */ private void updateSlectedIndices() { GridTabSelectionListView listView = (GridTabSelectionListView) getComponent(); listView.clearSelection(); @@ -210,6 +221,7 @@ public class WGridTabSingleSelectionEditor extends WEditor implements ContextMen return LISTENER_EVENTS; } + @Override public void onMenu(ContextMenuEvent evt) { if (WEditorPopupMenu.PREFERENCE_EVENT.equals(evt.getContextEvent())) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionEvent.java index 96b28e6329..8e7693c54b 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionEvent.java @@ -18,7 +18,7 @@ package org.adempiere.webui.event; /** - * ActionEvent represents events associated with no data change. + * Event for UI action * * @author Niraj Sohun * @date Jul 25, 2007 @@ -26,7 +26,7 @@ package org.adempiere.webui.event; public class ActionEvent { - /** + /** * The object on which the Event initially occurred. */ protected Object source; @@ -55,7 +55,7 @@ public class ActionEvent } /** - * returns name of property that changed + * @return name of property that changed */ public String getPropertyName() { @@ -63,7 +63,7 @@ public class ActionEvent } /** - * returns source of event + * @return source of event */ public Object getSource() { @@ -71,7 +71,7 @@ public class ActionEvent } /** - * returns name of event + * @return name of event */ public String getEventName() { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionListener.java index 26c017c11f..b15465ddc0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ActionListener.java @@ -18,13 +18,15 @@ package org.adempiere.webui.event; /** - * ActionListener handles events associated with no data change. + * Listener interface for {@link ActionEvent} * * @author Niraj Sohun * @date Jul 25, 2007 */ - public interface ActionListener { + /** + * @param event + */ void actionPerformed(ActionEvent event); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuEvent.java index ff1a34ede6..7d3f82597d 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuEvent.java @@ -20,13 +20,14 @@ package org.adempiere.webui.event; import org.zkoss.zk.ui.Component; /** - * + * Event for context menu (right-click menu) action * @author Ashley G Ramdass * @date Mar 10, 2007 * @version $Revision: 0.10 $ */ public class ContextMenuEvent { + /** Event id/name */ private String contextEvent; private Component target; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuListener.java index 1be5771b01..95ef54dade 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ContextMenuListener.java @@ -18,12 +18,15 @@ package org.adempiere.webui.event; /** - * + * Listener interface for {@link ContextMenuEvent} * @author Ashley G Ramdass * @date Mar 10, 2007 * @version $Revision: 0.10 $ */ public interface ContextMenuListener { + /** + * @param evt + */ public void onMenu(ContextMenuEvent evt); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java index d6fb0b7bb9..eacbd9de3c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java @@ -14,9 +14,8 @@ package org.adempiere.webui.event; /** - * + * Event constant for popup modal/highlighted dialog. * @author hengsin - * */ public interface DialogEvents { @@ -26,7 +25,7 @@ public interface DialogEvents { public final static String ON_WINDOW_CLOSE = "onWindowClose"; /** - * rise event before run process, other code can inject a long process in there + * event before running of process, other code can inject a long process in there * example: at info window, save info to database before run process */ public final static String ON_BEFORE_RUN_PROCESS = "onBeforeRunProcess"; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DrillEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DrillEvent.java index cb98cf7600..89eb55e798 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DrillEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DrillEvent.java @@ -18,23 +18,30 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; /** - * + * Event for drill down and drill across * @author hengsin - * */ public class DrillEvent extends Event { /** - * + * generated serial id */ private static final long serialVersionUID = 4877800961258241047L; public final static String ON_DRILL_DOWN = "onDrillDown"; public final static String ON_DRILL_ACROSS = "onDrillAcross"; + /** + * @param name + * @param target + * @param data + */ public DrillEvent(String name, Component target, Object data) { super(name, target, data); } + /** + * Data for drill event + */ public static class DrillData { private MQuery query; @@ -50,6 +57,13 @@ public class DrillEvent extends Event { */ private Object data; + /** + * @param query + * @param columnName + * @param value + * @param displayValue + * @param data + */ public DrillData(MQuery query, String columnName, Object value, String displayValue, Object data) { this.query = query; this.columnName = columnName; @@ -58,27 +72,40 @@ public class DrillEvent extends Event { this.displayValue = displayValue; } + /** + * @return MQuery + */ public MQuery getQuery() { return query; } + /** + * @return column name + */ public String getColumnName() { return columnName; } + /** + * @return value + */ public Object getValue() { return value; } + /** + * @return [columnName, displayValue, value, processID - source] + */ public Object getData() { return data; } + /** + * @return display text + */ public String getDisplayValue() { return displayValue; } - - } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/MenuListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/MenuListener.java index d15b2f6488..85f7f230ea 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/MenuListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/MenuListener.java @@ -18,12 +18,15 @@ package org.adempiere.webui.event; /** - * + * Listener interface for application menu item * @author Ashley G Ramdass * @date Feb 25, 2007 * @version $Revision: 0.10 $ */ public interface MenuListener { + /** + * @param menuId AD_Menu_ID + */ public void onMenuSelected(int menuId); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeEvent.java index 05d594647b..0993e6bf90 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeEvent.java @@ -34,12 +34,12 @@ public class TableValueChangeEvent extends ValueChangeEvent /** * Constructor for the event. * - * @param source The object that changed - * @param propertyName The column name of the changed object - * @param row The row of the changed object - * @param column The column of the changed object - * @param oldValue The new value of the object - * @param newValue The old value of the object (often just a copy of the new value) + * @param source Source of event + * @param propertyName Column name + * @param row Row index + * @param column Column index + * @param oldValue The old value of the object + * @param newValue The new value of the object (often just a copy of the new value) */ public TableValueChangeEvent(Object source, String propertyName, int row, int column, diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeListener.java index 3ad954455e..956be2f94f 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TableValueChangeListener.java @@ -18,17 +18,15 @@ package org.adempiere.webui.event; /** - * Interface specifying the functions - * that must be implemented to listen for a TableValueChangeEvent event + * Listener interface for {@link TableValueChangeEvent}. * * @author Andrew Kimball */ public interface TableValueChangeListener { /** - * Respond to a TableValueChangeEvent event - * Notifies this listener that an event has occurred. - * To get the event, you have to register it first by use of + * Respond to a TableValueChangeEvent event.
+ * To listen to the event, you have to register it first by calling * {@link org.adempiere.webui.component.WListItemRenderer#addTableValueChangeListener(TableValueChangeListener)} * * @param event The event that has occurred diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TokenEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TokenEvent.java index 352f2afe04..a48ea352e1 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TokenEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TokenEvent.java @@ -24,7 +24,7 @@ import org.zkoss.zk.ui.event.Event; public class TokenEvent extends Event { /** - * + * generated serial id */ private static final long serialVersionUID = 7727018026113457776L; /** on loading of user token **/ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ToolbarListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ToolbarListener.java index 82b4631ab6..e15bcd5790 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ToolbarListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ToolbarListener.java @@ -17,8 +17,10 @@ package org.adempiere.webui.event; +import org.adempiere.webui.adwindow.ADWindowToolbar; + /** - * + * Listener interface for {@link ADWindowToolbar}. * @author Ashley G Ramdass * @date Feb 25, 2007 * @version $Revision: 0.10 $ @@ -175,6 +177,9 @@ public interface ToolbarListener */ public void onCustomize(); + /** + * Process (gear icon) button + */ public void onProcess(); /** diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TouchEventHelper.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TouchEventHelper.java index 4e6b92b6b8..d45f9d86e0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TouchEventHelper.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/TouchEventHelper.java @@ -19,8 +19,8 @@ import org.zkoss.zul.Grid; /** * @author hengsin - * */ +@Deprecated(forRemoval = true, since = "11") public class TouchEventHelper { private static final String TABLET_SCROLLING_FIX_INIT = "tablet.scrolling.fix.init"; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeEvent.java index 9b83b3f2a3..793a384e0c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeEvent.java @@ -18,7 +18,7 @@ package org.adempiere.webui.event; /** - * + * Value change event for a named property. * @author Ashley G Ramdass * @date Mar 10, 2007 * @version $Revision: 0.10 $ @@ -32,7 +32,7 @@ public class ValueChangeEvent protected Object source; /** - * name of the property that changed. May be null, if not known. + * name of the property that changed */ private String propertyName; @@ -47,9 +47,15 @@ public class ValueChangeEvent private Object oldValue; // IDEMPIERE-1287:indicate case user just start edit field, want update status of toolbar button (like save button) - // but don't want change anything (ever value of edit field) + // but don't want change anything (even value of edit field) private boolean isInitEdit = false; + /** + * @param source + * @param propertyName + * @param oldValue + * @param newValue + */ public ValueChangeEvent(Object source, String propertyName, Object oldValue, Object newValue) { @@ -59,16 +65,25 @@ public class ValueChangeEvent this.oldValue = oldValue; } + /** + * @return new value + */ public Object getNewValue() { return newValue; } + /** + * @return old/previous value + */ public Object getOldValue() { return oldValue; } + /** + * @return property name + */ public String getPropertyName() { return propertyName; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeListener.java index 2f0f1e494c..d2bfd5d4db 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ValueChangeListener.java @@ -18,12 +18,15 @@ package org.adempiere.webui.event; /** - * + * Listener interface for {@link ValueChangeEvent} * @author Ashley G Ramdass * @date Mar 10, 2007 * @version $Revision: 0.10 $ */ public interface ValueChangeListener { + /** + * @param evt + */ public void valueChange(ValueChangeEvent evt); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelEvent.java index 93fdb01f5c..ea6c564d8b 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelEvent.java @@ -17,12 +17,13 @@ package org.adempiere.webui.event; +import org.adempiere.webui.component.ListModelTable; import org.zkoss.zul.ListModel; import org.zkoss.zul.event.ListDataEvent; /** + * Change event for {@link ListModelTable} * @author andy - * */ public class WTableModelEvent extends ListDataEvent { @@ -42,11 +43,9 @@ public class WTableModelEvent extends ListDataEvent /** * All row data in the table has changed, listeners should discard any state * that was based on the rows and requery the TableModel to - * get the new row count and all the appropriate values. The - * WListbox will repaint the entire visible region on receiving - * this event, querying the model for the cell values that are visible. The - * structure of the table ie, the column names, types and order have not - * changed. + * get the new row count and all the appropriate values.
+ * The WListbox will initiate repaint on receiving this event, + * querying the model for the cell values that are visible.
* * @param source The list model that has changed */ @@ -60,7 +59,7 @@ public class WTableModelEvent extends ListDataEvent /** * This row of data has been updated. To denote the arrival of a completely * new table with a different structure use HEADER_ROW as the - * value for the row. + * value for the row argument. * * @param source The list model that has changed * @param row Index of the affected row diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelListener.java index f43dec6e47..1030eb02c7 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/WTableModelListener.java @@ -18,8 +18,7 @@ package org.adempiere.webui.event; /** - * WTableModelListener defines the interface for an object that listens - * to changes in a WTableModel. + * Listener interface for {@link WTableModelEvent} * * @author Andrew Kimball * @@ -28,8 +27,8 @@ package org.adempiere.webui.event; public interface WTableModelListener { /** - * This fine grain notification tells listeners the exact range - * of cells, rows, or columns that changed. + * Notify listeners the exact range + * of cells, rows, or columns that have changed. * * @param event table model event */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZKBroadCastManager.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZKBroadCastManager.java index a377be1a08..50b6b59942 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZKBroadCastManager.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZKBroadCastManager.java @@ -15,10 +15,12 @@ package org.adempiere.webui.event; import org.compiere.util.WebUtil; + import org.idempiere.broadcast.BroadCastMsg; import org.idempiere.broadcast.BroadCastUtil; import org.idempiere.broadcast.BroadcastMsgUtil; import org.idempiere.distributed.ITopicSubscriber; + /** * Class Manages Broadcast Messages across webui cluster * @author Deepak Pansheriya @@ -26,12 +28,20 @@ import org.idempiere.distributed.ITopicSubscriber; */ public class ZKBroadCastManager implements ITopicSubscriber{ + /** Global share singleton instance */ private final static ZKBroadCastManager broadCastMgr = new ZKBroadCastManager(); + /** + * Get singleton instance + * @return ZKBroadCastManager + */ public static ZKBroadCastManager getBroadCastMgr() { return broadCastMgr; } + /** + * Default constructor + */ private ZKBroadCastManager(){ BroadCastUtil.subscribe(this); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZoomEvent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZoomEvent.java index a6007b8633..9957f3dc63 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZoomEvent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/ZoomEvent.java @@ -24,11 +24,15 @@ import org.zkoss.zk.ui.event.Event; public class ZoomEvent extends Event { /** - * + * generated serial id */ private static final long serialVersionUID = -8857628145535148973L; public final static String EVENT_NAME = "onZoom"; + /** + * @param target + * @param data + */ public ZoomEvent(Component target, Object data) { super(EVENT_NAME, target, data); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/exception/ApplicationException.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/exception/ApplicationException.java index dff8fcc711..968c75a6aa 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/exception/ApplicationException.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/exception/ApplicationException.java @@ -18,7 +18,6 @@ package org.adempiere.webui.exception; /** - * * @author Ashley G Ramdass * @date Mar 25, 2007 * @version $Revision: 0.10 $ @@ -26,15 +25,22 @@ package org.adempiere.webui.exception; public class ApplicationException extends RuntimeException { /** - * + * generated serial id */ private static final long serialVersionUID = -4217881437634023176L; + /** + * @param msg + */ public ApplicationException(String msg) { super(msg); } + /** + * @param msg + * @param ex + */ public ApplicationException(String msg, Exception ex) { super(msg, ex); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java index a3d3992168..c7df55abe4 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java @@ -47,20 +47,25 @@ import io.github.classgraph.ClassGraph.ScanResultProcessor; import io.github.classgraph.ClassInfo; /** - * Scan, discover and regiser classes with {@link Form} annotation. + * Scan, discover and register classes with {@link Form} annotation. * @author hengsin * */ public abstract class AnnotationBasedFormFactory extends AnnotationBasedFactory implements IFormFactory { + /** AD_Form.ClassName:Real Class Name */ private final Map classCache = new HashMap<>(); + /** Real Class Name: Constructor */ private final Map[]> constructorCache = new ConcurrentHashMap<>(); private BundleContext bundleContext = null; private static final CLogger s_log = CLogger.getCLogger(AnnotationBasedFormFactory.class); + /** + * Default constructor + */ public AnnotationBasedFormFactory() { } @@ -126,8 +131,16 @@ public abstract class AnnotationBasedFormFactory extends AnnotationBasedFactory } } + /** + * @return packages to scan + */ protected abstract String[] getPackages(); + /** + * Perform scan + * @param context + * @throws ClassNotFoundException + */ @Activate public void activate(ComponentContext context) throws ClassNotFoundException { long start = System.currentTimeMillis(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultAnnotationBasedFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultAnnotationBasedFormFactory.java index 42bc998b9a..23514bfb70 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultAnnotationBasedFormFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultAnnotationBasedFormFactory.java @@ -27,13 +27,16 @@ package org.adempiere.webui.factory; import org.osgi.service.component.annotations.Component; /** - * + * Core implementation of {@link AnnotationBasedFormFactory} * @author hengsin * */ @Component(immediate = true, service = IFormFactory.class, property = {"service.ranking:Integer=0"}) public final class DefaultAnnotationBasedFormFactory extends AnnotationBasedFormFactory { + /** + * Default constructor + */ public DefaultAnnotationBasedFormFactory() { } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java index e950483484..5ea62430a9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java @@ -54,7 +54,7 @@ import org.compiere.model.GridTab; import org.compiere.util.DisplayType; /** - * + * Default implementation of {@link IEditorFactory} * @author hengsin * */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFeedbackService.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFeedbackService.java index 3ab547ea27..54bb55284a 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFeedbackService.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFeedbackService.java @@ -37,6 +37,7 @@ import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Window.Mode; /** + * Default implementation of {@link IFeedbackService} * @author hengsin * */ @@ -64,14 +65,21 @@ public class DefaultFeedbackService implements IFeedbackService { new CreateNewRequestAction(); } + /** + * Action class to send feedback email to support + */ protected static class EmailSupportAction implements EventListener{ private boolean errorOnly; + /** + * @param errorOnly + */ protected EmailSupportAction(boolean errorOnly) { this.errorOnly = errorOnly; SessionManager.getAppDesktop().getComponent().addEventListener("onEmailSupport", this); + //client side script to capture screenshot and send onEmailSupport event to server String script = "html2canvas(document.body).then(canvas => " + "{ const dataUrl = canvas.toDataURL();" + " let widget = zk.Widget.$('#" + SessionManager.getAppDesktop().getComponent().getUuid()+"');"+ @@ -98,11 +106,18 @@ public class DefaultFeedbackService implements IFeedbackService { showEmailDialog(imageBytes); } + /** + * @return Feedback subject + */ protected String getFeedbackSubject() { String feedBackHeader = Msg.getMsg(Env.getCtx(), "FeedBackHeader"); return Env.parseContext(Env.getCtx(), 0, feedBackHeader, false, false); } + /** + * Show email dialog with screenshot attachment + * @param imageBytes screenshot attachment content + */ protected void showEmailDialog(byte[] imageBytes) { DataSource ds = FeedbackManager.getLogAttachment(errorOnly); @@ -140,16 +155,25 @@ public class DefaultFeedbackService implements IFeedbackService { dialog.focus(); } + /** + * Get recipient emails from AD_SysConfig configuration + * @param scValue AD_SysConfig.Name + * @return comma separated list of recipient emails + */ protected String getFeedbackRecipient(String scValue) { String retValue = MSysConfig.getValue(scValue, Env.getAD_Client_ID(Env.getCtx()), Env.getAD_Org_ID(Env.getCtx())); return Util.isEmpty(retValue) ? "" : retValue; } } + /** + * Action class to create new feedback request + */ protected static class CreateNewRequestAction implements EventListener{ protected CreateNewRequestAction() { SessionManager.getAppDesktop().getComponent().addEventListener("onCreateFeedbackRequest", this); + //client side script to capture screenshot and send onCreateFeedbackRequest event to server String script = "html2canvas(document.body).then(canvas => " + "{ let dataUrl = canvas.toDataURL();" + " let widget = zk.Widget.$('#" + SessionManager.getAppDesktop().getComponent().getUuid()+"');"+ @@ -176,6 +200,10 @@ public class DefaultFeedbackService implements IFeedbackService { showRequestDialog(imageBytes); } + /** + * Show create feedback request dialog with screenshot attachment + * @param imageBytes screenshot attachment content + */ protected void showRequestDialog(byte[] imageBytes) { FeedbackRequestWindow window = new FeedbackRequestWindow(); AEnv.showWindow(window); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFormFactory.java index f87f87b1b1..f19f37e0a1 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFormFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFormFactory.java @@ -23,6 +23,7 @@ import org.compiere.util.CLogger; import org.zkoss.zk.ui.Component; /** + * Default implementation of {@link IFormFactory} * @author hengsin * */ @@ -266,6 +267,10 @@ public class DefaultFormFactory implements IFormFactory { return zkName; } + /** + * @param clazz + * @return true if clazz is descendant of IFormController or Component + */ private static boolean isZkFormClass(Class clazz) { return IFormController.class.isAssignableFrom(clazz) || Component.class.isAssignableFrom(clazz); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java index 1ba8811f4c..beda0a8c2c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java @@ -42,7 +42,7 @@ import org.compiere.model.MInfoWindow; import org.compiere.util.Env; /** - * + * Default implementation of {@link IInfoFactory} * @author hengsin * */ @@ -64,6 +64,19 @@ public class DefaultInfoFactory implements IInfoFactory { value, multiSelection, whereClause, AD_InfoWindow_ID, lookup, null, field); } + /** + * @param WindowNo + * @param tableName + * @param keyColumn + * @param value + * @param multiSelection + * @param whereClause + * @param AD_InfoWindow_ID + * @param lookup + * @param predefinedContextVariables + * @param field + * @return InfoPanel + */ public InfoPanel create(int WindowNo, String tableName, String keyColumn, String value, boolean multiSelection, String whereClause, int AD_InfoWindow_ID, boolean lookup, String predefinedContextVariables, GridField field) { InfoPanel info = null; @@ -228,6 +241,10 @@ public class DefaultInfoFactory implements IInfoFactory { return null; } + /** + * Set IsSOTrx context variable base on C_DocType_ID context value. + * @param WindowNo + */ private void setSOTrxBasedOnDocType(int WindowNo) { int C_DocType_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "C_DocType_ID"); if (C_DocType_ID != 0) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultQuickEntryFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultQuickEntryFactory.java index 6b4398095f..c6bec3cbe4 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultQuickEntryFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultQuickEntryFactory.java @@ -19,8 +19,8 @@ package org.adempiere.webui.factory; import org.adempiere.webui.grid.AbstractWQuickEntry; import org.adempiere.webui.grid.WQuickEntry; - /** + * Default implementation of {@link IQuickEntryFactory} * @author Andreas Sumerauer */ public class DefaultQuickEntryFactory implements IQuickEntryFactory { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultTabPanelFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultTabPanelFactory.java index 58cdf5828f..7812226d49 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultTabPanelFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultTabPanelFactory.java @@ -19,6 +19,7 @@ import org.adempiere.webui.adwindow.IADTabpanel; import org.compiere.model.MTab; /** + * Default implementation of {@link IADTabPanelFactory} * @author Logilite Technologies */ public class DefaultTabPanelFactory implements IADTabPanelFactory diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IADTabPanelFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IADTabPanelFactory.java index 1231bbba7a..81beff9080 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IADTabPanelFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IADTabPanelFactory.java @@ -16,15 +16,14 @@ package org.adempiere.webui.factory; import org.adempiere.webui.adwindow.IADTabpanel; /** - * @author Logilite Technologies This interface implements OSGI service to - * retrieve ADTabPanel based on tab type. + * This interface implements OSGI service to instantiate ADTabPanel based on tab type. + * @author Logilite Technologies */ public interface IADTabPanelFactory { /** - * - * @param type Tab type - * @return Implementor of IADTabPanel + * @param type Tab type FORM, SORT or a custom type + * @return new IADTabPanel instance */ public IADTabpanel getInstance(String type); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java index e5ba8968b6..06b1c168c3 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java @@ -17,24 +17,25 @@ import org.compiere.model.MDashboardContent; import org.zkoss.zk.ui.Component; /** + * Factory interface for dashboard gadget * @author Antonio Cañaveral * @author hengsin - * */ public interface IDashboardGadgetFactory { + /** * - * @param uri String + * @param uri zul url * @param parent Component - * @return Component instance of DashboardPanel or null + * @return new DashboardPanel component instance or null */ public Component getGadget(String uri, Component parent); /** - * @param url String + * @param url zul url * @param parent Component * @param dc MDashboardContent - * @return Component instance of DashboardPanel or null + * @return new DashboardPanel component instance or null */ default public Component getGadget(String url, Component parent, MDashboardContent dc) { return getGadget(url, parent); // ignore the third method by default (backward compatibility) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IEditorFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IEditorFactory.java index 9b66d8f909..e06dd2d012 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IEditorFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IEditorFactory.java @@ -19,7 +19,7 @@ import org.compiere.model.GridField; import org.compiere.model.GridTab; /** - * + * Factory interface for {@link GridField} editor * @author hengsin * */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFeedbackService.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFeedbackService.java index dab66b0de0..8c64febde4 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFeedbackService.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFeedbackService.java @@ -14,9 +14,8 @@ package org.adempiere.webui.factory; /** - * + * Interface for feedback service * @author hengsin - * */ public interface IFeedbackService { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFormFactory.java index a993b9c5f0..809da7927c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFormFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IFormFactory.java @@ -16,14 +16,12 @@ package org.adempiere.webui.factory; import org.adempiere.webui.panel.ADForm; /** - * + * Factory interface for {@link ADForm} * @author hengsin - * */ public interface IFormFactory { /** - * * @param formName * @return new form instance */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IInfoFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IInfoFactory.java index adac3fbdbd..c3b7433a68 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IInfoFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IInfoFactory.java @@ -19,9 +19,8 @@ import org.compiere.model.GridField; import org.compiere.model.Lookup; /** - * + * Factory interface for {@link InfoPanel} ({@link InfoWindow}) * @author hengsin - * */ public interface IInfoFactory { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IMappedFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IMappedFormFactory.java index e4ef40f1d6..753f212aed 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IMappedFormFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IMappedFormFactory.java @@ -30,7 +30,7 @@ import org.idempiere.ui.zk.annotation.Form; import org.osgi.framework.BundleContext; /** - * + * {@link IMappedByNameFactory} interface for {@link ADForm}. * @author matheus.marcelino * */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IQuickEntryFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IQuickEntryFactory.java index c7152f95f7..633f46ba47 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IQuickEntryFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IQuickEntryFactory.java @@ -18,7 +18,7 @@ package org.adempiere.webui.factory; import org.adempiere.webui.grid.AbstractWQuickEntry; /** - * + * Factory interface for {@link AbstractWQuickEntry} * @author Andreas Sumerauer * */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/InfoManager.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/InfoManager.java index 2c5f93a4dd..51648ac7be 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/InfoManager.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/InfoManager.java @@ -27,7 +27,7 @@ import org.compiere.util.CCache; import org.osgi.framework.Constants; /** - * + * Static methods for instantiation of {@link InfoPanel}/{@link InfoWindow} * @author hengsin * */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/MappedFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/MappedFormFactory.java index c79a9020bd..6c87dbdb07 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/MappedFormFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/MappedFormFactory.java @@ -49,6 +49,10 @@ import io.github.classgraph.ClassGraph; import io.github.classgraph.ClassInfo; import io.github.classgraph.ScanResult; +/** + * Default implementation of {@link IMappedFormFactory} + * @author hengsin + */ @Component(name = "org.adempiere.webui.factory.MappedFormFactory", immediate = true, service = {IFormFactory.class, IMappedFormFactory.class}, @@ -57,6 +61,9 @@ public class MappedFormFactory extends MappedByNameFactory implements IF private final static CLogger s_log = CLogger.getCLogger(MappedFormFactory.class); + /** + * Default constructor + */ public MappedFormFactory() { } @@ -101,10 +108,16 @@ public class MappedFormFactory extends MappedByNameFactory implements IF } + /** + * {@link Supplier} class for instantiation of {@link ADForm} + */ private static final class FormSupplier implements Supplier { private Constructor constructor; + /** + * @param constructor form class constructor + */ private FormSupplier(Constructor constructor) { this.constructor = constructor; } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/ZulDashboardGadgetFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/ZulDashboardGadgetFactory.java index 00a84b655d..104209920a 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/ZulDashboardGadgetFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/ZulDashboardGadgetFactory.java @@ -21,7 +21,7 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; /** - * + * Default {@link IDashboardGadgetFactory} implementation for ZUL based dashboard gadget * @author Antonio Cañaveral * @author hengsin * diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/AbstractWQuickEntry.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/AbstractWQuickEntry.java index a303f8afd1..bbdc8303bc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/AbstractWQuickEntry.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/AbstractWQuickEntry.java @@ -24,26 +24,26 @@ import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; /** - * Quick Entry Window - * Interface based on class WQuickEntry by Carlos Ruiz + * Quick Entry Window.
+ * Based on class WQuickEntry by Carlos Ruiz * @Author Andreas Sumerauer */ public abstract class AbstractWQuickEntry extends Window implements Component, ISupportMask, EventListener, ValueChangeListener { /** - * + * generated serial id */ - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 5092377634523789098L; /** * check table is editable in quick entry * user must have write right and table has at least one input field - * @return + * @return true if quick edit form is available, false otherwise */ public abstract boolean isAvailableQuickEdit (); /** - * Load Record_ID + * Load record by Record_ID * @param Record_ID - existing Record or 0 for new * @return true if loaded */ @@ -56,12 +56,12 @@ public abstract class AbstractWQuickEntry extends Window implements Component, I public abstract int getRecord_ID(); /** - * refresh all fields + * Dynamic update of all fields */ public abstract void dynamicDisplay(); /** - * get size quickfields + * @return number of quick fields */ public abstract int getQuickFields(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java index 3db7452a28..4ccc3873a1 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java @@ -67,7 +67,7 @@ import org.zkoss.zul.Vlayout; public class WQuickEntry extends AbstractWQuickEntry implements EventListener, ValueChangeListener { /** - * + * generated serial id */ private static final long serialVersionUID = -6385383768870354870L; @@ -82,14 +82,17 @@ public class WQuickEntry extends AbstractWQuickEntry implements EventListener quickFields = new ArrayList(); + /** editors for {@link #quickFields} */ protected List quickEditors = new ArrayList(); protected List initialValues = new ArrayList(); protected List quickTabs = new ArrayList(); + /** POs for {@link #quickTabs} */ protected List quickPOs = new ArrayList(); /** Read Only */ private boolean m_readOnly = false; + /** Center container for field label and editors */ protected Vlayout centerPanel = new Vlayout(); private ConfirmPanel confirmPanel = new ConfirmPanel(true, false, false, false, false, false); @@ -98,8 +101,13 @@ public class WQuickEntry extends AbstractWQuickEntry implements EventListener list = new ArrayList(); list.add(new ColumnInfo(Msg.translate(Env.getCtx(), "PriceListVersion"), "plv.Name", String.class, true, "PriceListVersion")); list.add(new ColumnInfo(Msg.translate(Env.getCtx(), "ValidFrom"), "plv.ValidFrom", Timestamp.class, true, "ValidFrom")); @@ -450,7 +457,7 @@ public class InfoProductWindow extends InfoWindow { productpriceTbl.repaint(); m_tableAtp.repaint(); - // add related info windows + // add other related info windows (AD_InfoRelated) if (embeddedWinList.size() > 0) { for (EmbedWinInfo embeddedWin : embeddedWinList) { if (embeddedWin.getInfoTbl() instanceof WListbox) { @@ -786,7 +793,6 @@ public class InfoProductWindow extends InfoWindow { } } // refresh - // Elaine 2008/11/26 /** * Query Avaiable to promise (ATP) * @param m_M_Warehouse_ID @@ -951,7 +957,8 @@ public class InfoProductWindow extends InfoWindow { @Override protected void showHistory() { - log.info(""); + if (log.isLoggable(Level.INFO)) + log.info(""); Integer M_Product_ID = getIntSelectedRowKey(MProduct.Table_ID); if (M_Product_ID == null) return; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java index a660beac2e..bb076e9145 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java @@ -167,17 +167,19 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL private static final String ON_QUERY_AFTER_CHANGE = "onQueryAfterChange"; + /** Query parameter grid */ protected Grid parameterGrid; private Borderlayout layout; private Vbox southBody; /** List of WEditors */ protected List editors; protected ArrayList editors2; + /** List of editors that will trigger query after changes by user */ protected List queryAfterChangeEditors; protected List identifiers; protected Properties infoContext; - /** embedded Panel **/ + /** embedded Panel (AD_InfoRelated) **/ protected Tabbox embeddedPane = new Tabbox(); protected ArrayList embeddedWinList = new ArrayList (); protected Map relatedMap = new HashMap<>(); @@ -191,9 +193,12 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL protected AbstractWQuickEntry vqe; + //From and to grid fields private List gridFields; private List gridFields2; + /** Selection Column Sequence:[InfoColumnVO, GridField] */ private TreeMap> parameterTree; + /** To grid field of {@link #parameterTree} */ private TreeMap> parameterTree2; private Checkbox checkAND; @@ -209,19 +214,24 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL private Button exportButton = null; /** - * Menu contail process menu item + * Popup menu for process */ protected Menupopup ipMenu; + + /** Number of column for {@link #parameterGrid} */ private int noOfParameterColumn; + /** true to auto collapse parameter panel after execution of query */ private boolean autoCollapsedParameterPanel = false; /** * @param WindowNo * @param tableName * @param keyColumn + * @param queryValue * @param multipleSelection * @param whereClause + * @param AD_InfoWindow_ID */ public InfoWindow(int WindowNo, String tableName, String keyColumn, String queryValue, boolean multipleSelection, String whereClause, int AD_InfoWindow_ID) { @@ -232,8 +242,10 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL * @param WindowNo * @param tableName * @param keyColumn + * @param queryValue * @param multipleSelection * @param whereClause + * @param AD_InfoWindow_ID * @param lookup */ public InfoWindow(int WindowNo, String tableName, String keyColumn, String queryValue, @@ -278,7 +290,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL addEventListener(ON_QUERY_AFTER_CHANGE, e -> postQueryAfterChangeEvent()); - //Xolali IDEMPIERE-1045 + //update related info window tabs contentPanel.addActionListener(new EventListener() { public void onEvent(Event event) throws Exception { @@ -297,17 +309,16 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL updateSubcontent(row); } - }); //xolali --end- + }); Env.setPredefinedVariables(Env.getCtx(), getWindowNo(), predefinedContextVariables); infoContext = new Properties(Env.getCtx()); p_loadedOK = loadInfoDefinition(); - // make process button only in windown mode + // make process button only in window mode if (!m_lookup){ - // IDEMPIERE-1334 initInfoProcess(); - // when have a process, force multi select mode + // when have a process, force multiple selection mode if (haveProcess) setMultipleSelection(true); } @@ -360,7 +371,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL * {@inheritDoc} */ @Override - protected void updateSubcontent (int row){ // F3P: For multi-selection info, using selected row blocks the dislay to the first selected + protected void updateSubcontent (int row){ // F3P: For multi-selection info, display for the first selected row if(row < 0) row = contentPanel.getSelectedRow(); @@ -384,11 +395,10 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * IDEMPIERE-1334 - * load info process info - * separate by layout type - * init drop list and menu control - * set status of haveProcess flag + * IDEMPIERE-1334
+ * Load info processes by layout type.
+ * Create buttons, drop down list and popup menu.
+ * Set status of haveProcess flag.
*/ protected void initInfoProcess() { if (infoWindow == null){ @@ -509,10 +519,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * evel display logic of process info button - * set visible of button base in display logic - * when two button set for same process, two button can hiden too, or display too. - * this is bug of implementor by never have this case + * Evaluate display logic of process info button and set visiblity of button.
*/ protected void bindInfoProcessBt (){ if (infoProcessBtList == null){ @@ -521,11 +528,11 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL // display process in button style for (MInfoProcess infoProcessBt : infoProcessBtList){ - // eval display logic + // evaluate display logic for (Button evlBt: btProcessList){ Integer processId = (Integer)evlBt.getAttribute(PROCESS_ID_KEY); if (processId.intValue() == infoProcessBt.getAD_Process_ID()){ - // display or hiden button + // display or hide button evlBt.setVisible(infoProcessBt.isDisplayed(infoContext, p_WindowNo)); break; } @@ -534,15 +541,14 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * recreate drop down item by recreate model to set hiden, display of drop down item - * when all item is hiden, hiden combobox and process button too + * Create drop down list (Combobox) of process */ protected void bindInfoProcessDropDown (){ if (infoProcessDropList == null || infoProcessDropList.size() == 0){ return; } - // list info process after eval display logic + // list info process after evaluation of display logic List infoProcessDropListTmp = new ArrayList (); // filter item not display @@ -552,7 +558,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } - // when item is filter out all. don't show combobox + // When all item is hidden. don't show combobox cbbProcess.setVisible(infoProcessDropListTmp.size() > 0); btCbbProcess.setVisible(infoProcessDropListTmp.size() > 0); if (infoProcessDropListTmp.size() > 0){ @@ -563,8 +569,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * recreate menu item by set hiden, display of menu item - * when all menu item is hiden, hiden process menu button too + * Create popup of menu for processes */ protected void bindInfoProcessMenu (){ if (infoProcessMenuList == null || infoProcessMenuList == null) @@ -577,7 +582,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } MProcess process = MProcess.get(Env.getCtx(), infoProcess.getAD_Process_ID()); - // make menu item for each info process + // Create menu item for each info process Menuitem ipMenuItem = new Menuitem(); ipMenuItem.setLabel(process.get_Translation(MProcess.COLUMNNAME_Name)); if (!Util.isEmpty(infoProcess.getImageURL(), true)) { @@ -591,11 +596,12 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL ipMenu.appendChild(ipMenuItem); } + //hide menu button if no visible process btMenuProcess.setVisible(ipMenu.getChildren().size() > 0); } /** - * move process buttons from left side of center to the front of right side + * Move process buttons from left of centre panel to the front of right panel */ public void moveProcessButtonsToBeforeRight() { if (btProcessList == null || btProcessList.isEmpty()) @@ -607,7 +613,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * process query value from input element + * Process query value from input element */ protected void processQueryValue() { isQueryByUser = true; @@ -750,7 +756,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL gridField2 = new GridField(vo2); } gridFields2.add(gridField2); - //IDEMPIERE-4485 Clone new Gridfields with IsReadOnly = false + //IDEMPIERE-4485 Clone new Grid fields with IsReadOnly = false if(infoColumn.isQueryCriteria()) { vo = vo.clone(infoContext, p_WindowNo, 0, vo.AD_Window_ID, 0, false); vo.IsReadOnly = false; @@ -772,7 +778,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } - // If we have a process and at least one process and an editable field, change to the info window rendered + // If we have a process and at least one editable field, listen for table change event int processCount = 0; @@ -795,13 +801,13 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } - infoWindowListItemRenderer = new WInfoWindowListItemRenderer(this); - contentPanel.setItemRenderer(infoWindowListItemRenderer); + infoWindowListItemRenderer = new WInfoWindowListItemRenderer(this); + contentPanel.setItemRenderer(infoWindowListItemRenderer); if(hasEditable) { - contentPanel.setAllowIDColumnForReadWrite(true); - infoWindowListItemRenderer.addTableValueChangeListener(contentPanel); // Replicated from WListbox constructor - } + contentPanel.setAllowIDColumnForReadWrite(true); + infoWindowListItemRenderer.addTableValueChangeListener(contentPanel); // Replicated from WListbox constructor + } StringBuilder builder = new StringBuilder(p_whereClause != null ? p_whereClause.trim() : ""); String infoWhereClause = infoWindow.getWhereClause(); @@ -832,7 +838,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL if (infoWindow == null) return false; - // topinfoColumns = infoWindow.getInfoColumns(); MInfoRelated[] infoRelatedList = infoWindow.getInfoRelated(true); //Init Info Related VO relatedInfoList = InfoRelatedVO.getInfoRelatedVOList(Env.getCtx(), infoRelatedList, p_WindowNo); @@ -840,8 +845,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL Tabpanels tabPanels = new Tabpanels(); Tabs tabs = new Tabs(); - - // for(int i=0; i < relatedinfoList.length - 1 ; i++) { for (InfoRelatedVO relatedInfo:relatedInfoList) { if(!relatedInfo.isDisplayed(infoContext)) { @@ -861,8 +864,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL WListbox embeddedTbl = new WListbox(); String m_sqlEmbedded; - //MInfoWindow.getInfoWindow(infoRelatedID); - if (embedInfo != null) { ArrayList list = new ArrayList(); list = getInfoColumnslayout(embedInfo); @@ -894,7 +895,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL embeddedPaging.setSclass("infowindow-related-paging"); //Xolali - add embeddedTbl to list, add m_sqlembedded to list - EmbedWinInfo ewinInfo = new EmbedWinInfo(embedInfo,embeddedTbl,m_sqlEmbedded,relatedInfo.getLinkColumnName(), relatedInfo.getLinkInfoColumn(), relatedInfo.getParentRelatedColumn_ID()); + EmbedWinInfo ewinInfo = new EmbedWinInfo(embedInfo, embeddedTbl, m_sqlEmbedded, relatedInfo.getLinkColumnName(), relatedInfo.getLinkInfoColumn(), relatedInfo.getParentRelatedColumn_ID()); embeddedWinList.add(ewinInfo); RelatedInfoWindow relatedInfoWindow = new RelatedInfoWindow(ewinInfo, this, embeddedPaging, s_sqlCount, s_layoutEmbedded, editorMap); relatedMap.put(embedInfo.getAD_InfoWindow_ID(), relatedInfoWindow); @@ -903,7 +904,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL Tab tab = new Tab(tabTitle); tabs.appendChild(tab); Tabpanel desktopTabPanel = new Tabpanel(); - //desktopTabPanel. ZKUpdateUtil.setHeight(desktopTabPanel, "100%"); Vlayout vlayout = new Vlayout(); ZKUpdateUtil.setVflex(vlayout, "1"); @@ -916,12 +916,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } if (relatedInfoList.length > 0) { // setup the panel - - //embeddedPane.setTitle(Msg.translate(Env.getCtx(), "Related Information")); ZKUpdateUtil.setHeight(embeddedPane, "100%"); - //tabPanels = new Tabpanels(); embeddedPane.appendChild(tabPanels); - //tabs = new Tabs(); embeddedPane.appendChild(tabs); } @@ -930,7 +926,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * setup list box and construct sql query clause + * Setup list box and construct SQL query clause */ protected void prepareTable() { List list = new ArrayList(); @@ -1029,7 +1025,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL MLookupInfo lookupInfo = MLookupFactory.getLookupInfo(Env.getCtx(), p_WindowNo, 0, infoColumn.getAD_Reference_ID(), Env.getLanguage(Env.getCtx()), columnName, infoColumn.getAD_Reference_Value_ID(), false, validationCode); String displayColumn = lookupInfo.DisplayColumn; - boolean haveNotProcess = !haveProcess; // A field is editabile only if is not readonly and theres a process; + boolean haveNotProcess = !haveProcess; // A field is editable only if is not readonly and there is a process; int index = infoColumn.getSelectClause().indexOf("."); if (index >= 0 && index == infoColumn.getSelectClause().lastIndexOf(".")) @@ -1108,7 +1104,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL @Override protected String getSQLWhere() { /** - * when query not by click requery button, reuse prev where clause + * when query not by click re-query button, reuse previous where clause * IDEMPIERE-1979 */ if (!isQueryByUser && prevWhereClause != null){ @@ -1310,13 +1306,11 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * Check has new parameter is change or new input - * in case first time search, return true - * @return + * Check if parameter value has change + * @return true if at least one parameter value has change or this is the first search by user */ protected boolean isParameteChangeValue (){ if (prevParameterValues == null){ - // never process query, because consider as changed value to process current search return true; } @@ -1416,8 +1410,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * set parameter for statement. - * not need check null for value + * Set parameters for prepared statement.
+ * Does not need null check for value. * @param pstmt * @param parameterIndex * @param value @@ -1477,15 +1471,15 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * add all ViewID in each MInfoProcess to query - * if main query have subquery in SELECT, it will beak or incorrect + * Add all ViewID in each MInfoProcess to query.
+ * If main query have subquery in SELECT, it will beak or incorrect */ protected void addViewIDToQuery () { m_sqlMain = addMoreColumnToQuery (m_sqlMain, infoProcessList); } /** - * if {@link #keyColumnOfView} not null and not display, add query to query it's value + * If {@link #keyColumnOfView} not null and not display, add {@link #keyColumnOfView} to query */ protected void addKeyViewToQuery () { if (isNeedAppendKeyViewData()){ @@ -1499,15 +1493,14 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * because data of infoColumn have isDisplay = false not load, - * just display column is load to show in List. - * Some function receive data from hidden column as viewID in infoProcess - * or parentLink of infoRelateWindow. - * - * this function just add column name of hidden infoWindow to end of query - * @param sqlMain main sql to append column - * @param listInfoColumn list of PO contain infoColumnID, this infoColumnID will add to query - * @return sql after append column + * Info window load infoColumns with isDisplay = true to construct the main query.
+ * Some function uses data from hidden column as viewID in infoProcess + * or as parentLink of infoRelateWindow. This function is use to append the hidden column to main query. + *

+ * Append info window column to query. + * @param sqlMain main SQL to append column + * @param listInfoColumn list of info column to add to query + * @return SQL after append column */ protected String addMoreColumnToQuery (String sqlMain, IInfoColumn [] listInfoColumn) { if (sqlMain == null || sqlMain.length() == 0 || listInfoColumn == null || listInfoColumn.length == 0){ @@ -1675,14 +1668,12 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL south.setTooltiptext(Msg.translate(Env.getCtx(), "Related Information")); south.setSclass("south-collapsible-with-title"); south.setAutoscroll(true); - //south.sets inner.appendChild(south); embeddedPane.setSclass("info-product-tabbedpane"); ZKUpdateUtil.setVflex(embeddedPane, "1"); ZKUpdateUtil.setHflex(embeddedPane, "1"); south.appendChild(embeddedPane); - }// render embedded center.appendChild(inner); @@ -1834,7 +1825,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL * Add Selection Column to first Tab * @param infoColumn * @param mField field - **/ + */ protected void addSelectionColumn(InfoColumnVO infoColumn, GridField mField, GridField mField2) { int displayLength = mField.getDisplayLength(); @@ -2117,7 +2108,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL * Append ORDER BY expressions into the select list * @param sql * @param orderBy - * @return String parsed sql + * @return sql with order by */ private String appendOrderByToSelectList(String sql, String orderBy) { if(Util.isEmpty(orderBy)) @@ -2132,9 +2123,9 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * Get the index of the FROM statement + * Get the index of the FROM keyword * @param sql - * @return int idx + * @return index of the FROM keyword */ private int getIdxFrom(String sql) { int parenthesisLevel = 0; @@ -2522,7 +2513,9 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL return true; } // testCount - /** Return true if there is an 'IsActive' criteria */ + /** + * @return true if there is an 'IsActive' criteria + */ protected boolean hasIsActiveEditor() { for (WEditor editor : editors) { if (editor.getGridField() != null && "IsActive".equals(editor.getGridField().getColumnName())) { @@ -2550,54 +2543,54 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL ? tableInfos[0].getSynonym() : tableInfos[0].getTableName(); - String keySelectClause = keyTableAlias + "." + p_keyColumn; + String keySelectClause = keyTableAlias + "." + p_keyColumn; - for (InfoColumnVO infoColumn : infoColumns) + for (InfoColumnVO infoColumn : infoColumns) + { + if (infoColumn.isDisplayed(infoContext, p_WindowNo)) + { + ColumnInfo columnInfo = null; + String colSQL = infoColumn.getSelectClause(); + if (! colSQL.toUpperCase().contains(" AS ")) + colSQL += " AS " + infoColumn.getColumnName(); + if (infoColumn.getAD_Reference_ID() == DisplayType.ID) { - if (infoColumn.isDisplayed(infoContext, p_WindowNo)) - { - ColumnInfo columnInfo = null; - String colSQL = infoColumn.getSelectClause(); - if (! colSQL.toUpperCase().contains(" AS ")) - colSQL += " AS " + infoColumn.getColumnName(); - if (infoColumn.getAD_Reference_ID() == DisplayType.ID) - { - if (infoColumn.getSelectClause().equalsIgnoreCase(keySelectClause)) - continue; - - columnInfo = new ColumnInfo(infoColumn.getNameTrl(), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true)); - } - else if (DisplayType.isLookup(infoColumn.getAD_Reference_ID())) - { - if (infoColumn.getAD_Reference_ID() == DisplayType.List) - { - WEditor editor = null; - editor = WebEditorFactory.getEditor(getGridField(infoColumn), true); - editor.setMandatory(false); - editor.setReadWrite(false); - editorMap.put(colSQL, editor); - columnInfo = new ColumnInfo(infoColumn.getNameTrl(), colSQL, ValueNamePair.class, (String)null); - } - else - { - GridField field = getGridField(infoColumn); - columnInfo = createLookupColumnInfo(tableInfos, field, infoColumn); - } - } - else - { - columnInfo = new ColumnInfo(infoColumn.getNameTrl(), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true)); - } - columnInfo.setColDescription(infoColumn.getDescriptionTrl()); - columnInfo.setGridField(getGridField(infoColumn)); - columnInfo.setAD_Reference_ID(infoColumn.getAD_Reference_ID()); - columnInfo.setAD_Reference_Value_ID(infoColumn.getAD_Reference_Value_ID()); - list.add(columnInfo); - } + if (infoColumn.getSelectClause().equalsIgnoreCase(keySelectClause)) + continue; + columnInfo = new ColumnInfo(infoColumn.getNameTrl(), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true)); } + else if (DisplayType.isLookup(infoColumn.getAD_Reference_ID())) + { + if (infoColumn.getAD_Reference_ID() == DisplayType.List) + { + WEditor editor = null; + editor = WebEditorFactory.getEditor(getGridField(infoColumn), true); + editor.setMandatory(false); + editor.setReadWrite(false); + editorMap.put(colSQL, editor); + columnInfo = new ColumnInfo(infoColumn.getNameTrl(), colSQL, ValueNamePair.class, (String)null); + } + else + { + GridField field = getGridField(infoColumn); + columnInfo = createLookupColumnInfo(tableInfos, field, infoColumn); + } + } + else + { + columnInfo = new ColumnInfo(infoColumn.getNameTrl(), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true)); + } + columnInfo.setColDescription(infoColumn.getDescriptionTrl()); + columnInfo.setGridField(getGridField(infoColumn)); + columnInfo.setAD_Reference_ID(infoColumn.getAD_Reference_ID()); + columnInfo.setAD_Reference_Value_ID(infoColumn.getAD_Reference_Value_ID()); + list.add(columnInfo); + } - return list; + } + + return list; } /** @@ -2617,7 +2610,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL * author xolali IDEMPIERE-1045 * GridField getGridField(InfoColumnVO infoColumn) * @param infoColumn - * @return + * @return GridField */ protected GridField getGridField(InfoColumnVO infoColumn){ String columnName = infoColumn.getColumnName(); @@ -2668,10 +2661,10 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } /** - * valid mandatory of a not null, display field - * display red color when a mandatory field is not input + * Validate mandatory fields.
+ * Display red color when a mandatory field is not fill. * @param wEditor - * @return + * @return true if pass mandatory validation, false otherwise */ protected boolean validateField (WEditor wEditor){ if (wEditor == null || !wEditor.isVisible() || wEditor.getGridField() == null){ @@ -2720,7 +2713,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL /** * Get id of window link with main table of this info window - * @return + * @return AD_Window_ID */ protected int getADWindowID() { if(infoWindow == null) @@ -2774,7 +2767,10 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } - /** Allow to show or hide the sub panel (detail) programmatically */ + /** + * Allow to show or hide the sub panel (detail) programmatically + * @param visible + */ protected void setSouthVisible(boolean visible) { Component comp = layout.getCenter(); for (Component c : comp.getChildren()) { @@ -2802,7 +2798,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL ListModelTable model = contentPanel.getModel(); Properties ctx = new Properties(Env.getCtx()); // Allow session values - // Parameter dditors + // Parameter editors for(WEditor e:editors) { @@ -3099,7 +3095,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL List originalSelectedRow = temporarySelectedData.get(keyViewValue); ListModelTable model = contentPanel.getModel(); - // While restoring values we dong want to trigger listeners + // While restoring values we don't want to trigger listeners model.removeTableModelListener(this); if (originalSelectedRow != null) @@ -3140,12 +3136,12 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL */ protected void initExport() { - exportButton = ButtonFactory.createNamedButton("Export", false, true); - exportButton.setId("Export"); - exportButton.setEnabled(false); - exportButton.addEventListener(Events.ON_CLICK, new XlsxExportAction()); - - confirmPanel.addComponentsLeft(exportButton); + exportButton = ButtonFactory.createNamedButton("Export", false, true); + exportButton.setId("Export"); + exportButton.setEnabled(false); + exportButton.addEventListener(Events.ON_CLICK, new XlsxExportAction()); + + confirmPanel.addComponentsLeft(exportButton); } /** diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/RelatedInfoWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/RelatedInfoWindow.java index 8337748283..79737ef57e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/RelatedInfoWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/RelatedInfoWindow.java @@ -83,10 +83,12 @@ public class RelatedInfoWindow implements EventListener, Sortable private ColumnInfo[] columnsLayout; /** + * @param info * @param infoWindow * @param embeddedPaging + * @param infoSqlCount * @param layoutEmbedded - * + * @param editorMap */ public RelatedInfoWindow(EmbedWinInfo info, InfoWindow infoWindow, Paging embeddedPaging, String infoSqlCount, ColumnInfo[] layoutEmbedded, Map editorMap) { this.editorMap = editorMap; @@ -98,6 +100,9 @@ public class RelatedInfoWindow implements EventListener, Sortable columnsLayout = layoutEmbedded; } + /** + * @param id + */ public void refresh(Object id) { parentId = id; @@ -225,26 +230,32 @@ public class RelatedInfoWindow implements EventListener, Sortable } /** - * @return the cacheStart + * @return the cacheStart index */ protected int getCacheStart() { return cacheStart; } /** - * @param cacheStart the cacheStart to set + * @param cacheStart set cacheStart index */ private void setCacheStart(int cacheStart) { this.cacheStart = cacheStart; } /** - * @return the cacheEnd + * @return the cacheEnd index */ protected int getCacheEnd() { return cacheEnd; } + /** + * @param fromIndex + * @param toIndex + * @param line + * @return sublist from line + */ private List getSubList (int fromIndex, int toIndex, List line){ if (toIndex > line.size()) toIndex = line.size(); @@ -260,17 +271,17 @@ public class RelatedInfoWindow implements EventListener, Sortable } /** - * when calculator value at bound, sometime value is overflow by data type - * this function calculator at high type for avoid it + * When calculate value at bound, sometime value is overflow by data type.
+ * This function calculate using higher type to workaround it. * @param overValue - * @return + * @return int value */ private int getOverIntValue (long overValue){ return getOverIntValue (overValue, 0); } /** - * see {@link #getOverIntValue(long)}. when value over max_value set it near max_value. + * see {@link #getOverIntValue(long)}. when value over max_value set it to nearest max_value. * @param overValue * @param extra * @return @@ -282,6 +293,12 @@ public class RelatedInfoWindow implements EventListener, Sortable return (int)overValue; } + /** + * Loading of data from DB + * @param start + * @param end + * @return list of values read + */ private List readLine(int start, int end) { int pageSize = parentInfoWindow.getPageSize(); @@ -572,9 +589,9 @@ public class RelatedInfoWindow implements EventListener, Sortable } /** - * after query from database, process validate. - * if end page include in cache, process calculate total record - * if current page is out of page (no record is query) process query count to detect end page + * After query from database, validate paging.
+ * If end page included in cache, calculate record total.
+ * If current page is out of cache (no record is query), process query count to detect end page */ protected void validateEndPage (){ if (paging == null || info.getInfowin().isLoadPageNum()) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java index 025f76bd8d..eb3e4483a9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java @@ -147,7 +147,5 @@ public class WInfoPAttributeEditor extends WEditor implements IWhereClauseEditor @Override public void dynamicDisplay() { - // int attributeSetId = Env.getContextAsInt(ctx, windowNo, Env.TAB_INFO, "M_AttributeSet_ID"); - // setReadWrite(attributeSetId > 0); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/listbox/renderer/AbstractListitemRenderer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/listbox/renderer/AbstractListitemRenderer.java index 0fbbd822ca..94ccabb73c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/listbox/renderer/AbstractListitemRenderer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/listbox/renderer/AbstractListitemRenderer.java @@ -54,10 +54,10 @@ public abstract class AbstractListitemRenderer implements ListitemRenderer } /** - * Renders the data to the specified list item. + * Renders data to the specified list item. * @param item the listitem to render the result. - * @param data data that is returned from {@link ListModel#getElementAt} - * @param index the row/list index of the data that is currently being rendered + * @param data data returned from {@link ListModel#getElementAt} + * @param index the row/list index of data that is currently being rendered */ public abstract void renderListitem(Listitem item, T data, int index); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ADForm.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ADForm.java index 681fa0abf2..ba75aacaec 100755 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ADForm.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ADForm.java @@ -48,7 +48,7 @@ import org.zkoss.zk.ui.event.KeyEvent; public abstract class ADForm extends Window implements EventListener, IHelpContext { /** - * + * generated serial id */ private static final long serialVersionUID = -5381283117636286759L; @@ -60,15 +60,14 @@ public abstract class ADForm extends Window implements EventListener, IHe logger = CLogger.getCLogger(ADForm.class); } - /** The unique identifier of the form type */ + /** AD_Form_ID */ private int m_adFormId; - /** The identifying number of the window in which the form is housed */ + /** window number of desktop tab */ protected int m_WindowNo; - + /** Name of form */ private String m_name; - private ProcessInfo m_pi; private IFormController m_customForm; @@ -91,11 +90,17 @@ public abstract class ADForm extends Window implements EventListener, IHe this.setContentSclass("adform-content"); } + /** + * @return window number + */ public int getWindowNo() { return m_WindowNo; } + /** + * @return AD_Form_ID + */ protected int getAdFormId() { return m_adFormId; @@ -104,15 +109,15 @@ public abstract class ADForm extends Window implements EventListener, IHe /** * Initialise the form * - * @param adFormId the Adempiere form identifier - * @param name the name of the Adempiere form + * @param adFormId AD_Form_ID + * @param name Name of form */ protected void init(int adFormId, String name) { if(adFormId <= 0) { - throw new IllegalArgumentException("Form Id is invalid"); + throw new IllegalArgumentException("Form Id is invalid"); } m_adFormId = adFormId; @@ -125,6 +130,9 @@ public abstract class ADForm extends Window implements EventListener, IHe addEventListener(WindowContainer.ON_WINDOW_CONTAINER_SELECTION_CHANGED_EVENT, this); } + /** + * Initialize form layout + */ abstract protected void initForm(); /** @@ -137,7 +145,7 @@ public abstract class ADForm extends Window implements EventListener, IHe /** * Create a new form corresponding to the specified identifier * - * @param adFormID The unique identifier for the form type + * @param adFormID AD_Form_ID * @return The created form */ public static ADForm openForm (int adFormID) @@ -188,6 +196,7 @@ public abstract class ADForm extends Window implements EventListener, IHe * @param gridTab * @param pi * @param predefinedContextVariables + * @param isSOTrx * @return The created form */ public static ADForm openForm (int adFormID, GridTab gridTab, ProcessInfo pi, String predefinedContextVariables, boolean isSOTrx) @@ -199,7 +208,7 @@ public abstract class ADForm extends Window implements EventListener, IHe if (mform.get_ID() == 0 || formName == null) { - throw new ApplicationException("There is no form associated with the specified selection"); + throw new ApplicationException("There is no form associated with the specified form ID"); } else { @@ -225,9 +234,7 @@ public abstract class ADForm extends Window implements EventListener, IHe } } // openForm - /** - * - */ + @Override public void onEvent(Event event) throws Exception { if (event.getName().equals(WindowContainer.ON_WINDOW_CONTAINER_SELECTION_CHANGED_EVENT)) { @@ -262,11 +269,17 @@ public abstract class ADForm extends Window implements EventListener, IHe return m_pi; } + /** + * @param customForm + */ public void setICustomForm(IFormController customForm) { m_customForm = customForm; } + /** + * @return IFormController + */ public IFormController getICustomForm() { return m_customForm; @@ -282,6 +295,9 @@ public abstract class ADForm extends Window implements EventListener, IHe private GridTab gridTab; + /** + * @return GridTab + */ public GridTab getGridTab() { return gridTab; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java index 8a0d983b9b..96e4ac5123 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java @@ -57,28 +57,35 @@ import org.zkoss.zul.Treeitem; import org.zkoss.zul.Treerow; /** - * Menu Panel Base + * Abstract base class for Menu Panel * @author Elaine * @date July 31, 2012 */ public abstract class AbstractMenuPanel extends Panel implements EventListener { + /** Treeitem attribute to store the type of menu item (report, window, etc) */ public static final String MENU_TYPE_ATTRIBUTE = "menu.type"; + /** Treeitem attribute to store the name of a menu item */ public static final String MENU_LABEL_ATTRIBUTE = "menu.label"; /** - * + * generated serial id */ private static final long serialVersionUID = -6160708371157917922L; + /** Event queue name */ public static final String MENU_ITEM_SELECTED_QUEUE = "MENU_ITEM_SELECTED_QUEUE"; private Properties ctx; private Tree menuTree; + /** Listener for {@link #MENU_ITEM_SELECTED_QUEUE} event queue */ private EventListener listener; + /** + * @param parent + */ public AbstractMenuPanel(Component parent) { if (parent != null) @@ -86,6 +93,9 @@ public abstract class AbstractMenuPanel extends Panel implements EventListener nodeEnum = mNode.children(); @@ -236,6 +263,10 @@ public abstract class AbstractMenuPanel extends Panel implements EventListener{ /** - * + * generated serial id */ private static final long serialVersionUID = 1849434312706721390L; @@ -65,20 +65,27 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup public static final int PRESSED_NEXT = 2; public static final int UPDATE_CurrMsg = 0; + /** index of current show/render message in {@link #mbMessages} */ private int currMsg=0; private Label textMsgNo = null; private Html textMsgContent = null; private North north =null; + /** Container for message navigation controls */ private Div swDiv =null; private Button btnPrev = null; private Button btnNext = null; private Checkbox acknowledged = null; private ArrayList mbMessages = null; + /** AD_BroadcastMessage_ID:Processed */ private Hashtable hashMessages = new Hashtable(); + /** Parent of window */ private HeaderPanel pnlHead = null; private boolean isTest = false; private boolean initialised = false; + /** + * @param pnlHead + */ public BroadcastMessageWindow(HeaderPanel pnlHead) { this.pnlHead = pnlHead; textMsgNo = new Label(); @@ -88,6 +95,9 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup btnNext = new Button(">"); } + /** + * Layout window + */ private void init() { Borderlayout layout = new Borderlayout(); this.appendChild(layout); @@ -145,20 +155,20 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup swDiv.setParent(leftCell); acknowledged = new Checkbox(); - //createHashTable(); - currMsg = 0; - btnPrev.addEventListener("onClick", this); - btnNext = new Button(">"); - btnNext.addEventListener("onClick", this); - - swDiv.appendChild(btnPrev); - swDiv.appendChild(new Separator("vertical")); - swDiv.appendChild(textMsgNo); - swDiv.appendChild(new Separator("vertical")); - swDiv.appendChild(btnNext); - textMsgNo.setStyle("font-weight:bold;"); - - renderMsg(UPDATE_CurrMsg); + //createHashTable(); + currMsg = 0; + btnPrev.addEventListener("onClick", this); + btnNext = new Button(">"); + btnNext.addEventListener("onClick", this); + + swDiv.appendChild(btnPrev); + swDiv.appendChild(new Separator("vertical")); + swDiv.appendChild(textMsgNo); + swDiv.appendChild(new Separator("vertical")); + swDiv.appendChild(btnNext); + textMsgNo.setStyle("font-weight:bold;"); + + renderMsg(UPDATE_CurrMsg); if(mbMessages.size()<=0) swDiv.setVisible(false); @@ -183,6 +193,10 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup } } + /** + * Process messages + * @param arrMessages + */ public void prepareMessage(ArrayList arrMessages){ mbMessages = arrMessages; createHashTable(); @@ -243,7 +257,7 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup /** * Update message on window - * @param status + * @param status next, previous or current */ public void renderMsg(int status) { int msgToUpdate = currMsg-1; @@ -367,7 +381,7 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup } /** Set the title for the panel using what is defined on the message or fallback to "Message" */ - void setTitle(MBroadcastMessage bm) { + protected void setTitle(MBroadcastMessage bm) { String title = bm.get_Translation(MBroadcastMessage.COLUMNNAME_Title); setTitle(Util.isEmpty(title) ? Msg.getMsg(Env.getCtx(), "Message") : title); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChangePasswordPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChangePasswordPanel.java index 5d46ff37b5..1e7aa6f959 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChangePasswordPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChangePasswordPanel.java @@ -57,14 +57,14 @@ import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Image; /** - * Change Password Panel + * Change Password dialog * @author Elaine * @date August 30, 2012 */ public class ChangePasswordPanel extends Window implements EventListener { /** - * + * generated serial id */ private static final long serialVersionUID = -4117126419866788951L; @@ -93,6 +93,14 @@ public class ChangePasswordPanel extends Window implements EventListener protected Textbox txtRetypeNewPassword; protected Textbox txtAnswer; + /** + * @param ctx + * @param loginWindow + * @param userName + * @param userPassword + * @param show + * @param clientsKNPairs + */ public ChangePasswordPanel(Properties ctx, LoginWindow loginWindow, String userName, String userPassword, boolean show, KeyNamePair[] clientsKNPairs) { this.wndLogin = loginWindow; @@ -113,6 +121,9 @@ public class ChangePasswordPanel extends Window implements EventListener createUI(); } + /** + * Layout dialog + */ protected void createUI() { Div div = new Div(); div.setSclass(ITheme.LOGIN_BOX_HEADER_CLASS); @@ -211,6 +222,9 @@ public class ChangePasswordPanel extends Window implements EventListener this.appendChild(div); } + /** + * Create components + */ private void initComponents() { lblOldPassword = new Label(); @@ -265,13 +279,13 @@ public class ChangePasswordPanel extends Window implements EventListener txtAnswer = new Textbox(); txtAnswer.setId("txtAnswer"); -// txtAnswer.setType("password"); txtAnswer.setCols(25); ZKUpdateUtil.setWidth(txtAnswer, "220px"); } - public void onEvent(Event event) - { + @Override + public void onEvent(Event event) + { if (event.getTarget().getId().equals(ConfirmPanel.A_OK)) { validateChangePassword(); @@ -279,7 +293,6 @@ public class ChangePasswordPanel extends Window implements EventListener else if (event.getTarget().getId().equals(ConfirmPanel.A_CANCEL)) { SessionManager.logoutSession(); - //wndLogin.loginCancelled(); } else if (event.getTarget() == txtNewPassword) { MPasswordRule pwdrule = MPasswordRule.getRules(Env.getCtx(), null); @@ -298,6 +311,9 @@ public class ChangePasswordPanel extends Window implements EventListener } } + /** + * Validate new password + */ public void validateChangePassword() { Clients.clearBusy(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChatPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChatPanel.java index 4a886d0d57..c891c79910 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChatPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ChatPanel.java @@ -25,10 +25,11 @@ import org.adempiere.webui.component.Panel; * @date Mar 2, 2007 * @version $Revision: 0.10 $ */ +@Deprecated(forRemoval = true, since = "11") public class ChatPanel extends Panel { /** - * + * generated serial id */ private static final long serialVersionUID = 3581014332386266757L; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ConfigurationPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ConfigurationPanel.java index 54a2f41394..afacef4764 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ConfigurationPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ConfigurationPanel.java @@ -25,10 +25,11 @@ import org.adempiere.webui.component.Panel; * @date Mar 2, 2007 * @version $Revision: 0.10 $ */ +@Deprecated(forRemoval = true, since = "11") public class ConfigurationPanel extends Panel { /** - * + * generated serial id */ private static final long serialVersionUID = 7604294587769974845L; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomForm.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomForm.java index c4bbbfab28..4b2d782215 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomForm.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomForm.java @@ -1,11 +1,32 @@ +/*********************************************************************** + * This file is part of iDempiere ERP Open Source * + * http://www.idempiere.org * + * * + * Copyright (C) Contributors * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License * + * as published by the Free Software Foundation; either version 2 * + * of the License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301, USA. * + * * + **********************************************************************/ package org.adempiere.webui.panel; @org.idempiere.ui.zk.annotation.Form public class CustomForm extends ADForm { - /** - * + * generated serial id */ private static final long serialVersionUID = -8498084996736578534L; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java index 3bba8a3e64..9528113353 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java @@ -70,25 +70,24 @@ import org.zkoss.zul.Separator; import org.zkoss.zul.South; /** - * + * Dialog to customize grid view (selected columns, column width, etc) * @author hengsin * */ public class CustomizeGridViewPanel extends Panel { /** - * + * generated serial id */ private static final long serialVersionUID = -6200912526954948898L; + /** AD_Field_ID:Width */ private Map m_columnsWidth; - ArrayList tableSeqs; - GridView gridPanel = null; - MTabCustomization m_tabcust; + protected ArrayList tableSeqs; + protected GridView gridPanel = null; + protected MTabCustomization m_tabcust; /** - * Sort Tab Constructor - * * @param WindowNo Window No * @param AD_Tab_ID * @param AD_User_ID @@ -140,8 +139,8 @@ public class CustomizeGridViewPanel extends Panel /* SysConfig USE_ESC_FOR_TAB_CLOSING */ private boolean isUseEscForTabClosing = MSysConfig.getBooleanValue(MSysConfig.USE_ESC_FOR_TAB_CLOSING, false, Env.getAD_Client_ID(Env.getCtx())); -/** - * Static Layout + /** + * Layout dialog * * @throws Exception */ @@ -343,6 +342,9 @@ public class CustomizeGridViewPanel extends Panel getParent().detach(); } + /** + * Load customization data + */ public void loadData() { m_tabcust = MTabCustomization.get(Env.getCtx(), m_AD_User_ID, m_AD_Tab_ID, null); @@ -434,7 +436,7 @@ public class CustomizeGridViewPanel extends Panel /** * @param event */ - void migrateValueAcrossLists (Event event) + protected void migrateValueAcrossLists (Event event) { Object source = event.getTarget(); if (source instanceof ListItem) { @@ -450,7 +452,13 @@ public class CustomizeGridViewPanel extends Panel migrateLists (listFrom,listTo,endIndex); } - void migrateLists (Listbox listFrom , Listbox listTo , int endIndex ) + /** + * Move selected items from listFrom to listTo + * @param listFrom + * @param listTo + * @param endIndex + */ + protected void migrateLists (Listbox listFrom , Listbox listTo , int endIndex ) { int index = 0; SimpleListModel lmFrom = (SimpleListModel) listFrom.getModel(); @@ -477,10 +485,10 @@ public class CustomizeGridViewPanel extends Panel } /** - * Move within Yes List with Drag Event and Multiple Choice + * Move selected items within Yes List * @param event event */ - void migrateValueWithinYesList (int endIndex, List selObjects) + protected void migrateValueWithinYesList (int endIndex, List selObjects) { int iniIndex =0; Arrays.sort(selObjects.toArray()); @@ -495,10 +503,10 @@ public class CustomizeGridViewPanel extends Panel } /** - * Move within Yes List + * Move selected items within Yes List * @param event event */ - void migrateValueWithinYesList (Event event) + protected void migrateValueWithinYesList (Event event) { Object[] selObjects = yesList.getSelectedItems().toArray(); @@ -560,9 +568,13 @@ public class CustomizeGridViewPanel extends Panel } } // migrateValueWithinYesList + /** + * Save changes + */ public void saveData() { - log.fine(""); + if (log.isLoggable(Level.FINE)) + log.fine(""); // yesList //int index = 0; boolean ok = true; @@ -678,7 +690,8 @@ public class CustomizeGridViewPanel extends Panel return s; } } - /** + + /** * @author eslatis * */ @@ -686,7 +699,7 @@ public class CustomizeGridViewPanel extends Panel { /** - * Creates a ADSortTab.DragListener. + * Constructor */ public DragListener() { @@ -727,10 +740,16 @@ public class CustomizeGridViewPanel extends Panel } } + /** + * @param b + */ public void activate(boolean b) { if (b && !uiCreated) createUI(); } + /** + * Layout dialog + */ public void createUI() { if (uiCreated) return; try @@ -745,14 +764,23 @@ public class CustomizeGridViewPanel extends Panel uiCreated = true; } + /** + * Load data + */ public void query() { loadData(); } + /** + * @return true if changes have been saved + */ public boolean isSaved() { return m_saved; } + /** + * @param gridPanel + */ public void setGridPanel(GridView gridPanel){ this.gridPanel = gridPanel; } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/FooterPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/FooterPanel.java index f48f56b533..40ad89a50c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/FooterPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/FooterPanel.java @@ -29,7 +29,7 @@ import org.zkoss.zul.Separator; * @date Mar 3, 2007 * @version $Revision: 0.10 $ */ - +@Deprecated(forRemoval = true, since = "11") public class FooterPanel extends Window { /** diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java index 15f35c014a..7588eb0c82 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HeaderPanel.java @@ -45,7 +45,7 @@ import org.zkoss.zul.Popup; import org.zkoss.zul.impl.LabelImageElement; /** - * + * Header panel of desktop * @author Ashley G Ramdass * @author Low Heng Sin * @date Mar 2, 2007 @@ -55,14 +55,21 @@ import org.zkoss.zul.impl.LabelImageElement; public class HeaderPanel extends Panel implements EventListener { + /** + * generated serial id + */ private static final long serialVersionUID = -2351317624519209484L; + /** Logo */ protected Image image; protected LabelImageElement btnMenu; protected Popup popMenu; private MenuTreePanel menuTreePanel; + /** + * Default constructor + */ public HeaderPanel() { super(); @@ -70,6 +77,9 @@ public class HeaderPanel extends Panel implements EventListener addEventListener(ZoomEvent.EVENT_NAME, this); } + /** + * Layout panel + */ protected void onCreate() { image = (Image) getFellow("logo"); @@ -92,6 +102,9 @@ public class HeaderPanel extends Panel implements EventListener SessionManager.getSessionApplication().getKeylistener().addEventListener(Events.ON_CTRL_KEY, this); } + /** + * Create pop up menu tree + */ protected void createPopupMenu() { popMenu = new Popup(); popMenu.setId("menuTreePopup"); @@ -107,6 +120,9 @@ public class HeaderPanel extends Panel implements EventListener popMenu.setAttribute(popMenu.getUuid(), System.currentTimeMillis()); } + /** + * Create global search box + */ protected void createSearchPanel() { GlobalSearch globalSearch = new GlobalSearch(new MenuSearchController(menuTreePanel.getMenuTree())); Component stub = getFellow("menuLookup"); @@ -115,6 +131,7 @@ public class HeaderPanel extends Panel implements EventListener globalSearch.setId("menuLookup"); } + @Override public void onEvent(Event event) throws Exception { if (Events.ON_CLICK.equals(event.getName())) { if(event.getTarget() == image) @@ -174,16 +191,25 @@ public class HeaderPanel extends Panel implements EventListener popMenu.setPage(null); } + /** + * @return logo image + */ public Image getLogo() { return image; } + /** + * Close popup for global search + */ public void closeSearchPopup() { Component c = getFellow("menuLookup"); if (c != null && c instanceof GlobalSearch) ((GlobalSearch)c).closePopup(); } + /** + * Handle onClientInfo event + */ protected void onClientInfo() { ZKUpdateUtil.setWindowWidthX(popMenu, 600); Component c = getFellow("menuLookup"); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java index 60a3f75c09..3118ad4503 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java @@ -71,6 +71,9 @@ public class HelpController private Panel pnlToolTip, pnlContextHelp, pnlQuickInfo; private Html htmlToolTip, htmlContextHelp, htmlQuickInfo; + /** + * Default constructor + */ public HelpController() { dashboardLayout = new Anchorlayout(); @@ -79,6 +82,11 @@ public class HelpController ZKUpdateUtil.setHflex(dashboardLayout, "1"); } + /** + * Render tooltips, context help and quick info. + * @param parent + * @param desktopImpl + */ public void render(Component parent, IDesktop desktopImpl) { Style style = new Style(); @@ -160,6 +168,9 @@ public class HelpController renderQuickInfo(null); } + /** + * Setup client side script for field tooltip + */ public void setupFieldTooltip() { Clients.response("helpControllerFieldTooltip", new AuScript(htmlToolTip, "(function(){let w=zk.Widget.$('#"+htmlToolTip.getUuid() @@ -167,7 +178,7 @@ public class HelpController } /** - * Make tooltip content for a field + * Render tooltip content for a field * @param field */ public void renderToolTip(GridField field) @@ -198,7 +209,7 @@ public class HelpController } /** - * Make tooltip content, when hdr == null, show otherContent + * Render tooltip content, when hdr == null, show otherContent * @param hdr * @param desc * @param help @@ -219,9 +230,9 @@ public class HelpController otherContent = Msg.getMsg(Env.getCtx(), "PlaceCursorIntoField"); } - sb.append("("); - sb.append (otherContent); - sb.append (")"); + sb.append("("); + sb.append (otherContent); + sb.append (")"); }else{ sb.append(""); sb.append(hdr); @@ -244,6 +255,11 @@ public class HelpController htmlToolTip.setContent(sb.toString()); } + /** + * Render context help (AD_CtxHelpMsg) + * @param ctxType + * @param recordId + */ public void renderCtxHelp(String ctxType, int recordId) { if (ctxType != X_AD_CtxHelp.CTXTYPE_Home && ctxType != X_AD_CtxHelp.CTXTYPE_Tab && @@ -653,6 +669,12 @@ public class HelpController htmlContextHelp.setContent(sb.toString()); } + /** + * Add context help suggestion popup menu + * @param po + * @param baseContent + * @param translatedContent + */ private void addContextHelpMenupopup(PO po, StringBuilder baseContent, StringBuilder translatedContent) { if (!MRole.getDefault().isTableAccessExcluded(MCtxHelpSuggestion.Table_ID)) { ContextHelpMenupopup popup = new ContextHelpMenupopup(po, baseContent.toString(), translatedContent.toString()); @@ -662,6 +684,10 @@ public class HelpController } } + /** + * Render quick info (AD_StatusLine) + * @param obj + */ public void renderQuickInfo(Object obj) { if (obj == null) { pnlQuickInfo.setVisible(false); @@ -691,6 +717,11 @@ public class HelpController } } + /** + * @param htmlString + * @param all + * @return text after strip of html tag + */ private String stripHtml(String htmlString, boolean all) { htmlString = htmlString @@ -708,6 +739,11 @@ public class HelpController return htmlString; } + /** + * @param ctxType + * @param recordId + * @return MCtxHelpMsg + */ private MCtxHelpMsg getCtxHelpMsg(String ctxType, int recordId) { MCtxHelpMsg retValue = MCtxHelpMsg.get(ctxType, recordId); @@ -716,7 +752,7 @@ public class HelpController /** * @param content content - * @return masked content or empty string if the content is null + * @return masked content or empty string if content is null */ public static String escapeJavascriptContent(String content) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IFormController.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IFormController.java index bb46278bea..2eb52f89f9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IFormController.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IFormController.java @@ -1,3 +1,27 @@ +/*********************************************************************** + * This file is part of iDempiere ERP Open Source * + * http://www.idempiere.org * + * * + * Copyright (C) Contributors * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License * + * as published by the Free Software Foundation; either version 2 * + * of the License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301, USA. * + * * + * Contributors: * + * - hengsin * + **********************************************************************/ package org.adempiere.webui.panel; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IHelpContext.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IHelpContext.java index 1ecec94fe2..170151c2f6 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IHelpContext.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/IHelpContext.java @@ -15,7 +15,8 @@ package org.adempiere.webui.panel; /** - * + * Marker interface for component that wants to handle the update of context help by listening to the
+ * WindowContainer.ON_WINDOW_CONTAINER_SELECTION_CHANGED_EVENT event. * @author Elaine * */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ITabOnCloseHandler.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ITabOnCloseHandler.java index 36b1df1741..f16d34b17f 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ITabOnCloseHandler.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ITabOnCloseHandler.java @@ -16,12 +16,15 @@ package org.adempiere.webui.panel; import org.adempiere.webui.component.Tabpanel; /** - * + * Interface to handle the closing of a Tab. * @author hengsin * */ public interface ITabOnCloseHandler { - /* NOTE onClose method must implement the actual closing of the tab */ + /** + * NOTE onClose method must implement the actual closing of the tab + * @param tabPanel + */ public void onClose(Tabpanel tabPanel); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributeInstancePanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributeInstancePanel.java index d090f07aa7..9b58f978d9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributeInstancePanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributeInstancePanel.java @@ -41,15 +41,14 @@ import org.zkoss.zul.South; import org.zkoss.zul.Div; /** - * Display Product Attribute Instance Info - * This class is based on org.compiere.apps.search.PAttributeInstance written by Jorg Janke + * Display Product Attribute Set Instance Info * @author Elaine * */ public class InfoPAttributeInstancePanel extends Window implements EventListener, WTableModelListener { /** - * + * generated serial id */ private static final long serialVersionUID = -2883260173499157121L; @@ -87,9 +86,10 @@ public class InfoPAttributeInstancePanel extends Window implements EventListener */ private void init (int M_Warehouse_ID, int M_Locator_ID, int M_Product_ID, int C_BPartner_ID) { - log.info("M_Warehouse_ID=" + M_Warehouse_ID - + ", M_Locator_ID=" + M_Locator_ID - + ", M_Product_ID=" + M_Product_ID); + if (log.isLoggable(Level.INFO)) + log.info("M_Warehouse_ID=" + M_Warehouse_ID + + ", M_Locator_ID=" + M_Locator_ID + + ", M_Product_ID=" + M_Product_ID); m_M_Warehouse_ID = M_Warehouse_ID; m_M_Locator_ID = M_Locator_ID; m_M_Product_ID = M_Product_ID; @@ -120,7 +120,7 @@ public class InfoPAttributeInstancePanel extends Window implements EventListener private static final CLogger log = CLogger.getCLogger(InfoPAttributeInstancePanel.class); /** - * Static Init + * layout window * @throws Exception */ private void jbInit() throws Exception @@ -156,7 +156,7 @@ public class InfoPAttributeInstancePanel extends Window implements EventListener confirmPanel.addActionListener(this); } // jbInit - /** Table Column Layout Info */ + /** Column Layout Info */ private static ColumnInfo[] s_layout = new ColumnInfo[] { new ColumnInfo(" ", "s.M_AttributeSetInstance_ID", IDColumn.class), @@ -249,7 +249,7 @@ public class InfoPAttributeInstancePanel extends Window implements EventListener } // dynInit /** - * Refresh Query + * Execute Query */ private void refresh() { @@ -288,9 +288,10 @@ public class InfoPAttributeInstancePanel extends Window implements EventListener } // refresh /** - * Action Listener + * Handle events * @param e event */ + @Override public void onEvent(Event e) throws Exception { if (e.getTarget().getId().equals(ConfirmPanel.A_OK)) @@ -315,6 +316,7 @@ public class InfoPAttributeInstancePanel extends Window implements EventListener * Table selection changed * @param e event */ + @Override public void tableChanged(WTableModelEvent e) { enableButtons(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java index 3bf162bd10..4fd2c29173 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java @@ -54,18 +54,17 @@ import org.zkoss.zul.Vbox; /** * Search by Product Attribute. - * This class is based on org.compiere.apps.search.InfoPAttribute written by Jorg Janke * @author Elaine * */ public class InfoPAttributePanel extends Window implements EventListener { /** - * + * generated serial id */ private static final long serialVersionUID = -4922961793415942591L; - /* the attribute set selected on the InfoProduct window */ + /** the attribute set selected on the InfoProduct window */ private int p_M_AttributeSet_ID = 0; /** @@ -106,7 +105,7 @@ public class InfoPAttributePanel extends Window implements EventListener /** Resulting Query */ private String m_query = ""; - /** Product Attribure Editors */ + /** Product Attribute Editors */ private ArrayList m_productEditors = new ArrayList(); private ArrayList m_productEditorsTo = new ArrayList(); /** Instance Attribute Editors */ @@ -129,7 +128,7 @@ public class InfoPAttributePanel extends Window implements EventListener // /** - * Static Init + * Layout dialog * @throws Exception */ private void jbInit() throws Exception @@ -386,7 +385,7 @@ public class InfoPAttributePanel extends Window implements EventListener /** * Get Attribute List * @param M_Attribute_ID attribure - * @return array + * @return [M_AttributeValue_ID:Name] */ private KeyNamePair[] getAttributeList(int M_Attribute_ID) { @@ -471,9 +470,10 @@ public class InfoPAttributePanel extends Window implements EventListener /** - * Action Listener + * Handle event * @param e event */ + @Override public void onEvent(Event e) throws Exception { if (e.getTarget().getId().equals(ConfirmPanel.A_OK)) @@ -486,16 +486,16 @@ public class InfoPAttributePanel extends Window implements EventListener m_query = null; dispose(); } - } // actionPerformed + } /** * Create Query - * + *

* Available synonyms: - * M_Product p - * M_ProductPrice pr - * M_AttributeSet pa - * + *

    M_Product p
+ *
    M_ProductPrice pr
+ *
    M_AttributeSet pa
+ *

* @return query */ private String createQuery() @@ -698,12 +698,13 @@ public class InfoPAttributePanel extends Window implements EventListener m_query = null; if (sb.length() > 0) m_query = sb.toString(); - log.config(m_query); + if (log.isLoggable(Level.CONFIG)) + log.config(m_query); return m_query; } // createQuery /** - * Get resulting Query WHERE + * Get where clause * @return query or null */ public String getWhereClause() diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java index ec14837356..4be9bd52f0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java @@ -122,21 +122,18 @@ import org.zkoss.zul.event.ZulEvents; import org.zkoss.zul.ext.Sortable; /** - * Search Information and return selection - Base Class. - * Based on Info written by Jorg Janke + * Search dialog that works in two mode.
+ * Lookup mode: Search and return selection to lookup field.
+ * Window mode: Search and view search results. Optional support for execution of process. * - * @author Sendy Yagambrum - * - * Zk Port + * @author Sendy Yagambrum * @author Elaine - * @version Info.java Adempiere Swing UI 3.4.1 - * * @contributor red1 IDEMPIERE-1711 with final review by HengSin */ public abstract class InfoPanel extends Window implements EventListener, WTableModelListener, Sortable, IHelpContext { /** - * + * generated serial id */ private static final long serialVersionUID = 8253708190979803268L; @@ -149,6 +146,7 @@ public abstract class InfoPanel extends Window implements EventListener, private final static int DEFAULT_PAGE_SIZE = 100; private final static int DEFAULT_PAGE_PRELOAD = 4; protected List