Search in sources :

Example 26 with Button

use of org.adempiere.webui.component.Button in project adempiere by adempiere.

the class WAcctViewer method actionAcctSchema.

// onEvent
/**
	 * 	New Acct Schema
	 */
private void actionAcctSchema() {
    Listitem listitem = selAcctSchema.getSelectedItem();
    KeyNamePair kp = null;
    if (listitem != null)
        kp = (KeyNamePair) listitem.getValue();
    if (kp == null)
        return;
    m_data.C_AcctSchema_ID = kp.getKey();
    m_data.ASchema = MAcctSchema.get(Env.getCtx(), m_data.C_AcctSchema_ID);
    log.info(m_data.ASchema.toString());
    //  Sort Options
    sortBy1.getChildren().clear();
    sortBy2.getChildren().clear();
    sortBy3.getChildren().clear();
    sortBy4.getChildren().clear();
    sortAddItem(new ValueNamePair("", ""));
    sortAddItem(new ValueNamePair("DateAcct", Msg.translate(Env.getCtx(), "DateAcct")));
    sortAddItem(new ValueNamePair("DateTrx", Msg.translate(Env.getCtx(), "DateTrx")));
    sortAddItem(new ValueNamePair("C_Period_ID", Msg.translate(Env.getCtx(), "C_Period_ID")));
    Label[] labels = new Label[] { lsel1, lsel2, lsel3, lsel4, lsel5, lsel6, lsel7, lsel8 };
    Button[] buttons = new Button[] { sel1, sel2, sel3, sel4, sel5, sel6, sel7, sel8 };
    int selectionIndex = 0;
    MAcctSchemaElement[] elements = m_data.ASchema.getAcctSchemaElements();
    for (int i = 0; i < elements.length && selectionIndex < labels.length; i++) {
        MAcctSchemaElement acctSchemaElement = elements[i];
        String columnName = acctSchemaElement.getColumnName();
        String displayColumnName;
        if (columnName.equals("User1_ID") || columnName.equals("User2_ID") || columnName.equals("User3_ID") || columnName.equals("User4_ID"))
            displayColumnName = acctSchemaElement.getName();
        else
            displayColumnName = acctSchemaElement.getDisplayColumnName();
        //  Add Sort Option
        sortAddItem(new ValueNamePair(columnName, Msg.translate(Env.getCtx(), displayColumnName)));
        if (!acctSchemaElement.isElementType(X_C_AcctSchema_Element.ELEMENTTYPE_Organization) && !acctSchemaElement.isElementType(X_C_AcctSchema_Element.ELEMENTTYPE_Account)) {
            labels[selectionIndex].setValue(Msg.translate(Env.getCtx(), displayColumnName));
            labels[selectionIndex].setVisible(true);
            // actionCommand
            buttons[selectionIndex].setName(columnName);
            buttons[selectionIndex].addEventListener(Events.ON_CLICK, this);
            buttons[selectionIndex].setImage(ServletFns.resolveThemeURL("~./images/Find16.png"));
            buttons[selectionIndex].setLabel("");
            buttons[selectionIndex].setVisible(true);
            selectionIndex++;
        }
    }
    while (selectionIndex < labels.length) {
        labels[selectionIndex].setVisible(false);
        buttons[selectionIndex++].setVisible(false);
    }
}
Also used : Button(org.adempiere.webui.component.Button) Listitem(org.zkoss.zul.Listitem) Label(org.adempiere.webui.component.Label) KeyNamePair(org.compiere.util.KeyNamePair) ValueNamePair(org.compiere.util.ValueNamePair) MAcctSchemaElement(org.compiere.model.MAcctSchemaElement)

Example 27 with Button

use of org.adempiere.webui.component.Button in project adempiere by adempiere.

the class WBrowserListItemRenderer method getCellComponent.

/**
	 * Generate the cell for the given <code>field</code>.
	 *
	 * @param table 	The table into which the cell will be placed.
	 * @param field		The data field for which the cell is to be created.
	 * @param rowIndex	The row in which the cell is to be placed.
	 * @param columnIndex	The column in which the cell is to be placed.
	 * @return	The list cell component.
	 */
private Listcell getCellComponent(WBrowserTable table, Object field, int rowIndex, int columnIndex) {
    ListCell listcell = new ListCell();
    if (table == null)
        return listcell;
    BrowserRow browserRows = table.getData();
    //	BR [ 257 ]
    MBrowseField browseField = browserRows.getBrowserField(browserRows.getTableIndex(columnIndex));
    if (browseField == null)
        return listcell;
    //	
    GridField gridField = table.getGridFieldAt(rowIndex, columnIndex);
    boolean isColumnVisible = true;
    if (!m_tableColumns.isEmpty())
        isColumnVisible = isColumnVisible(getColumn(columnIndex));
    // are assigned to Table Columns
    if (isColumnVisible && gridField != null) {
        //	Set Read Only
        boolean isCellEditable = table.isCellEditable(rowIndex, columnIndex);
        //	
        if (DisplayType.YesNo == browseField.getAD_Reference_ID()) {
            //	BR [ 347 ]
            boolean selected = false;
            if (field != null) {
                selected = Boolean.valueOf(field.toString());
            }
            listcell.setValue(selected);
            if (columnIndex == 0)
                table.setCheckmark(false);
            Checkbox checkbox = new Checkbox();
            checkbox.setChecked(selected);
            if (isCellEditable) {
                checkbox.setEnabled(true);
                checkbox.addEventListener(Events.ON_CHECK, this);
            } else {
                checkbox.setEnabled(false);
            }
            listcell.appendChild(checkbox);
            ZkCssHelper.appendStyle(listcell, "text-align:center");
        } else if ((DisplayType.isNumeric(browseField.getAD_Reference_ID())) && !browseField.isKey()) {
            DecimalFormat format = field instanceof BigDecimal ? DisplayType.getNumberFormat(DisplayType.Amount, AEnv.getLanguage(Env.getCtx())) : DisplayType.getNumberFormat(DisplayType.Integer, AEnv.getLanguage(Env.getCtx()));
            // set cell value to allow sorting
            listcell.setValue((field == null ? "0" : field.toString()));
            if (isCellEditable) {
                NumberBox numberbox = new NumberBox(false);
                numberbox.setFormat(format);
                numberbox.setValue(field);
                numberbox.setWidth("100px");
                numberbox.setStyle("text-align:right; " + listcell.getStyle());
                numberbox.addEventListener(Events.ON_CHANGE, this);
                listcell.appendChild(numberbox);
                numberbox.setEnabled(true);
            } else {
                listcell.setLabel(format.format(((Number) (field == null ? Env.ZERO : field)).doubleValue()));
                ZkCssHelper.appendStyle(listcell, "text-align:right");
            }
        } else if (DisplayType.Date == browseField.getAD_Reference_ID() || DisplayType.DateTime == browseField.getAD_Reference_ID()) {
            if (field != null) {
                SimpleDateFormat dateFormat = DisplayType.getDateFormat(browseField.getAD_Reference_ID(), AEnv.getLanguage(Env.getCtx()));
                //	BR [ 270 ]
                listcell.setValue(dateFormat.format(field));
                if (isCellEditable) {
                    Datebox datebox = new Datebox();
                    datebox.setFormat(dateFormat.toPattern());
                    //	
                    datebox.setValue((Date) field);
                    datebox.addEventListener(Events.ON_CHANGE, this);
                    listcell.appendChild(datebox);
                } else {
                    listcell.setLabel(dateFormat.format(field));
                }
            }
        } else //	Add support to other String
        if (browseField.getAD_Reference_ID() == DisplayType.String || browseField.getAD_Reference_ID() == DisplayType.PrinterName || browseField.getAD_Reference_ID() == DisplayType.Text || browseField.getAD_Reference_ID() == DisplayType.TextLong) {
            listcell.setValue((field == null ? "" : field.toString()));
            if (isCellEditable) {
                Textbox textbox = new Textbox();
                textbox.setValue((field == null ? "" : field.toString()));
                textbox.addEventListener(Events.ON_CHANGE, this);
                listcell.appendChild(textbox);
            } else {
                listcell.setLabel((field == null ? "" : field.toString()));
            }
        } else if (field instanceof org.adempiere.webui.component.Combobox) {
            listcell.setValue(field);
            if (isCellEditable) {
                Combobox combobox = (Combobox) field;
                combobox.addEventListener(Events.ON_CHANGE, this);
                listcell.appendChild(combobox);
            } else {
                Combobox combobox = (Combobox) field;
                if (combobox != null && combobox.getItemCount() > 0) {
                    if (combobox.getSelectedIndex() >= 0)
                        listcell.setLabel((String) combobox.getItemAtIndex(combobox.getSelectedIndex()).getLabel());
                    else
                        listcell.setLabel("");
                }
            }
        } else if (field instanceof org.adempiere.webui.component.Button) {
            listcell.setValue(field);
            if (isCellEditable) {
                Button button = (Button) field;
                button.addEventListener(Events.ON_CLICK, this);
                listcell.appendChild(button);
            } else {
                Button button = (Button) field;
                if (button != null) {
                    listcell.setLabel("");
                }
            }
        } else // if ID column make it invisible
        if (field instanceof IDColumn && browseField.isKey()) {
            IDColumn id = (IDColumn) field;
            if (id != null && id.getRecord_ID() != null) {
                listcell.setValue(id.getRecord_ID());
                if (!table.isCheckmark()) {
                    table.setCheckmark(true);
                    table.removeEventListener(Events.ON_SELECT, this);
                    table.addEventListener(Events.ON_SELECT, this);
                }
            }
        } else if ((DisplayType.isLookup(browseField.getAD_Reference_ID()) || DisplayType.ID == browseField.getAD_Reference_ID()) && !browseField.isKey()) {
            if (isCellEditable) {
                WEditor editor = WebEditorFactory.getEditor(gridField, true);
                editor.addValueChangeListener(this);
                editor.dynamicDisplay();
                editor.setReadWrite(true);
                editor.fillHorizontal();
                gridField.addPropertyChangeListener(editor);
                listcell.appendChild(editor.getComponent());
            } else {
                Component component;
                if (gridField.getDisplayType() == DisplayType.YesNo) {
                    component = createReadonlyCheckbox(field);
                } else {
                    String text = getDisplayText(field, gridField);
                    Label label = new Label();
                    setLabelText(text, label);
                    component = label;
                }
                listcell.appendChild(component);
            }
        } else {
            listcell.setLabel((field == null ? null : field.toString()));
            listcell.setValue((field == null ? null : field.toString()));
        }
    } else {
        listcell.setLabel("");
        listcell.setValue("");
    }
    listcell.setAttribute("zk_component_ID", "ListItem_Cell_" + rowIndex + "_" + columnIndex);
    return listcell;
}
Also used : MBrowseField(org.adempiere.model.MBrowseField) Datebox(org.adempiere.webui.component.Datebox) Button(org.adempiere.webui.component.Button) Combobox(org.adempiere.webui.component.Combobox) ListCell(org.adempiere.webui.component.ListCell) DecimalFormat(java.text.DecimalFormat) Textbox(org.adempiere.webui.component.Textbox) Label(org.zkoss.zhtml.Label) GridField(org.compiere.model.GridField) NumberBox(org.adempiere.webui.component.NumberBox) WEditor(org.adempiere.webui.editor.WEditor) BigDecimal(java.math.BigDecimal) IDColumn(org.compiere.minigrid.IDColumn) Button(org.adempiere.webui.component.Button) Checkbox(org.adempiere.webui.component.Checkbox) Component(org.zkoss.zk.ui.Component) SimpleDateFormat(java.text.SimpleDateFormat)

Example 28 with Button

use of org.adempiere.webui.component.Button in project adempiere by adempiere.

the class WBrowser method initComponents.

/**
	 * Initialize View Components
	 */
private void initComponents() {
    toolsBar = new ToolBar();
    bZoom = new Button();
    bExport = new Button();
    bDelete = new Button();
    tabsPanel = new Tabbox();
    searchTab = new Borderlayout();
    collapsibleSeach = new North();
    topPanel = new Hbox();
    searchGrid = new WBrowserSearch(getWindowNo(), getAD_Browse_ID(), BrowserSearch.COLUMNS_2);
    detail = new WBrowserTable(this);
    detail.addEventListener(Events.ON_SELECT, this);
    bCancel = new Button();
    bOk = new Button();
    detailPanel = new Borderlayout();
    Borderlayout mainLayout = new Borderlayout();
    setupToolBar();
    bSelectAll.setLabel(Msg.getMsg(Env.getCtx(), "SelectAll").replaceAll("[&]", ""));
    bSelectAll.setEnabled(false);
    bSelectAll.addActionListener(new EventListener() {

        public void onEvent(Event evt) {
            selectedRows();
        }
    });
    toolsBar.appendChild(bSelectAll);
    //TODO: victor.perez@e-evolution.com pending print functionality
    /*bPrint.setLabel("Print");

		bPrint.addActionListener(new EventListener() {
			@Override
			public void onEvent(Event event) throws Exception {
				bPrintActionPerformed(event);
			}
		});

		toolsBar.appendChild(bPrint);*/
    bZoom.setLabel(Msg.getMsg(Env.getCtx(), "Zoom").replaceAll("[&]", ""));
    bZoom.setEnabled(false);
    bZoom.addActionListener(new EventListener() {

        public void onEvent(Event evt) {
            cmd_Zoom();
        }
    });
    //Only enable if exist a reference
    if (AD_Window_ID > 0)
        toolsBar.appendChild(bZoom);
    bExport.setLabel(Msg.getMsg(Env.getCtx(), "Export"));
    bExport.setEnabled(false);
    bExport.addActionListener(new EventListener() {

        public void onEvent(Event evt) {
            cmd_Export();
        }
    });
    toolsBar.appendChild(bExport);
    bDelete.setLabel(Msg.getMsg(Env.getCtx(), "Delete").replaceAll("[&]", ""));
    bDelete.setEnabled(false);
    bDelete.addActionListener(new EventListener() {

        public void onEvent(Event evt) {
            cmd_deleteSelection();
        }
    });
    if (isDeleteable())
        toolsBar.appendChild(bDelete);
    m_frame.setWidth("100%");
    m_frame.setHeight("100%");
    m_frame.setStyle("position: absolute; padding: 0; margin: 0");
    m_frame.appendChild(mainLayout);
    mainLayout.setWidth("100%");
    mainLayout.setHeight("100%");
    mainLayout.setStyle("position: absolute");
    North north = new North();
    north.appendChild(toolsBar);
    mainLayout.appendChild(north);
    searchTab = new Borderlayout();
    searchTab.setWidth("99.4%");
    searchTab.setHeight("99.4%");
    searchTab.setStyle("background-color: transparent");
    topPanel = new Hbox();
    topPanel.setStyle("background-color: transparent");
    bSearch.setLabel(Msg.getMsg(Env.getCtx(), "StartSearch"));
    bSearch.addActionListener(new EventListener() {

        public void onEvent(Event evt) {
            cmd_Search();
        }
    });
    Vbox vbox = new Vbox();
    vbox.appendChild(topPanel);
    vbox.appendChild(bSearch);
    vbox.setAlign("center");
    vbox.setWidth("100%");
    vbox.setStyle("background-color: transparent");
    Div div = new Div();
    div.appendChild(vbox);
    div.setWidth("100%");
    div.setHeight("100%");
    collapsibleSeach.setTitle(Msg.getMsg(Env.getCtx(), ("SearchCriteria")));
    collapsibleSeach.setCollapsible(true);
    collapsibleSeach.setAutoscroll(true);
    collapsibleSeach.appendChild(div);
    collapsibleSeach.setStyle("overflow-y:auto");
    collapsibleSeach.setStyle("background-color: transparent");
    collapsibleSeach.setStyle("border: none");
    searchTab.appendChild(collapsibleSeach);
    detail.setWidth("100%");
    //detail.setHeight("100%");
    Center dCenter = new Center();
    dCenter.appendChild(detail);
    dCenter.setBorder("none");
    detail.setVflex(true);
    detail.setFixedLayout(true);
    dCenter.setHflex("true");
    dCenter.setVflex("true");
    dCenter.setAutoscroll(true);
    detailPanel.setHeight("100%");
    detailPanel.setWidth("100%");
    detailPanel.appendCenter(detail);
    //		Div dv = new Div();
    div.appendChild(detailPanel);
    div.setHeight("100%");
    div.setWidth("100%");
    searchTab.appendCenter(detailPanel);
    Hbox hbox = new Hbox();
    //		bCancel.setLabel(Msg.getMsg(Env.getCtx(), "Cancel").replaceAll("[&]",""));
    bCancel.addActionListener(new EventListener() {

        public void onEvent(Event evt) {
            cmd_Cancel();
        }
    });
    //		bOk.setLabel(Msg.getMsg(Env.getCtx(), "Ok").replaceAll("[&]",""));
    bOk.addActionListener(new EventListener() {

        public void onEvent(Event evt) {
            cmd_Ok();
        }
    });
    Div confirmDiv = new Div();
    confirmDiv.setAlign("center");
    hbox.appendChild(bCancel);
    hbox.appendChild(bOk);
    hbox.setAlign("center");
    confirmDiv.appendChild(hbox);
    Separator separator = new Separator();
    separator.setBar(true);
    confirmDiv.appendChild(separator);
    confirmDiv.appendChild(statusBar);
    searchTab.appendSouth(confirmDiv);
    searchTab.getSouth().setBorder("none");
    Tabpanel search = new Tabpanel();
    search.setWidth("100%");
    search.appendChild(searchTab);
    Tab tabSearch = new Tab();
    tabSearch.addEventListener(Events.ON_SELECT, this);
    tabSearch.setLabel(Msg.getMsg(Env.getCtx(), "Search").replaceAll("[&]", ""));
    Tabs tabs = new Tabs();
    tabs.appendChild(tabSearch);
    Tabpanels tabPanels = new Tabpanels();
    tabPanels.setWidth("100%");
    tabPanels.appendChild(search);
    //graphPanel = new Borderlayout();
    //TODO victor.perez@e-evolution.com implement Graph Functionality
    //Tabpanel graph = new Tabpanel();
    //graph.setWidth("100%");
    //graph.appendChild(graphPanel);
    //Tab tabGraph = new Tab();
    //tabGraph.addEventListener(Events.ON_SELECT, this);
    //tabGraph.setLabel(Msg.getMsg(Env.getCtx(), "Graph").replaceAll("[&]",
    //		""));
    //tabs.appendChild(tabGraph);
    //tabPanels.appendChild(graph);
    tabsPanel.setWidth("100%");
    tabsPanel.setHeight("100%");
    tabsPanel.appendChild(tabs);
    tabsPanel.appendChild(tabPanels);
    mainLayout.appendCenter(tabsPanel);
}
Also used : Hbox(org.zkoss.zul.Hbox) Center(org.zkoss.zul.Center) Tabbox(org.adempiere.webui.component.Tabbox) Borderlayout(org.adempiere.webui.component.Borderlayout) Div(org.zkoss.zul.Div) Tab(org.adempiere.webui.component.Tab) Button(org.adempiere.webui.component.Button) Tabpanels(org.adempiere.webui.component.Tabpanels) ToolBar(org.adempiere.webui.component.ToolBar) WBrowserTable(org.eevolution.grid.WBrowserTable) Event(org.zkoss.zk.ui.event.Event) Tabs(org.adempiere.webui.component.Tabs) North(org.zkoss.zul.North) EventListener(org.zkoss.zk.ui.event.EventListener) Vbox(org.zkoss.zul.Vbox) Tabpanel(org.adempiere.webui.component.Tabpanel) Separator(org.zkoss.zul.Separator)

Example 29 with Button

use of org.adempiere.webui.component.Button in project adempiere by adempiere.

the class WPOSUserPinListener method doPerformAction.

protected void doPerformAction(Event e) {
    if (e != null && e.getTarget() == userPinTimer) {
        pos.invalidateUserPin();
        userPinTimer.stop();
        return;
    }
    if (userPinTimer.isRunning())
        return;
    Component objectSource = e.getTarget();
    POSNumberBox number = null;
    Button button = null;
    if (objectSource instanceof POSNumberBox)
        number = (POSNumberBox) objectSource;
    if (objectSource instanceof Button)
        button = (Button) objectSource;
    if (!pos.isRequiredPIN())
        return;
    if (//Number field validation
    (number != null && (Msg.translate(Env.getCtx(), "Discount").equals(number.getTooltiptext()) || Msg.translate(Env.getCtx(), "PriceActual").equals(number.getTooltiptext())) || //Button validation
    (button != null && ("Cancel".equals(button.getName())))))
        WPOSUserPinDialog.show(pos);
    return;
}
Also used : Button(org.adempiere.webui.component.Button) Component(org.zkoss.zk.ui.Component)

Example 30 with Button

use of org.adempiere.webui.component.Button in project adempiere by adempiere.

the class WMRPDetailed method jbInit.

protected void jbInit() throws Exception {
    m_frame.setWidth("99%");
    m_frame.setHeight("100%");
    m_frame.setStyle("position: absolute; padding: 0; margin: 0");
    m_frame.appendChild(mainLayout);
    mainLayout.setWidth("100%");
    mainLayout.setHeight("100%");
    mainLayout.setStyle("position: absolute");
    North north = new North();
    north.appendChild(parameterPanel);
    mainLayout.appendChild(north);
    Center center = new Center();
    center.appendChild(p_table);
    mainLayout.appendChild(center);
    p_table.setVflex(true);
    p_table.setFixedLayout(true);
    center.setFlex(true);
    //center.setAutoscroll(true);
    Div div = new Div();
    div.appendChild(confirmPanel);
    div.appendChild(statusBar);
    South south = new South();
    south.appendChild(div);
    mainLayout.appendChild(south);
    confirmPanel.addActionListener(this);
    confirmPanel.setVisible(ConfirmPanel.A_RESET, hasReset());
    confirmPanel.setVisible(ConfirmPanel.A_CUSTOMIZE, hasCustomize());
    confirmPanel.setVisible(ConfirmPanel.A_HISTORY, hasHistory());
    confirmPanel.setVisible(ConfirmPanel.A_ZOOM, hasZoom());
    South southPanel = new South();
    southPanel.appendChild(southLayout);
    //
    Button print = confirmPanel.createButton(ConfirmPanel.A_PRINT);
    print.addActionListener(this);
    confirmPanel.addButton(print);
    //
    popup.appendChild(calcMenu);
    calcMenu.addEventListener(Events.ON_CLICK, this);
    p_table.getModel().addListDataListener(this);
    enableButtons();
}
Also used : Div(org.zkoss.zul.Div) Center(org.zkoss.zul.Center) Button(org.adempiere.webui.component.Button) South(org.zkoss.zul.South) North(org.zkoss.zul.North)

Aggregations

Button (org.adempiere.webui.component.Button)33 Vbox (org.zkoss.zul.Vbox)7 Component (org.zkoss.zk.ui.Component)6 Hbox (org.zkoss.zul.Hbox)6 ToolBarButton (org.adempiere.webui.component.ToolBarButton)5 ConfirmPanel (org.adempiere.webui.component.ConfirmPanel)4 Listbox (org.adempiere.webui.component.Listbox)4 Panel (org.adempiere.webui.component.Panel)4 Textbox (org.adempiere.webui.component.Textbox)4 WAppsAction (org.adempiere.webui.component.WAppsAction)4 Label (org.adempiere.webui.component.Label)3 Tabpanel (org.adempiere.webui.component.Tabpanel)3 Center (org.zkoss.zul.Center)3 North (org.zkoss.zul.North)3 Separator (org.zkoss.zul.Separator)3 Checkbox (org.adempiere.webui.component.Checkbox)2 Combobox (org.adempiere.webui.component.Combobox)2 ListHead (org.adempiere.webui.component.ListHead)2 ListHeader (org.adempiere.webui.component.ListHeader)2 Row (org.adempiere.webui.component.Row)2