Search in sources :

Example 16 with ValueChangeEvent

use of org.adempiere.exceptions.ValueChangeEvent in project adempiere by adempiere.

the class WFileDirectoryEditor method onEvent.

public void onEvent(Event event) {
    if (Events.ON_CHANGE.equals(event.getName()) || Events.ON_OK.equals(event.getName())) {
        String newValue = getComponent().getText();
        if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
            return;
        }
        if (oldValue == null && newValue == null) {
            return;
        }
        ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
        fireValueChange(changeEvent);
    } else if (Events.ON_CLICK.equals(event.getName())) {
        cmd_file();
    }
}
Also used : ValueChangeEvent(org.adempiere.exceptions.ValueChangeEvent)

Example 17 with ValueChangeEvent

use of org.adempiere.exceptions.ValueChangeEvent in project adempiere by adempiere.

the class WImageEditor method onEvent.

public void onEvent(Event event) throws Exception {
    if (Events.ON_CLICK.equals(event.getName()) && readwrite) {
        WImageDialog vid = new WImageDialog(m_mImage);
        if (!vid.isCancel()) {
            int AD_Image_ID = vid.getAD_Image_ID();
            Object oldValue = getValue();
            Integer newValue = null;
            if (AD_Image_ID != 0)
                newValue = new Integer(AD_Image_ID);
            //
            //	force reload
            m_mImage = null;
            //	set explicitly
            setValue(newValue);
            //
            ValueChangeEvent vce = new ValueChangeEvent(this, gridField.getColumnName(), oldValue, newValue);
            fireValueChange(vce);
        }
    }
}
Also used : ValueChangeEvent(org.adempiere.exceptions.ValueChangeEvent) WImageDialog(org.adempiere.webui.window.WImageDialog)

Example 18 with ValueChangeEvent

use of org.adempiere.exceptions.ValueChangeEvent in project adempiere by adempiere.

the class WTableDirEditor method setValue.

public void setValue(Object value) {
    if (value != null && (value instanceof Integer || value instanceof String || value instanceof java.sql.Timestamp || value instanceof java.math.BigDecimal)) {
        getComponent().setValue(value);
        if (!getComponent().isSelected(value)) {
            if (isReadWrite() && lookup != null)
                lookup.refresh();
            Object curValue = oldValue;
            oldValue = value;
            refreshList();
            //still not in list, reset to zero
            if (!getComponent().isSelected(value)) {
                if (gridField != null) {
                    if (// for IDs is ok to be out of the list
                    value instanceof Integer && gridField.getDisplayType() != DisplayType.ID) {
                        getComponent().setValue(null);
                        if (curValue == null)
                            curValue = value;
                        ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), curValue, null);
                        super.fireValueChange(changeEvent);
                        oldValue = null;
                    }
                }
            }
        } else {
            oldValue = value;
        }
    } else {
        getComponent().setValue(null);
        oldValue = value;
    }
}
Also used : ValueChangeEvent(org.adempiere.exceptions.ValueChangeEvent)

Example 19 with ValueChangeEvent

use of org.adempiere.exceptions.ValueChangeEvent in project adempiere by adempiere.

the class WUrlEditor method onEvent.

public void onEvent(Event event) {
    if (Events.ON_CHANGE.equals(event.getName()) || Events.ON_OK.equals(event.getName())) {
        String newValue = getComponent().getText();
        if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
            return;
        }
        if (oldValue == null && newValue == null) {
            return;
        }
        ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
        fireValueChange(changeEvent);
        oldValue = newValue;
        String value = getComponent().getText();
        String url = null;
        if (value == null) {
            url = "about:blank";
        } else {
            url = value.trim();
            if (url.length() == 0) {
                url = "about:blank";
            } else if (url.indexOf("://") < 0) {
                url = "http://" + url;
            }
        }
        getComponent().getButton().setHref(url);
    } else if (Events.ON_CLICK.equals(event.getName())) {
        String urlString = getComponent().getText();
        String message = null;
        if (urlString != null && urlString.length() > 0) {
            try {
                Env.startBrowser(urlString);
                return;
            } catch (Exception e) {
                message = e.getMessage();
            }
        }
        FDialog.warn(0, this.getComponent(), "URLnotValid", message);
    }
}
Also used : ValueChangeEvent(org.adempiere.exceptions.ValueChangeEvent)

Example 20 with ValueChangeEvent

use of org.adempiere.exceptions.ValueChangeEvent in project adempiere by adempiere.

the class WPAttributeEditor method cmd_dialog.

/**
	 *  Start dialog
	 */
private void cmd_dialog() {
    //
    Integer oldValue = 0;
    try {
        oldValue = (Integer) getValue();
    } catch (Exception npe) {
    // Possible Invalid Cast exception if getValue() return new instance of Object.
    }
    int oldValueInt = oldValue == null ? 0 : oldValue.intValue();
    int M_AttributeSetInstance_ID = oldValueInt;
    int M_Product_ID = 0;
    int M_ProductBOM_ID = 0;
    if (m_GridTab != null) {
        M_Product_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, m_GridTab.getTabNo(), "M_Product_ID");
        M_ProductBOM_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, m_GridTab.getTabNo(), "M_ProductBOM_ID");
    } else {
        M_Product_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, "M_Product_ID");
        M_ProductBOM_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, "M_ProductBOM_ID");
    }
    int M_Locator_ID = -1;
    log.config("M_Product_ID=" + M_Product_ID + "/" + M_ProductBOM_ID + ",M_AttributeSetInstance_ID=" + M_AttributeSetInstance_ID);
    //	M_Product.M_AttributeSetInstance_ID = 8418
    boolean productWindow = m_AD_Column_ID == MColumn.getColumn_ID(MProduct.Table_Name, MProduct.COLUMNNAME_M_AttributeSetInstance_ID);
    //	Exclude ability to enter ASI
    boolean exclude = true;
    if (M_Product_ID != 0) {
        MProduct product = MProduct.get(Env.getCtx(), M_Product_ID);
        int M_AttributeSet_ID = product.getM_AttributeSet_ID();
        if (M_AttributeSet_ID != 0) {
            MAttributeSet mas = MAttributeSet.get(Env.getCtx(), M_AttributeSet_ID);
            exclude = mas.excludeEntry(m_AD_Column_ID, Env.isSOTrx(Env.getCtx(), m_WindowNo));
        }
    }
    boolean changed = false;
    if (//	Use BOM Component
    M_ProductBOM_ID != 0)
        M_Product_ID = M_ProductBOM_ID;
    // If the VPAttribute component is in a dialog, use the search
    if (m_searchOnly) {
        // Determine if the component is associated with the InfoProduct window
        Component me = ((Component) this.component.getParent());
        while (me != null) {
            if (me instanceof InfoProductPanel)
                break;
            me = me.getParent();
        }
        //
        InfoPAttributePanel ia = new InfoPAttributePanel((Window) me);
        m_pAttributeWhere = ia.getWhereClause();
        String oldText = getComponent().getText();
        getComponent().setText(ia.getDisplay());
        String curText = getComponent().getText();
        //
        ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldText, curText);
        this.fireValueChange(changeEvent);
    } else {
        if (!productWindow && (M_Product_ID == 0 || exclude)) {
            changed = true;
            getComponent().setText(null);
            M_AttributeSetInstance_ID = 0;
        } else {
            WPAttributeDialog vad = new WPAttributeDialog(M_AttributeSetInstance_ID, M_Product_ID, m_C_BPartner_ID, productWindow, gridField.getAD_Column_ID(), m_WindowNo);
            if (vad.isChanged()) {
                getComponent().setText(vad.getM_AttributeSetInstanceName());
                M_AttributeSetInstance_ID = vad.getM_AttributeSetInstance_ID();
                if (m_GridTab != null && !productWindow && vad.getM_Locator_ID() > 0)
                    m_GridTab.setValue("M_Locator_ID", vad.getM_Locator_ID());
                changed = true;
            }
        }
    }
    //	Set Value
    if (changed) {
        log.finest("Changed M_AttributeSetInstance_ID=" + M_AttributeSetInstance_ID);
        //	force re-query display
        m_value = new Object();
        if (M_AttributeSetInstance_ID == 0)
            setValue(null);
        else
            setValue(new Integer(M_AttributeSetInstance_ID));
        // Change Locator
        if (m_GridTab != null && M_Locator_ID > 0) {
            log.finest("Change M_Locator_ID=" + M_Locator_ID);
            m_GridTab.setValue("M_Locator_ID", M_Locator_ID);
        }
        //
        String columnName = "M_AttributeSetInstance_ID";
        if (m_GridField != null) {
            columnName = m_GridField.getColumnName();
        }
        ValueChangeEvent vce = new ValueChangeEvent(this, columnName, new Object(), getValue());
        fireValueChange(vce);
        //
        if (M_AttributeSetInstance_ID == oldValueInt && m_GridTab != null && gridField != null) {
            //  force Change - user does not realize that embedded object is already saved.
            m_GridTab.processFieldChange(gridField);
        }
    }
//	change
}
Also used : MProduct(org.compiere.model.MProduct) WPAttributeDialog(org.adempiere.webui.window.WPAttributeDialog) InfoPAttributePanel(org.adempiere.webui.panel.InfoPAttributePanel) MAttributeSet(org.compiere.model.MAttributeSet) ValueChangeEvent(org.adempiere.exceptions.ValueChangeEvent) InfoProductPanel(org.adempiere.webui.panel.InfoProductPanel) Component(org.zkoss.zk.ui.Component)

Aggregations

ValueChangeEvent (org.adempiere.exceptions.ValueChangeEvent)25 Timestamp (java.sql.Timestamp)3 Date (java.util.Date)3 WTableModelEvent (org.adempiere.webui.event.WTableModelEvent)3 Event (org.zkoss.zk.ui.event.Event)3 WPAttributeEditor (org.adempiere.webui.editor.WPAttributeEditor)2 WSearchEditor (org.adempiere.webui.editor.WSearchEditor)2 MProduct (org.compiere.model.MProduct)2 Point (java.awt.Point)1 BigDecimal (java.math.BigDecimal)1 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 AdempiereException (org.adempiere.exceptions.AdempiereException)1 ValueChangeListener (org.adempiere.exceptions.ValueChangeListener)1 WDateEditor (org.adempiere.webui.editor.WDateEditor)1 WTableDirEditor (org.adempiere.webui.editor.WTableDirEditor)1 InfoPAttributePanel (org.adempiere.webui.panel.InfoPAttributePanel)1 InfoProductPanel (org.adempiere.webui.panel.InfoProductPanel)1 InfoSchedule (org.adempiere.webui.window.InfoSchedule)1 WAccountDialog (org.adempiere.webui.window.WAccountDialog)1