Search in sources :

Example 1 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class ADTabPanel method createUI.

/**
     * Create UI components if not already created
     */
public void createUI() {
    if (uiCreated)
        return;
    uiCreated = true;
    //setup columns
    Columns columns = new Columns();
    grid.appendChild(columns);
    Column col = new Column();
    col.setWidth("14%");
    columns.appendChild(col);
    col = new Column();
    col.setWidth("35%");
    columns.appendChild(col);
    col = new Column();
    col.setWidth("14%");
    columns.appendChild(col);
    col = new Column();
    col.setWidth("35%");
    columns.appendChild(col);
    col = new Column();
    col.setWidth("2%");
    columns.appendChild(col);
    Rows rows = grid.newRows();
    GridField[] fields = gridTab.getFields();
    org.zkoss.zul.Row row = new Row();
    rows.appendChild(row);
    String currentFieldGroup = null;
    for (int i = 0; i < fields.length; i++) {
        GridField field = fields[i];
        if (field.isDisplayed()) {
            //included tab
            if (field.getIncluded_Tab_ID() > 0) {
                if (row.getChildren().size() == 2) {
                    row.appendChild(createSpacer());
                    row.appendChild(createSpacer());
                    row.appendChild(createSpacer());
                    rows.appendChild(row);
                    if (rowList != null)
                        rowList.add(row);
                } else if (row.getChildren().size() > 0) {
                    rows.appendChild(row);
                    if (rowList != null)
                        rowList.add(row);
                }
                //end current field group
                if (currentGroup != null) {
                    row = new Groupfoot();
                    rows.appendChild(row);
                    currentGroup = null;
                    currentFieldGroup = null;
                }
                row = new Row();
                row.setSpans("5");
                row.appendChild(new Separator());
                rows.appendChild(row);
                row = new Group();
                row.setSpans("2,3");
                rows.appendChild(row);
                includedTab.put(field.getIncluded_Tab_ID(), (Group) row);
                org.zkoss.zul.Div div = new Div();
                div.setWidth("100%");
                row = new org.adempiere.webui.component.Row();
                row.setSpans("5");
                row.appendChild(div);
                rows.appendChild(row);
                horizontalIncludedTab.put(field.getIncluded_Tab_ID(), div);
                row = new Groupfoot();
                rows.appendChild(row);
                includedTabFooter.put(field.getIncluded_Tab_ID(), (Groupfoot) row);
                for (EmbeddedPanel ep : includedPanel) {
                    if (ep.adTabId == field.getIncluded_Tab_ID()) {
                        ep.group = includedTab.get(ep.adTabId);
                        createEmbeddedPanelUI(ep);
                        ((ADTabPanel) ep.tabPanel).autoResize();
                        break;
                    }
                }
                //Horizontal
                for (HorizontalEmbeddedPanel ep : horizontalIncludedPanel) {
                    if (ep.adTabId == field.getIncluded_Tab_ID()) {
                        ep.divComponent = horizontalIncludedTab.get(ep.adTabId);
                        createHorizontalEmbeddedPanelUI(ep);
                        ((ADTabPanel) ep.tabPanel).autoResize();
                        break;
                    }
                }
                row = new Row();
                continue;
            }
            //normal field
            String fieldGroup = field.getFieldGroup();
            if (fieldGroup != null && fieldGroup.trim().length() > 0) {
                if (!fieldGroup.equals(currentFieldGroup)) {
                    currentFieldGroup = fieldGroup;
                    if (row.getChildren().size() == 2) {
                        row.appendChild(createSpacer());
                        row.appendChild(createSpacer());
                        row.appendChild(createSpacer());
                        rows.appendChild(row);
                        if (rowList != null)
                            rowList.add(row);
                        row = new Row();
                    } else if (row.getChildren().size() > 0) {
                        rows.appendChild(row);
                        if (rowList != null)
                            rowList.add(row);
                        row = new Row();
                    }
                    List<org.zkoss.zul.Row> headerRows = new ArrayList<org.zkoss.zul.Row>();
                    fieldGroupHeaders.put(fieldGroup, headerRows);
                    row.setSpans("5");
                    row.appendChild(new Separator());
                    rows.appendChild(row);
                    headerRows.add(row);
                    rowList = new ArrayList<org.zkoss.zul.Row>();
                    fieldGroupContents.put(fieldGroup, rowList);
                    if (X_AD_FieldGroup.FIELDGROUPTYPE_Label.equals(field.getFieldGroupType())) {
                        row = new Row();
                        row.setSpans("4");
                        Label groupLabel = new Label(fieldGroup);
                        row.appendChild(groupLabel);
                        row.appendChild(createSpacer());
                        rows.appendChild(row);
                        headerRows.add(row);
                        row = new Row();
                        row.setSpans("4");
                        Separator separator = new Separator();
                        separator.setBar(true);
                        row.appendChild(separator);
                        row.appendChild(createSpacer());
                        rows.appendChild(row);
                        headerRows.add(row);
                    } else {
                        row = new Group(fieldGroup);
                        if (X_AD_FieldGroup.FIELDGROUPTYPE_Tab.equals(field.getFieldGroupType()) || field.getIsCollapsedByDefault()) {
                            ((Group) row).setOpen(false);
                        }
                        currentGroup = (Group) row;
                        rows.appendChild(row);
                        headerRows.add(row);
                    }
                    row = new Row();
                }
            }
            if (!field.isSameLine() || field.isLongField()) {
                //next line
                if (row.getChildren().size() > 0) {
                    if (row.getChildren().size() == 2) {
                        row.appendChild(createSpacer());
                        row.appendChild(createSpacer());
                        row.appendChild(createSpacer());
                    }
                    {
                        row.appendChild(createSpacer());
                    }
                    rows.appendChild(row);
                    if (rowList != null)
                        rowList.add(row);
                    row = new Row();
                }
            } else if (row.getChildren().size() == 4) {
                //next line if reach max column ( 4 )
                row.appendChild(createSpacer());
                rows.appendChild(row);
                if (rowList != null)
                    rowList.add(row);
                row = new Row();
            }
            WEditor editor = WebEditorFactory.getEditor(gridTab, field, false);
            if (// Not heading
            editor != null) {
                editor.setGridTab(this.getGridTab());
                editor.setADTabPanel(this);
                field.addPropertyChangeListener(editor);
                editors.add(editor);
                editorIds.add(editor.getComponent().getUuid());
                if (field.isFieldOnly()) {
                    row.appendChild(createSpacer());
                } else {
                    Div div = new Div();
                    div.setSclass("field-label");
                    //	Ajust align
                    div.setAlign("right");
                    Label label = editor.getLabel();
                    div.appendChild(label);
                    if (label.getDecorator() != null)
                        div.appendChild(label.getDecorator());
                    row.appendChild(div);
                }
                row.appendChild(editor.getComponent());
                if (field.isLongField()) {
                    row.setSpans("1,3,1");
                    row.appendChild(createSpacer());
                    rows.appendChild(row);
                    if (rowList != null)
                        rowList.add(row);
                    row = new Row();
                }
                if (editor instanceof WButtonEditor) {
                    if (windowPanel != null)
                        ((WButtonEditor) editor).addActionListener(windowPanel);
                } else {
                    editor.addValueChangeListener(dataBinder);
                }
                //streach component to fill grid cell
                editor.fillHorizontal();
                //setup editor context menu
                WEditorPopupMenu popupMenu = editor.getPopupMenu();
                if (popupMenu != null) {
                    popupMenu.addMenuListener((ContextMenuListener) editor);
                    this.appendChild(popupMenu);
                    if (!field.isFieldOnly()) {
                        Label label = editor.getLabel();
                        if (popupMenu.isZoomEnabled() && editor instanceof IZoomableEditor) {
                            label.setStyle("cursor: pointer; text-decoration: underline;");
                            label.addEventListener(Events.ON_CLICK, new ZoomListener((IZoomableEditor) editor));
                        }
                        label.setContext(popupMenu.getId());
                    }
                }
            } else if (field.isHeading()) {
                //display just a label if we are "heading only"
                Label label = new Label(field.getHeader());
                Div div = new Div();
                div.setAlign("center");
                row.appendChild(createSpacer());
                div.appendChild(label);
                row.appendChild(div);
            }
        }
    }
    //last row
    if (row.getChildren().size() > 0) {
        if (row.getChildren().size() == 2) {
            row.appendChild(createSpacer());
            row.appendChild(createSpacer());
            row.appendChild(createSpacer());
        }
        rows.appendChild(row);
        if (rowList != null)
            rowList.add(row);
    }
    //create tree
    if (gridTab.isTreeTab() && treePanel != null) {
        int AD_Tree_ID = MTree.getDefaultAD_Tree_ID(Env.getAD_Client_ID(Env.getCtx()), gridTab.getKeyColumnName());
        treePanel.initTree(AD_Tree_ID, windowNo);
    }
    if (!gridTab.isSingleRow() && !isGridView())
        switchRowPresentation();
}
Also used : Label(org.adempiere.webui.component.Label) org.zkoss.zul(org.zkoss.zul) Row(org.zkoss.zul.Row) Column(org.adempiere.webui.component.Column) Rows(org.adempiere.webui.component.Rows) Columns(org.adempiere.webui.component.Columns) org.adempiere.webui.component(org.adempiere.webui.component) Row(org.zkoss.zul.Row)

Example 2 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class ADTabPanel method includedAutoResize.

public int includedAutoResize(HorizontalEmbeddedPanel embeddedPanel) {
    if (embeddedPanel.windowPanel != null) {
        if (embeddedPanel.windowPanel.isEmbedded()) {
            Borderlayout window = embeddedPanel.windowPanel.getComponent();
            try {
                int size = 0;
                int addSize = 0;
                if (!embeddedPanel.tabPanel.getGridTab().isSingleRow()) {
                    size = MSysConfig.getIntValue("TAB_INCLUDING_HEIGHT", 400);
                } else {
                    for (Object o : embeddedPanel.tabPanel.getGrid().getRows().getChildren()) {
                        if (o instanceof Row) {
                            if (((Row) o).isVisible()) {
                                size += getComponentSize((Row) o);
                            }
                        } else if (o instanceof org.zkoss.zul.Div) {
                            // Group
                            size += 20;
                        }
                    }
                    // 25 = statusbar
                    size += 25;
                    size += addSize;
                    List<HorizontalEmbeddedPanel> included = embeddedPanel.tabPanel.getHorizontalIncludedPanel();
                    if (included.size() > 0) {
                        for (HorizontalEmbeddedPanel panel : included) {
                            size += includedAutoResize(panel);
                        }
                    }
                }
                window.setHeight(size + "px");
                window.resize();
                return size;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return 0;
        }
    }
    return 0;
}
Also used : org.zkoss.zul(org.zkoss.zul) Borderlayout(org.zkoss.zkex.zul.Borderlayout) Row(org.zkoss.zul.Row) PropertyVetoException(java.beans.PropertyVetoException)

Example 3 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class ADTabPanel method autoResize.

public void autoResize() {
    if (windowPanel != null) {
        if (windowPanel.isEmbedded()) {
            Borderlayout window = ((ADWindowPanel) windowPanel).getComponent();
            if (isGridView()) {
                int size = MSysConfig.getIntValue("TAB_INCLUDING_HEIGHT", 400);
                window.setHeight(size + "px");
                listPanel.resize();
                window.resize();
            } else {
                try {
                    int addSize = 0;
                    int size = 0;
                    if (grid.getRows() != null) {
                        for (Object o : grid.getRows().getChildren()) {
                            if (o instanceof Row) {
                                if (((Row) o).isVisible()) {
                                    size += getComponentSize((Row) o);
                                }
                            } else if (o instanceof org.zkoss.zul.Group) {
                                size += 20;
                            }
                        }
                    }
                    // 25 = statusbar
                    size += 25;
                    size += addSize;
                    size += doAutoSize();
                    window.setHeight(size + "px");
                    window.resize();
                } catch (Exception e) {
                    e.printStackTrace();
                    //nothing to do, just ignore
                    window.setHeight("61px");
                    window.resize();
                }
            }
        }
    }
}
Also used : org.zkoss.zul(org.zkoss.zul) Borderlayout(org.zkoss.zkex.zul.Borderlayout) Row(org.zkoss.zul.Row) PropertyVetoException(java.beans.PropertyVetoException)

Example 4 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class ADTabPanel method createHorizontalPanelForEmbedded.

private org.zkoss.zul.Row createHorizontalPanelForEmbedded(org.zkoss.zul.Div divComponent, org.zkoss.zul.Row footer, HorizontalEmbeddedPanel ep) {
    //Setting Properties to Div Component
    divComponent.setHeight("100%");
    divComponent.setWidth("100%");
    // Create a Panel Object
    Panel panel = new Panel();
    //Setting Properties to Panel
    panel.setFramable(true);
    //panel.setStyle("overflow:auto");
    panel.setWidth("100%");
    panel.setHeight("100%");
    panel.setMaximizable(true);
    //creating Object to PanelChildren class
    ep.panelChildren = new Panelchildren();
    // Creating a Object to Grid And Apply Properties
    Grid newGrid = new Grid();
    newGrid.setVflex(true);
    newGrid.setStyle("margin:0; padding:0; position: absolute; border: none;");
    newGrid.makeNoStrip();
    newGrid.setWidth("100%");
    newGrid.setHeight("100%");
    // Grid append to Panel Children
    ep.panelChildren.appendChild(newGrid);
    // Panel Children Append to Panel
    panel.appendChild(ep.panelChildren);
    // Creating one Tabbox And panel append to TabPanels
    Tabbox panels = setTabPanels(ep, panel);
    // TabBox Append to divComponent
    panels.setParent(divComponent);
    ep.embeddedGrid = newGrid;
    //Creating Rows based on the Grid
    Rows newRows = newGrid.newRows();
    newRows.setWidth("100%");
    newRows.setHeight("100%");
    org.zkoss.zul.Row newRow = new Group();
    // Create a Row For ToolBar
    org.zkoss.zul.Row toolbarRow = new org.adempiere.webui.component.Row();
    toolbarRow.setSpans("5");
    ep.toolbarRow = toolbarRow;
    //Create a Row For All Widgets
    org.zkoss.zul.Row panelRow = new org.adempiere.webui.component.Row();
    panelRow.setSpans("5");
    panelRow.setWidth("100%");
    panelRow.setHeight("100%");
    // Added to Group
    newRows.appendChild(newRow);
    // Added to tool-bar Row
    newRows.appendChild(toolbarRow);
    // Now added to Panel Row
    newRows.appendChild(panelRow);
    //Added to footer
    newRows.appendChild(footer);
    return panelRow;
}
Also used : org.zkoss.zul(org.zkoss.zul) Panel(org.zkoss.zul.Panel) Row(org.zkoss.zul.Row) Grid(org.adempiere.webui.component.Grid) Tabbox(org.adempiere.webui.component.Tabbox) Row(org.zkoss.zul.Row) Rows(org.adempiere.webui.component.Rows)

Example 5 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class ADTabPanel method includedAutoResize.

public int includedAutoResize(EmbeddedPanel embeddedpanel) {
    if (embeddedpanel.windowPanel != null) {
        if (embeddedpanel.windowPanel.isEmbedded()) {
            Borderlayout window = embeddedpanel.windowPanel.getComponent();
            try {
                int size = 0;
                int addSize = 0;
                if (!embeddedpanel.tabPanel.getGridTab().isSingleRow()) {
                    size = MSysConfig.getIntValue("TAB_INCLUDING_HEIGHT", 400);
                } else {
                    for (Object o : embeddedpanel.tabPanel.getGrid().getRows().getChildren()) {
                        if (o instanceof Row) {
                            if (((Row) o).isVisible()) {
                                size += getComponentSize((Row) o);
                            }
                        } else if (o instanceof org.zkoss.zul.Group) {
                            // Group
                            size += 20;
                        }
                    }
                    // 25 = statusbar
                    size += 25;
                    size += addSize;
                    List<EmbeddedPanel> included = embeddedpanel.tabPanel.getIncludedPanel();
                    if (included.size() > 0) {
                        for (EmbeddedPanel panel : included) {
                            size += includedAutoResize(panel);
                        }
                    }
                }
                window.setHeight(size + "px");
                window.resize();
                return size;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return 0;
        }
    }
    return 0;
}
Also used : org.zkoss.zul(org.zkoss.zul) Borderlayout(org.zkoss.zkex.zul.Borderlayout) Row(org.zkoss.zul.Row) PropertyVetoException(java.beans.PropertyVetoException)

Aggregations

Row (org.zkoss.zul.Row)15 org.zkoss.zul (org.zkoss.zul)7 Rows (org.adempiere.webui.component.Rows)5 Label (org.adempiere.webui.component.Label)4 PropertyVetoException (java.beans.PropertyVetoException)3 Component (org.zkoss.zk.ui.Component)3 Borderlayout (org.zkoss.zkex.zul.Borderlayout)3 Grid (org.adempiere.webui.component.Grid)2 HtmlBasedComponent (org.zkoss.zk.ui.HtmlBasedComponent)2 North (org.zkoss.zul.North)2 South (org.zkoss.zul.South)2 ResultSetMetaData (java.sql.ResultSetMetaData)1 SQLException (java.sql.SQLException)1 Entry (java.util.Map.Entry)1 org.adempiere.webui.component (org.adempiere.webui.component)1 Column (org.adempiere.webui.component.Column)1 Columns (org.adempiere.webui.component.Columns)1 ConfirmPanel (org.adempiere.webui.component.ConfirmPanel)1 GridFactory (org.adempiere.webui.component.GridFactory)1 Tab (org.adempiere.webui.component.Tab)1