/****************************************************************************** * Copyright (C) 2013 Heng Sin Low * * Copyright (C) 2013 Trek Global * * This program is free software; you can redistribute it and/or modify it * * under the terms version 2 of the GNU General Public License as published * * by the Free Software Foundation. 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., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * *****************************************************************************/ package org.adempiere.webui.info; import java.util.Properties; import org.adempiere.webui.component.Button; import org.adempiere.webui.editor.WEditor; import org.adempiere.webui.event.DialogEvents; import org.adempiere.webui.panel.InfoPAttributePanel; import org.adempiere.webui.theme.ThemeManager; import org.compiere.model.GridField; import org.compiere.util.Env; import org.compiere.util.Msg; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; /** * DisplayType.PAttribute editor for info window selection criteria field * @author hengsin */ public class WInfoPAttributeEditor extends WEditor implements IWhereClauseEditor { private String m_pAttributeWhere; private Properties ctx; private int windowNo; /** * @param ctx * @param windowNo * @param gridField */ public WInfoPAttributeEditor(Properties ctx, int windowNo, GridField gridField) { super(new Button(), gridField); this.ctx = ctx; this.windowNo = windowNo; getComponent().addEventListener(Events.ON_CLICK, this); if (ThemeManager.isUseFontIconForImage()) getComponent().setIconSclass("z-icon-PAttribute"); else getComponent().setImage(ThemeManager.getThemeResource("images/PAttribute16.png")); getComponent().setTooltiptext(Msg.getMsg(Env.getCtx(), "PAttribute")); setReadWrite(false); } /* (non-Javadoc) * @see org.zkoss.zk.ui.event.EventListener#onEvent(org.zkoss.zk.ui.event.Event) */ @Override public void onEvent(Event event) throws Exception { if (event.getName().equals(Events.ON_CLICK)) { cmd_InfoPAttribute(); } } /* (non-Javadoc) * @see org.adempiere.webui.editor.WEditor#setReadWrite(boolean) */ @Override public void setReadWrite(boolean readWrite) { getComponent().setEnabled(readWrite); } /* (non-Javadoc) * @see org.adempiere.webui.editor.WEditor#isReadWrite() */ @Override public boolean isReadWrite() { return getComponent().isEnabled(); } /* (non-Javadoc) * @see org.adempiere.webui.editor.WEditor#setValue(java.lang.Object) */ @Override public void setValue(Object value) { } /* (non-Javadoc) * @see org.adempiere.webui.editor.WEditor#getValue() */ @Override public Object getValue() { return null; } /* (non-Javadoc) * @see org.adempiere.webui.editor.WEditor#getDisplay() */ @Override public String getDisplay() { return null; } @Override public Button getComponent() { return (Button) super.getComponent(); } @Override public String getWhereClause() { return m_pAttributeWhere; } public void clearWhereClause() { m_pAttributeWhere = null; } /** * Query per Product Attribute. *
* {@code
* Available synonyms:
* M_Product p
* M_ProductPrice pr
* M_AttributeSet pa
* }
*
*/
protected void cmd_InfoPAttribute()
{
int attributeSetId = Env.getContextAsInt(ctx, windowNo, Env.TAB_INFO, "M_AttributeSet_ID");
final InfoPAttributePanel ia = new InfoPAttributePanel(attributeSetId);
ia.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener