* remove system.err.println and system.out.println
This commit is contained in:
Heng Sin Low 2009-05-21 10:16:30 +00:00
parent 94686ee053
commit ca5fda5868
17 changed files with 299 additions and 258 deletions

View File

@ -33,12 +33,12 @@ import org.zkoss.zul.Menupopup;
/** /**
* Application Zoom Across Launcher. * Application Zoom Across Launcher.
* Called from APanel; Queries available Zoom Targets for Table. * Called from APanel; Queries available Zoom Targets for Table.
* *
* @author Jorg Janke * @author Jorg Janke
* @version $Id: AZoomAcross.java,v 1.2 2006/07/30 00:51:27 jjanke Exp $ * @version $Id: AZoomAcross.java,v 1.2 2006/07/30 00:51:27 jjanke Exp $
* *
* @author Teo Sarca, SC ARHIPAC SERVICE SRL - FR [ 1762465 ] * @author Teo Sarca, SC ARHIPAC SERVICE SRL - FR [ 1762465 ]
* *
* ZK Port * ZK Port
* @author Low Heng Sin * @author Low Heng Sin
*/ */
@ -55,7 +55,7 @@ public class WZoomAcross implements EventListener
log.config("TableName=" + tableName + " - " + query); log.config("TableName=" + tableName + " - " + query);
m_tableName = tableName; m_tableName = tableName;
m_query = query; m_query = query;
// See What is there // See What is there
getZoomTargets (invoker, tableName); getZoomTargets (invoker, tableName);
} // AReport } // AReport
@ -82,7 +82,7 @@ public class WZoomAcross implements EventListener
{ {
String sql = "SELECT DISTINCT ws.AD_Window_ID,ws.Name, wp.AD_Window_ID,wp.Name, t.TableName " String sql = "SELECT DISTINCT ws.AD_Window_ID,ws.Name, wp.AD_Window_ID,wp.Name, t.TableName "
+ "FROM AD_Table t "; + "FROM AD_Table t ";
boolean baseLanguage = Env.isBaseLanguage(Env.getCtx(), "AD_Window"); boolean baseLanguage = Env.isBaseLanguage(Env.getCtx(), "AD_Window");
if (baseLanguage) if (baseLanguage)
sql += "INNER JOIN AD_Window ws ON (t.AD_Window_ID=ws.AD_Window_ID)" sql += "INNER JOIN AD_Window ws ON (t.AD_Window_ID=ws.AD_Window_ID)"
+ " LEFT OUTER JOIN AD_Window wp ON (t.PO_Window_ID=wp.AD_Window_ID) "; + " LEFT OUTER JOIN AD_Window wp ON (t.PO_Window_ID=wp.AD_Window_ID) ";
@ -145,7 +145,7 @@ public class WZoomAcross implements EventListener
else if (invoker.isShowing()) else if (invoker.isShowing())
m_popup.show(invoker, 0, invoker.getHeight()); // below button m_popup.show(invoker, 0, invoker.getHeight()); // below button
*/ */
// No Zoom // No Zoom
if (m_list.size() == 0) if (m_list.size() == 0)
{ {
@ -155,9 +155,9 @@ public class WZoomAcross implements EventListener
} }
m_popup.setPage(invoker.getPage()); m_popup.setPage(invoker.getPage());
m_popup.open(invoker); m_popup.open(invoker);
//End - afalcone - Bug Fix [ 1659420 ] Usability: zoom across //End - afalcone - Bug Fix [ 1659420 ] Usability: zoom across
} // getZoomTargets } // getZoomTargets
/** /**
@ -168,7 +168,7 @@ public class WZoomAcross implements EventListener
* @param isSO has po/so Window * @param isSO has po/so Window
* @return true if there is a record * @return true if there is a record
*/ */
private boolean addTarget (String targetTableName, private boolean addTarget (String targetTableName,
int AD_Window_ID, String Name, Boolean isSO) int AD_Window_ID, String Name, Boolean isSO)
{ {
String key = targetTableName + AD_Window_ID + Name + isSO; String key = targetTableName + AD_Window_ID + Name + isSO;
@ -176,7 +176,7 @@ public class WZoomAcross implements EventListener
return false; return false;
else else
m_targets.add(key); m_targets.add(key);
String sql = "SELECT COUNT(*) FROM " + targetTableName String sql = "SELECT COUNT(*) FROM " + targetTableName
+ " WHERE " + m_query.getWhereClause(false); + " WHERE " + m_query.getWhereClause(false);
String sqlAdd = ""; String sqlAdd = "";
@ -185,9 +185,9 @@ public class WZoomAcross implements EventListener
/* /*
For RMA, Material Receipt window should be loaded for IsSOTrx=true For RMA, Material Receipt window should be loaded for IsSOTrx=true
and Shipment for IsSOTrx=false and Shipment for IsSOTrx=false
*/ */
if (MRMA.Table_Name.equals(m_tableName) && (AD_Window_ID == 169 if (MRMA.Table_Name.equals(m_tableName) && (AD_Window_ID == 169
|| AD_Window_ID == 184)) || AD_Window_ID == 184))
{ {
isSO = !isSO; isSO = !isSO;
@ -200,7 +200,6 @@ public class WZoomAcross implements EventListener
if (count <= 0) if (count <= 0)
return false; return false;
// //
System.err.println("AD_Window_ID=" + AD_Window_ID + " targetTable=" + targetTableName + " Name="+Name + " Count=" + count);
KeyNamePair pp = new KeyNamePair (AD_Window_ID, Name + " (#"+count+")"); KeyNamePair pp = new KeyNamePair (AD_Window_ID, Name + " (#"+count+")");
m_list.add(pp); m_list.add(pp);
Menuitem menuItem = new Menuitem(pp.toString()); Menuitem menuItem = new Menuitem(pp.toString());
@ -209,7 +208,7 @@ public class WZoomAcross implements EventListener
m_query.setRecordCount(count); m_query.setRecordCount(count);
return true; return true;
} // checkTarget } // checkTarget
/** /**
* Launch Zoom * Launch Zoom
* @param pp KeyPair * @param pp KeyPair
@ -234,5 +233,5 @@ public class WZoomAcross implements EventListener
} }
} }
} }
} // AZoom } // AZoom

View File

@ -421,11 +421,12 @@ public final class AEnv
log.config(sqlRolePermission); log.config(sqlRolePermission);
PreparedStatement prolestmt = null; PreparedStatement prolestmt = null;
ResultSet rs = null;
try try
{ {
prolestmt = DB.prepareStatement (sqlRolePermission, null); prolestmt = DB.prepareStatement (sqlRolePermission, null);
ResultSet rs = prolestmt.executeQuery (); rs = prolestmt.executeQuery ();
rs.next(); rs.next();
@ -437,28 +438,14 @@ public final class AEnv
{ {
return false; return false;
} }
rs.close ();
prolestmt.close ();
prolestmt = null;
}
catch (Exception e)
{
System.out.println(e);
log.log(Level.SEVERE, "(1)", e);
}
try
{
if (prolestmt != null)
{
prolestmt.close ();
}
prolestmt = null;
} }
catch (Exception e) catch (Exception e)
{ {
prolestmt = null; log.log(Level.SEVERE, "(1)", e);
}
finally
{
DB.close(rs, prolestmt);
} }
return result; return result;

View File

@ -52,9 +52,9 @@ import org.zkoss.zul.event.ZulEvents;
public class GridPanel extends Borderlayout implements EventListener public class GridPanel extends Borderlayout implements EventListener
{ {
/** /**
* *
*/ */
private static final long serialVersionUID = 6786512082202412891L; private static final long serialVersionUID = -8735897196875342427L;
private static final int MIN_COLUMN_WIDTH = 100; private static final int MIN_COLUMN_WIDTH = 100;
@ -551,11 +551,13 @@ public class GridPanel extends Borderlayout implements EventListener
/** /**
* Handle enter key event * Handle enter key event
*/ */
public void onEnterKey() { public boolean onEnterKey() {
if (!modeless && renderer != null && !renderer.isEditing()) { if (!modeless && renderer != null && !renderer.isEditing()) {
renderer.editCurrentRow(); renderer.editCurrentRow();
renderer.setFocusToEditor(); renderer.setFocusToEditor();
return true;
} }
return false;
} }
public void setFocusToField(String columnName) { public void setFocusToField(String columnName) {

View File

@ -116,7 +116,12 @@ public class WDateEditor extends WEditor
{ {
newValue = new Timestamp(date.getTime()); newValue = new Timestamp(date.getTime());
} }
if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
return;
}
if (oldValue == null && newValue == null) {
return;
}
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue); ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
super.fireValueChange(changeEvent); super.fireValueChange(changeEvent);
oldValue = newValue; oldValue = newValue;

View File

@ -108,7 +108,12 @@ public class WDatetimeEditor extends WEditor
{ {
newValue = new Timestamp(date.getTime()); newValue = new Timestamp(date.getTime());
} }
if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
return;
}
if (oldValue == null && newValue == null) {
return;
}
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue); ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
super.fireValueChange(changeEvent); super.fireValueChange(changeEvent);
oldValue = newValue; oldValue = newValue;

View File

@ -31,50 +31,54 @@ import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Fileupload; import org.zkoss.zul.Fileupload;
/** /**
* *
* @author Low Heng Sin * @author Low Heng Sin
* *
*/ */
public class WFilenameEditor extends WEditor public class WFilenameEditor extends WEditor
{ {
private static final String[] LISTENER_EVENTS = {Events.ON_CLICK, Events.ON_CHANGE}; private static final String[] LISTENER_EVENTS = {Events.ON_CLICK, Events.ON_CHANGE};
private static final CLogger log = CLogger.getCLogger(WFilenameEditor.class); private static final CLogger log = CLogger.getCLogger(WFilenameEditor.class);
public WFilenameEditor(GridField gridField) private String oldValue;
public WFilenameEditor(GridField gridField)
{ {
super(new FilenameBox(), gridField); super(new FilenameBox(), gridField);
getComponent().setButtonImage("/images/Open16.png"); getComponent().setButtonImage("/images/Open16.png");
getComponent().addEventListener(Events.ON_CLICK, this); getComponent().addEventListener(Events.ON_CLICK, this);
} }
@Override @Override
public FilenameBox getComponent() public FilenameBox getComponent()
{ {
return (FilenameBox) component; return (FilenameBox) component;
} }
@Override @Override
public void setValue(Object value) public void setValue(Object value)
{ {
if (value == null) if (value == null)
{ {
oldValue = null;
getComponent().setText(""); getComponent().setText("");
} }
else else
{ {
getComponent().setText(String.valueOf(value)); oldValue = String.valueOf(value);
getComponent().setText(oldValue);
} }
} }
@Override @Override
public Object getValue() public Object getValue()
{ {
return getComponent().getText(); return getComponent().getText();
} }
@Override @Override
public String getDisplay() public String getDisplay()
{ {
return getComponent().getText(); return getComponent().getText();
} }
@ -89,19 +93,26 @@ public class WFilenameEditor extends WEditor
getComponent().setEnabled(readWrite); getComponent().setEnabled(readWrite);
} }
public void onEvent(Event event) public void onEvent(Event event)
{ {
if (Events.ON_CHANGE.equals(event.getName())) if (Events.ON_CHANGE.equals(event.getName()))
{ {
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), getComponent().getText(), getComponent().getText()); 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); fireValueChange(changeEvent);
} }
else if (Events.ON_CLICK.equals(event.getName())) else if (Events.ON_CLICK.equals(event.getName()))
{ {
cmd_file(); cmd_file();
} }
} }
/** /**
* Load file * Load file
*/ */
@ -109,23 +120,23 @@ public class WFilenameEditor extends WEditor
{ {
// Show File Open Dialog // Show File Open Dialog
Media file = null; Media file = null;
try try
{ {
file = Fileupload.get(true); file = Fileupload.get(true);
if (file == null) if (file == null)
return; return;
} }
catch (InterruptedException e) catch (InterruptedException e)
{ {
log.warning(e.getLocalizedMessage()); log.warning(e.getLocalizedMessage());
return; return;
} }
// String fileName = System.getProperty("java.io.tmpdir") + System.getProperty("file.separator") + ; // String fileName = System.getProperty("java.io.tmpdir") + System.getProperty("file.separator") + ;
// File tempFile = new File(fileName); // File tempFile = new File(fileName);
FileOutputStream fos = null; FileOutputStream fos = null;
String fileName = null; String fileName = null;
try { try {
@ -153,18 +164,18 @@ public class WFilenameEditor extends WEditor
} catch (IOException e) { } catch (IOException e) {
log.log(Level.SEVERE, e.getLocalizedMessage(), e); log.log(Level.SEVERE, e.getLocalizedMessage(), e);
return; return;
} finally { } finally {
if (fos != null) if (fos != null)
try { try {
fos.close(); fos.close();
} catch (IOException e) {} } catch (IOException e) {}
} }
getComponent().setText(fileName); getComponent().setText(fileName);
} // cmd_file } // cmd_file
public String[] getEvents() public String[] getEvents()
{ {
return LISTENER_EVENTS; return LISTENER_EVENTS;
} }
} }

View File

@ -42,7 +42,7 @@ import org.zkoss.zk.ui.event.Events;
*/ */
public class WNumberEditor extends WEditor public class WNumberEditor extends WEditor
{ {
public static final String[] LISTENER_EVENTS = {Events.ON_CHANGE,Events.ON_BLUR}; public static final String[] LISTENER_EVENTS = {Events.ON_CHANGE};
public static final int MAX_DISPLAY_LENGTH = 20; public static final int MAX_DISPLAY_LENGTH = 20;
@ -118,8 +118,7 @@ public class WNumberEditor extends WEditor
*/ */
public void onEvent(Event event) public void onEvent(Event event)
{ {
if (Events.ON_CHANGE.equalsIgnoreCase(event.getName()) if (Events.ON_CHANGE.equalsIgnoreCase(event.getName()))
|| Events.ON_BLUR.equalsIgnoreCase(event.getName()))
{ {
BigDecimal newValue = getComponent().getValue(); BigDecimal newValue = getComponent().getValue();
if (oldValue != null && newValue != null && oldValue.equals(newValue)) { if (oldValue != null && newValue != null && oldValue.equals(newValue)) {

View File

@ -32,14 +32,14 @@ import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.Events;
/** /**
* *
* @author Low Heng Sin * @author Low Heng Sin
* *
*/ */
public class WPAttributeEditor extends WEditor implements ContextMenuListener public class WPAttributeEditor extends WEditor implements ContextMenuListener
{ {
private static final String[] LISTENER_EVENTS = {Events.ON_CLICK, Events.ON_CHANGE}; private static final String[] LISTENER_EVENTS = {Events.ON_CLICK, Events.ON_CHANGE};
private static final CLogger log = CLogger.getCLogger(WPAttributeEditor.class); private static final CLogger log = CLogger.getCLogger(WPAttributeEditor.class);
private int m_WindowNo; private int m_WindowNo;
@ -47,49 +47,49 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
private Lookup m_mPAttribute; private Lookup m_mPAttribute;
private int m_C_BPartner_ID; private int m_C_BPartner_ID;
private WEditorPopupMenu popupMenu; private WEditorPopupMenu popupMenu;
private Object m_value; private Object m_value;
private GridTab m_GridTab; private GridTab m_GridTab;
/** No Instance Key */ /** No Instance Key */
private static Integer NO_INSTANCE = new Integer(0); private static Integer NO_INSTANCE = new Integer(0);
public WPAttributeEditor(GridTab gridTab, GridField gridField) public WPAttributeEditor(GridTab gridTab, GridField gridField)
{ {
super(new PAttributebox(), gridField); super(new PAttributebox(), gridField);
m_GridTab = gridTab; m_GridTab = gridTab;
initComponents(); initComponents();
} }
private void initComponents() { private void initComponents() {
getComponent().setButtonImage("images/PAttribute10.png"); getComponent().setButtonImage("images/PAttribute10.png");
getComponent().addEventListener(Events.ON_CLICK, this); getComponent().addEventListener(Events.ON_CLICK, this);
m_WindowNo = gridField.getWindowNo(); m_WindowNo = gridField.getWindowNo();
m_mPAttribute = gridField.getLookup(); m_mPAttribute = gridField.getLookup();
m_C_BPartner_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, "C_BPartner_ID"); m_C_BPartner_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, "C_BPartner_ID");
// Popup // Popup
popupMenu = new WEditorPopupMenu(true, false, false); popupMenu = new WEditorPopupMenu(true, false, false);
getComponent().getTextbox().setContext(popupMenu.getId()); getComponent().getTextbox().setContext(popupMenu.getId());
} }
@Override @Override
public WEditorPopupMenu getPopupMenu() { public WEditorPopupMenu getPopupMenu() {
return popupMenu; return popupMenu;
} }
@Override @Override
public PAttributebox getComponent() public PAttributebox getComponent()
{ {
return (PAttributebox) component; return (PAttributebox) component;
} }
@Override @Override
public void setValue(Object value) public void setValue(Object value)
{ {
if (value == null || NO_INSTANCE.equals(value)) if (value == null || NO_INSTANCE.equals(value))
{ {
@ -97,9 +97,9 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
m_value = value; m_value = value;
return; return;
} }
// The same // The same
if (value.equals(m_value)) if (value.equals(m_value))
return; return;
// new value // new value
log.fine("Value=" + value); log.fine("Value=" + value);
@ -108,30 +108,44 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
} }
@Override @Override
public Object getValue() public Object getValue()
{ {
return m_value; return m_value;
} }
@Override @Override
public String getDisplay() public String getDisplay()
{ {
return getComponent().getText(); return getComponent().getText();
} }
public void onEvent(Event event) public void onEvent(Event event)
{ {
if (Events.ON_CHANGE.equals(event.getName())) if (Events.ON_CHANGE.equals(event.getName()))
{ {
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), getComponent().getText(), getComponent().getText()); String newText = getComponent().getText();
String oldText = null;
if (m_value != null)
{
oldText = m_mPAttribute.getDisplay(m_value);
}
if (oldText != null && newText != null && oldText.equals(newText))
{
return;
}
if (oldText == null && newText == null)
{
return;
}
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldText, newText);
fireValueChange(changeEvent); fireValueChange(changeEvent);
} }
else if (Events.ON_CLICK.equals(event.getName())) else if (Events.ON_CLICK.equals(event.getName()))
{ {
cmd_dialog(); cmd_dialog();
} }
} }
/** /**
* Start dialog * Start dialog
*/ */
@ -147,13 +161,13 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
log.config("M_Product_ID=" + M_Product_ID + "/" + M_ProductBOM_ID log.config("M_Product_ID=" + M_Product_ID + "/" + M_ProductBOM_ID
+ ",M_AttributeSetInstance_ID=" + M_AttributeSetInstance_ID + ",M_AttributeSetInstance_ID=" + M_AttributeSetInstance_ID
+ ", AD_Column_ID=" + gridField.getAD_Column_ID()); + ", AD_Column_ID=" + gridField.getAD_Column_ID());
// M_Product.M_AttributeSetInstance_ID = 8418 // M_Product.M_AttributeSetInstance_ID = 8418
boolean productWindow = (gridField.getAD_Column_ID() == 8418); // HARDCODED boolean productWindow = (gridField.getAD_Column_ID() == 8418); // HARDCODED
// Exclude ability to enter ASI // Exclude ability to enter ASI
boolean exclude = true; boolean exclude = true;
if (M_Product_ID != 0) if (M_Product_ID != 0)
{ {
MProduct product = MProduct.get(Env.getCtx(), M_Product_ID); MProduct product = MProduct.get(Env.getCtx(), M_Product_ID);
@ -164,11 +178,11 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
exclude = mas.excludeEntry(gridField.getAD_Column_ID(), Env.isSOTrx(Env.getCtx(), m_WindowNo)); exclude = mas.excludeEntry(gridField.getAD_Column_ID(), Env.isSOTrx(Env.getCtx(), m_WindowNo));
} }
} }
boolean changed = false; boolean changed = false;
if (M_ProductBOM_ID != 0) // Use BOM Component if (M_ProductBOM_ID != 0) // Use BOM Component
M_Product_ID = M_ProductBOM_ID; M_Product_ID = M_ProductBOM_ID;
// //
if (!productWindow && (M_Product_ID == 0 || exclude)) if (!productWindow && (M_Product_ID == 0 || exclude))
{ {
changed = true; changed = true;
@ -177,7 +191,7 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
} }
else else
{ {
WPAttributeDialog vad = new WPAttributeDialog ( WPAttributeDialog vad = new WPAttributeDialog (
M_AttributeSetInstance_ID, M_Product_ID, m_C_BPartner_ID, M_AttributeSetInstance_ID, M_Product_ID, m_C_BPartner_ID,
productWindow, gridField.getAD_Column_ID(), m_WindowNo); productWindow, gridField.getAD_Column_ID(), m_WindowNo);
if (vad.isChanged()) if (vad.isChanged())
@ -203,7 +217,7 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
// Get Attribute Set // Get Attribute Set
MAttributeSet as = masi.getMAttributeSet(); MAttributeSet as = masi.getMAttributeSet();
// Product has no Attribute Set // Product has no Attribute Set
if (as == null) if (as == null)
ADialog.error(m_WindowNo, this, "PAttributeNoAttributeSet"); ADialog.error(m_WindowNo, this, "PAttributeNoAttributeSet");
// Product has no Instance Attributes // Product has no Instance Attributes
else if (!as.isInstanceAttribute()) else if (!as.isInstanceAttribute())
@ -214,7 +228,7 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
int M_Locator_ID = Env.getContextAsInt (Env.getCtx (), m_WindowNo, "M_Locator_ID"); int M_Locator_ID = Env.getContextAsInt (Env.getCtx (), m_WindowNo, "M_Locator_ID");
String title = ""; String title = "";
PAttributeInstance pai = new PAttributeInstance ( PAttributeInstance pai = new PAttributeInstance (
Env.getFrame(this), title, Env.getFrame(this), title,
M_Warehouse_ID, M_Locator_ID, M_Product_ID, m_C_BPartner_ID); M_Warehouse_ID, M_Locator_ID, M_Product_ID, m_C_BPartner_ID);
if (pai.getM_AttributeSetInstance_ID() != -1) if (pai.getM_AttributeSetInstance_ID() != -1)
{ {
@ -226,7 +240,7 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
} }
} }
**/ **/
// Set Value // Set Value
if (changed) if (changed)
{ {
@ -236,22 +250,22 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
setValue(null); setValue(null);
else else
setValue(new Integer(M_AttributeSetInstance_ID)); setValue(new Integer(M_AttributeSetInstance_ID));
ValueChangeEvent vce = new ValueChangeEvent(this, gridField.getColumnName(), new Object(), getValue()); ValueChangeEvent vce = new ValueChangeEvent(this, gridField.getColumnName(), new Object(), getValue());
fireValueChange(vce); fireValueChange(vce);
if (M_AttributeSetInstance_ID == oldValueInt && m_GridTab != null && gridField != null) if (M_AttributeSetInstance_ID == oldValueInt && m_GridTab != null && gridField != null)
{ {
// force Change - user does not realize that embedded object is already saved. // force Change - user does not realize that embedded object is already saved.
m_GridTab.processFieldChange(gridField); m_GridTab.processFieldChange(gridField);
} }
} // change } // change
} // cmd_file } // cmd_file
public String[] getEvents() public String[] getEvents()
{ {
return LISTENER_EVENTS; return LISTENER_EVENTS;
} }
public void onMenu(ContextMenuEvent evt) public void onMenu(ContextMenuEvent evt)
{ {
if (WEditorPopupMenu.ZOOM_EVENT.equals(evt.getContextEvent())) if (WEditorPopupMenu.ZOOM_EVENT.equals(evt.getContextEvent()))
@ -259,7 +273,7 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
actionZoom(); actionZoom();
} }
} }
public void actionZoom() public void actionZoom()
{ {
AEnv.actionZoom(m_mPAttribute, getValue()); AEnv.actionZoom(m_mPAttribute, getValue());
@ -274,6 +288,6 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
public void setReadWrite(boolean readWrite) { public void setReadWrite(boolean readWrite) {
getComponent().setEnabled(readWrite); getComponent().setEnabled(readWrite);
} }
} }

View File

@ -48,32 +48,32 @@ public class WStringEditor extends WEditor implements ContextMenuListener
private static final String EDITOR_EVENT = "EDITOR"; private static final String EDITOR_EVENT = "EDITOR";
private static final String[] LISTENER_EVENTS = {Events.ON_CHANGE}; private static final String[] LISTENER_EVENTS = {Events.ON_CHANGE};
private String oldText; private String oldValue;
private WEditorPopupMenu popupMenu; private WEditorPopupMenu popupMenu;
private boolean tableEditor = false; private boolean tableEditor = false;
/** /**
* to ease porting of swing form * to ease porting of swing form
*/ */
public WStringEditor() public WStringEditor()
{ {
this("String", false, false, true, 30, 30, "", null); this("String", false, false, true, 30, 30, "", null);
} }
public WStringEditor(GridField gridField) { public WStringEditor(GridField gridField) {
this(gridField, false); this(gridField, false);
} }
public WStringEditor(GridField gridField, boolean tableEditor) public WStringEditor(GridField gridField, boolean tableEditor)
{ {
super(gridField.isAutocomplete() ? new Combobox() : new Textbox(), gridField); super(gridField.isAutocomplete() ? new Combobox() : new Textbox(), gridField);
this.tableEditor = tableEditor; this.tableEditor = tableEditor;
init(gridField.getObscureType()); init(gridField.getObscureType());
} }
/** /**
* to ease porting of swing form * to ease porting of swing form
* @param columnName * @param columnName
@ -89,15 +89,15 @@ public class WStringEditor extends WEditor implements ContextMenuListener
int displayLength, int fieldLength, String vFormat, String obscureType) int displayLength, int fieldLength, String vFormat, String obscureType)
{ {
super(new Textbox(), columnName, null, null, mandatory, isReadOnly,isUpdateable); super(new Textbox(), columnName, null, null, mandatory, isReadOnly,isUpdateable);
init(obscureType); init(obscureType);
} }
@Override @Override
public org.zkoss.zul.Textbox getComponent() { public org.zkoss.zul.Textbox getComponent() {
return (org.zkoss.zul.Textbox) component; return (org.zkoss.zul.Textbox) component;
} }
@Override @Override
public boolean isReadWrite() { public boolean isReadWrite() {
return !getComponent().isReadonly(); return !getComponent().isReadonly();
@ -107,7 +107,7 @@ public class WStringEditor extends WEditor implements ContextMenuListener
public void setReadWrite(boolean readWrite) { public void setReadWrite(boolean readWrite) {
getComponent().setReadonly(!readWrite); getComponent().setReadonly(!readWrite);
} }
private void init(String obscureType) private void init(String obscureType)
{ {
if (gridField != null) if (gridField != null)
@ -118,8 +118,8 @@ public class WStringEditor extends WEditor implements ContextMenuListener
{ {
displayLength = MAX_DISPLAY_LENGTH; displayLength = MAX_DISPLAY_LENGTH;
} }
getComponent().setCols(displayLength); getComponent().setCols(displayLength);
if (!tableEditor) if (!tableEditor)
{ {
if (gridField.getDisplayType() == DisplayType.Text) if (gridField.getDisplayType() == DisplayType.Text)
@ -138,18 +138,18 @@ public class WStringEditor extends WEditor implements ContextMenuListener
getComponent().setRows(8); getComponent().setRows(8);
} }
} }
if (getComponent() instanceof Textbox) if (getComponent() instanceof Textbox)
((Textbox)getComponent()).setObscureType(obscureType); ((Textbox)getComponent()).setObscureType(obscureType);
popupMenu = new WEditorPopupMenu(false, false, true); popupMenu = new WEditorPopupMenu(false, false, true);
Menuitem editor = new Menuitem(Msg.getMsg(Env.getCtx(), "Editor"), "images/Editor16.png"); Menuitem editor = new Menuitem(Msg.getMsg(Env.getCtx(), "Editor"), "images/Editor16.png");
editor.setAttribute("EVENT", EDITOR_EVENT); editor.setAttribute("EVENT", EDITOR_EVENT);
editor.addEventListener(Events.ON_CLICK, popupMenu); editor.addEventListener(Events.ON_CLICK, popupMenu);
popupMenu.appendChild(editor); popupMenu.appendChild(editor);
getComponent().setContext(popupMenu.getId()); getComponent().setContext(popupMenu.getId());
if (gridField.isAutocomplete()) { if (gridField.isAutocomplete()) {
Combobox combo = (Combobox)getComponent(); Combobox combo = (Combobox)getComponent();
combo.setAutodrop(true); combo.setAutodrop(true);
@ -158,7 +158,7 @@ public class WStringEditor extends WEditor implements ContextMenuListener
List<String> items = gridField.getEntries(); List<String> items = gridField.getEntries();
for(String s : items) { for(String s : items) {
combo.appendItem(s); combo.appendItem(s);
} }
} }
} }
} }
@ -167,11 +167,17 @@ public class WStringEditor extends WEditor implements ContextMenuListener
{ {
if (Events.ON_CHANGE.equals(event.getName())) if (Events.ON_CHANGE.equals(event.getName()))
{ {
String newText = getComponent().getValue(); String newValue = getComponent().getValue();
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldText, newText); if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
return;
}
if (oldValue == null && newValue == null) {
return;
}
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
super.fireValueChange(changeEvent); super.fireValueChange(changeEvent);
oldText = newText; oldValue = newValue;
} }
} }
@Override @Override
@ -197,9 +203,9 @@ public class WStringEditor extends WEditor implements ContextMenuListener
{ {
getComponent().setValue(""); getComponent().setValue("");
} }
oldText = getComponent().getValue(); oldValue = getComponent().getValue();
} }
protected void setTypePassword(boolean password) protected void setTypePassword(boolean password)
{ {
if (password) if (password)
@ -211,38 +217,38 @@ public class WStringEditor extends WEditor implements ContextMenuListener
getComponent().setType("text"); getComponent().setType("text");
} }
} }
@Override @Override
public String[] getEvents() public String[] getEvents()
{ {
return LISTENER_EVENTS; return LISTENER_EVENTS;
} }
public WEditorPopupMenu getPopupMenu() public WEditorPopupMenu getPopupMenu()
{ {
return popupMenu; return popupMenu;
} }
public void onMenu(ContextMenuEvent evt) public void onMenu(ContextMenuEvent evt)
{ {
if (WEditorPopupMenu.PREFERENCE_EVENT.equals(evt.getContextEvent())) if (WEditorPopupMenu.PREFERENCE_EVENT.equals(evt.getContextEvent()))
{ {
if (MRole.getDefault().isShowPreference()) if (MRole.getDefault().isShowPreference())
ValuePreference.start (this.getGridField(), getValue()); ValuePreference.start (this.getGridField(), getValue());
return; return;
} }
else if (EDITOR_EVENT.equals(evt.getContextEvent())) else if (EDITOR_EVENT.equals(evt.getContextEvent()))
{ {
WTextEditorDialog dialog = new WTextEditorDialog(this.getColumnName(), getDisplay(), WTextEditorDialog dialog = new WTextEditorDialog(this.getColumnName(), getDisplay(),
isReadWrite(), gridField.getFieldLength()); isReadWrite(), gridField.getFieldLength());
dialog.setAttribute(Window.MODE_KEY, Window.MODE_MODAL); dialog.setAttribute(Window.MODE_KEY, Window.MODE_MODAL);
SessionManager.getAppDesktop().showWindow(dialog); SessionManager.getAppDesktop().showWindow(dialog);
if (!dialog.isCancelled()) { if (!dialog.isCancelled()) {
getComponent().setText(dialog.getText()); getComponent().setText(dialog.getText());
String newText = getComponent().getValue(); String newText = getComponent().getValue();
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldText, newText); ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newText);
super.fireValueChange(changeEvent); super.fireValueChange(changeEvent);
oldText = newText; oldValue = newText;
} }
} }
} }
@ -259,9 +265,9 @@ public class WStringEditor extends WEditor implements ContextMenuListener
for(String s : items) { for(String s : items) {
combo.appendItem(s); combo.appendItem(s);
} }
} }
} }
} }
} }

View File

@ -100,6 +100,12 @@ public class WTimeEditor extends WEditor
newValue = new Timestamp(date.getTime()); newValue = new Timestamp(date.getTime());
} }
if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
return;
}
if (oldValue == null && newValue == null) {
return;
}
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue); ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
super.fireValueChange(changeEvent); super.fireValueChange(changeEvent);
oldValue = newValue; oldValue = newValue;

View File

@ -25,42 +25,45 @@ import org.compiere.util.Env;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.Events;
public class WUrlEditor extends WEditor public class WUrlEditor extends WEditor
{ {
private static final String[] LISTENER_EVENTS = {Events.ON_CLICK, Events.ON_CHANGE}; private static final String[] LISTENER_EVENTS = {Events.ON_CLICK, Events.ON_CHANGE};
private String oldValue;
public WUrlEditor(GridField gridField)
public WUrlEditor(GridField gridField)
{ {
super(new Urlbox(), gridField); super(new Urlbox(), gridField);
getComponent().setButtonImage("/images/Online10.png"); getComponent().setButtonImage("/images/Online10.png");
} }
@Override @Override
public void setValue(Object value) public void setValue(Object value)
{ {
if (value == null) if (value == null)
{ {
oldValue = null;
getComponent().setText(""); getComponent().setText("");
} }
else else
{ {
getComponent().setText(String.valueOf(value)); oldValue = String.valueOf(value);
getComponent().setText(oldValue);
} }
} }
@Override @Override
public Object getValue() public Object getValue()
{ {
return getComponent().getText(); return getComponent().getText();
} }
@Override @Override
public String getDisplay() public String getDisplay()
{ {
return getComponent().getText(); return getComponent().getText();
} }
@Override @Override
public Urlbox getComponent() { public Urlbox getComponent() {
return (Urlbox) component; return (Urlbox) component;
@ -79,12 +82,20 @@ public class WUrlEditor extends WEditor
} }
public void onEvent(Event event) public void onEvent(Event event)
{ {
if (Events.ON_CHANGE.equals(event.getName())) if (Events.ON_CHANGE.equals(event.getName()))
{ {
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), getComponent().getText(), getComponent().getText()); 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); fireValueChange(changeEvent);
oldValue = newValue;
} }
else if (Events.ON_CLICK.equals(event.getName())) else if (Events.ON_CLICK.equals(event.getName()))
{ {
@ -103,14 +114,14 @@ public class WUrlEditor extends WEditor
} }
} }
FDialog.warn(0, this.getComponent(), "URLnotValid", message); FDialog.warn(0, this.getComponent(), "URLnotValid", message);
} }
} }
public String[] getEvents() public String[] getEvents()
{ {
return LISTENER_EVENTS; return LISTENER_EVENTS;
} }
} }

View File

@ -56,19 +56,17 @@ import org.zkoss.zul.event.ListDataEvent;
* *
* @author Jorg Janke * @author Jorg Janke
* @version $Id: VSortTab.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $ * @version $Id: VSortTab.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $
* *
* @author Teo Sarca, SC ARHIPAC SERVICE SRL * @author Teo Sarca, SC ARHIPAC SERVICE SRL
* FR [ 1779410 ] VSortTab: display ID for not visible columns * FR [ 1779410 ] VSortTab: display ID for not visible columns
* *
* Zk Port * Zk Port
* @author Low Heng Sin * @author Low Heng Sin
*/ */
public class ADSortTab extends Panel implements IADTabpanel public class ADSortTab extends Panel implements IADTabpanel
{ {
/**
* private static final long serialVersionUID = 4289328613547509587L;
*/
private static final long serialVersionUID = -3533927024365752586L;
private int m_AD_ColumnSortOrder_ID; private int m_AD_ColumnSortOrder_ID;
/** /**
@ -111,7 +109,7 @@ public class ADSortTab extends Panel implements IADTabpanel
// //
SimpleListModel noModel = new SimpleListModel() { SimpleListModel noModel = new SimpleListModel() {
/** /**
* *
*/ */
private static final long serialVersionUID = -8261235952902938774L; private static final long serialVersionUID = -8261235952902938774L;
@ -135,7 +133,7 @@ public class ADSortTab extends Panel implements IADTabpanel
private GridTab gridTab; private GridTab gridTab;
private boolean uiCreated; private boolean uiCreated;
/** /**
* Dyanamic Init * Dyanamic Init
* @param AD_Table_ID Table No * @param AD_Table_ID Table No
@ -237,7 +235,7 @@ public class ADSortTab extends Panel implements IADTabpanel
m_IdentifierSql = "NULL"; m_IdentifierSql = "NULL";
else if (identifiersCount == 1) else if (identifiersCount == 1)
m_IdentifierSql = identifierSql.toString(); m_IdentifierSql = identifierSql.toString();
else else
m_IdentifierSql = identifierSql.insert(0, "COALESCE(").append(")").toString(); m_IdentifierSql = identifierSql.insert(0, "COALESCE(").append(")").toString();
// //
noLabel.setValue(Msg.getMsg(Env.getCtx(), "Available")); noLabel.setValue(Msg.getMsg(Env.getCtx(), "Available"));
@ -253,31 +251,31 @@ public class ADSortTab extends Panel implements IADTabpanel
this.setStyle("height: 100%; width: 100%;"); this.setStyle("height: 100%; width: 100%;");
// //
noLabel.setValue("No"); noLabel.setValue("No");
yesLabel.setValue("Yes"); yesLabel.setValue("Yes");
yesList.setHeight("100%"); yesList.setHeight("100%");
noList.setHeight("100%"); noList.setHeight("100%");
yesList.setVflex(true); yesList.setVflex(true);
noList.setVflex(true); noList.setVflex(true);
EventListener mouseListener = new EventListener() EventListener mouseListener = new EventListener()
{ {
public void onEvent(Event event) throws Exception public void onEvent(Event event) throws Exception
{ {
if (Events.ON_DOUBLE_CLICK.equals(event.getName())) if (Events.ON_DOUBLE_CLICK.equals(event.getName()))
{ {
migrateValueAcrossLists(event); migrateValueAcrossLists(event);
} }
} }
}; };
yesList.addDoubleClickListener(mouseListener); yesList.addDoubleClickListener(mouseListener);
noList.addDoubleClickListener(mouseListener); noList.addDoubleClickListener(mouseListener);
// //
EventListener actionListener = new EventListener() EventListener actionListener = new EventListener()
{ {
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
migrateValueAcrossLists(event); migrateValueAcrossLists(event);
} }
}; };
yesList.setSeltype("multiple"); yesList.setSeltype("multiple");
@ -294,7 +292,7 @@ public class ADSortTab extends Panel implements IADTabpanel
noList.addOnDropListener(crossListMouseListener); noList.addOnDropListener(crossListMouseListener);
yesList.setItemDraggable(true); yesList.setItemDraggable(true);
noList.setItemDraggable(true); noList.setItemDraggable(true);
actionListener = new EventListener() actionListener = new EventListener()
{ {
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
@ -317,12 +315,12 @@ public class ADSortTab extends Panel implements IADTabpanel
ListItem startItem = (ListItem) me.getDragged(); ListItem startItem = (ListItem) me.getDragged();
ListItem endItem = (ListItem) me.getTarget(); ListItem endItem = (ListItem) me.getTarget();
if (startItem.getListbox() == endItem.getListbox() && startItem.getListbox() == yesList) if (startItem.getListbox() == endItem.getListbox() && startItem.getListbox() == yesList)
{ {
int startIndex = yesList.getIndexOfItem(startItem); int startIndex = yesList.getIndexOfItem(startItem);
int endIndex = yesList.getIndexOfItem(endItem); int endIndex = yesList.getIndexOfItem(endItem);
Object endElement = yesModel.getElementAt(endIndex); Object endElement = yesModel.getElementAt(endIndex);
Object element = yesModel.getElementAt(startIndex); Object element = yesModel.getElementAt(startIndex);
yesModel.removeElement(element); yesModel.removeElement(element);
endIndex = yesModel.indexOf(endElement); endIndex = yesModel.indexOf(endElement);
yesModel.add(endIndex, element); yesModel.add(endIndex, element);
yesList.setSelectedIndex(endIndex); yesList.setSelectedIndex(endIndex);
@ -333,23 +331,23 @@ public class ADSortTab extends Panel implements IADTabpanel
} }
setIsChanged(true); setIsChanged(true);
} }
} }
} }
}; };
yesList.addOnDropListener(yesListMouseMotionListener); yesList.addOnDropListener(yesListMouseMotionListener);
ListHead listHead = new ListHead(); ListHead listHead = new ListHead();
listHead.setParent(yesList); listHead.setParent(yesList);
ListHeader listHeader = new ListHeader(); ListHeader listHeader = new ListHeader();
listHeader.appendChild(yesLabel); listHeader.appendChild(yesLabel);
listHeader.setParent(listHead); listHeader.setParent(listHead);
listHead = new ListHead(); listHead = new ListHead();
listHead.setParent(noList); listHead.setParent(noList);
listHeader = new ListHeader(); listHeader = new ListHeader();
listHeader.appendChild(noLabel); listHeader.appendChild(noLabel);
listHeader.setParent(listHead); listHeader.setParent(listHead);
Span span = new Span(); Span span = new Span();
span.setParent(this); span.setParent(this);
span.setStyle("height: 99%; display: inline-block; width: 40%;"); span.setStyle("height: 99%; display: inline-block; width: 40%;");
@ -361,7 +359,7 @@ public class ADSortTab extends Panel implements IADTabpanel
span.setParent(this); span.setParent(this);
span.setStyle("height: 99%; display: inline-block; width: 46px"); span.setStyle("height: 99%; display: inline-block; width: 46px");
span.appendChild(vbox); span.appendChild(vbox);
span = new Span(); span = new Span();
span.setParent(this); span.setParent(this);
span.setStyle("height: 99%; display: inline-block; width: 40%"); span.setStyle("height: 99%; display: inline-block; width: 40%");
@ -408,7 +406,7 @@ public class ADSortTab extends Panel implements IADTabpanel
sql.append(" ORDER BY "); sql.append(" ORDER BY ");
if (m_ColumnYesNoName != null) if (m_ColumnYesNoName != null)
sql.append("6 DESC,"); // t.IsDisplayed DESC sql.append("6 DESC,"); // t.IsDisplayed DESC
sql.append("3,2"); // t.SeqNo, tt.Name sql.append("3,2"); // t.SeqNo, tt.Name
int ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, m_ParentColumnName); int ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, m_ParentColumnName);
log.fine(sql.toString() + " - ID=" + ID); log.fine(sql.toString() + " - ID=" + ID);
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
@ -430,7 +428,7 @@ public class ADSortTab extends Panel implements IADTabpanel
int AD_Org_ID = rs.getInt(5); int AD_Org_ID = rs.getInt(5);
if (m_ColumnYesNoName != null) if (m_ColumnYesNoName != null)
isYes = rs.getString(6).equals("Y"); isYes = rs.getString(6).equals("Y");
// //
ListElement pp = new ListElement(key, name, seq, isYes, AD_Client_ID, AD_Org_ID); ListElement pp = new ListElement(key, name, seq, isYes, AD_Client_ID, AD_Org_ID);
if (isYes) if (isYes)
@ -460,7 +458,7 @@ public class ADSortTab extends Panel implements IADTabpanel
bDown.setEnabled(isReadWrite); bDown.setEnabled(isReadWrite);
yesList.setEnabled(isReadWrite); yesList.setEnabled(isReadWrite);
noList.setEnabled(isReadWrite); noList.setEnabled(isReadWrite);
yesList.setItemRenderer(yesModel); yesList.setItemRenderer(yesModel);
yesList.setModel(yesModel); yesList.setModel(yesModel);
noList.setItemRenderer(noModel); noList.setItemRenderer(noModel);
@ -501,18 +499,18 @@ public class ADSortTab extends Panel implements IADTabpanel
selObjects.add(selObject); selObjects.add(selObject);
} }
for (ListElement selObject : selObjects) for (ListElement selObject : selObjects)
{ {
if (selObject == null || !selObject.isUpdateable()) if (selObject == null || !selObject.isUpdateable())
continue; continue;
lmFrom.removeElement(selObject); lmFrom.removeElement(selObject);
lmTo.addElement(selObject); lmTo.addElement(selObject);
// Enable explicit Save // Enable explicit Save
setIsChanged(true); setIsChanged(true);
} }
for (ListElement selObject : selObjects) for (ListElement selObject : selObjects)
{ {
int index = lmTo.indexOf(selObject); int index = lmTo.indexOf(selObject);
listTo.setSelectedIndex(index); listTo.setSelectedIndex(index);
@ -682,14 +680,14 @@ public class ADSortTab extends Panel implements IADTabpanel
saveData(); saveData();
adWindowPanel = null; adWindowPanel = null;
} // dispoase } // dispoase
/** /**
* List Item * List Item
* @author Teo Sarca * @author Teo Sarca
*/ */
private class ListElement extends NamePair { private class ListElement extends NamePair {
/** /**
* *
*/ */
private static final long serialVersionUID = -5645910649588308798L; private static final long serialVersionUID = -5645910649588308798L;
private int m_key; private int m_key;
@ -700,7 +698,7 @@ public class ADSortTab extends Panel implements IADTabpanel
/** Initial selection flag */ /** Initial selection flag */
private boolean m_isYes; private boolean m_isYes;
private boolean m_updateable; private boolean m_updateable;
public ListElement(int key, String name, int sortNo, boolean isYes, int AD_Client_ID, int AD_Org_ID) { public ListElement(int key, String name, int sortNo, boolean isYes, int AD_Client_ID, int AD_Org_ID) {
super(name); super(name);
this.m_key = key; this.m_key = key;
@ -708,7 +706,7 @@ public class ADSortTab extends Panel implements IADTabpanel
this.m_AD_Org_ID = AD_Org_ID; this.m_AD_Org_ID = AD_Org_ID;
this.m_sortNo = sortNo; this.m_sortNo = sortNo;
this.m_isYes = isYes; this.m_isYes = isYes;
this.m_updateable = MRole.getDefault().canUpdate(m_AD_Client_ID, m_AD_Org_ID, m_AD_Table_ID, m_key, false); this.m_updateable = MRole.getDefault().canUpdate(m_AD_Client_ID, m_AD_Org_ID, m_AD_Table_ID, m_key, false);
} }
public int getKey() { public int getKey() {
return m_key; return m_key;
@ -757,7 +755,7 @@ public class ADSortTab extends Panel implements IADTabpanel
} }
return false; return false;
} // equals } // equals
@Override @Override
public String toString() { public String toString() {
String s = super.toString(); String s = super.toString();
@ -785,13 +783,13 @@ public class ADSortTab extends Panel implements IADTabpanel
if (event instanceof DropEvent) if (event instanceof DropEvent)
{ {
DropEvent me = (DropEvent) event; DropEvent me = (DropEvent) event;
ListItem endItem = (ListItem) me.getTarget(); ListItem endItem = (ListItem) me.getTarget();
if (!(endItem.getListbox() == yesList)) if (!(endItem.getListbox() == yesList))
{ {
return; // move within noList return; // move within noList
} }
ListItem startItem = (ListItem) me.getDragged(); ListItem startItem = (ListItem) me.getDragged();
if (startItem.getListbox() == endItem.getListbox()) if (startItem.getListbox() == endItem.getListbox())
{ {
@ -800,12 +798,12 @@ public class ADSortTab extends Panel implements IADTabpanel
int startIndex = noList.getIndexOfItem(startItem); int startIndex = noList.getIndexOfItem(startItem);
Object element = noModel.getElementAt(startIndex); Object element = noModel.getElementAt(startIndex);
noModel.removeElement(element); noModel.removeElement(element);
int endIndex = yesList.getIndexOfItem(endItem); int endIndex = yesList.getIndexOfItem(endItem);
yesModel.add(endIndex, element); yesModel.add(endIndex, element);
// //
noList.clearSelection(); noList.clearSelection();
yesList.clearSelection(); yesList.clearSelection();
yesList.setSelectedIndex(endIndex); yesList.setSelectedIndex(endIndex);
// //
setIsChanged(true); setIsChanged(true);
@ -828,7 +826,7 @@ public class ADSortTab extends Panel implements IADTabpanel
{ {
log.log(Level.SEVERE, "", e); log.log(Level.SEVERE, "", e);
} }
uiCreated = true; uiCreated = true;
} }
public void dynamicDisplay(int i) { public void dynamicDisplay(int i) {
@ -879,7 +877,8 @@ public class ADSortTab extends Panel implements IADTabpanel
public void afterSave(boolean onSaveEvent) { public void afterSave(boolean onSaveEvent) {
} }
public void onEnterKey() { public boolean onEnterKey() {
return false;
} }
} //ADSortTab } //ADSortTab

View File

@ -94,10 +94,8 @@ import org.zkoss.zul.Treeitem;
public class ADTabpanel extends Div implements Evaluatee, EventListener, public class ADTabpanel extends Div implements Evaluatee, EventListener,
DataStatusListener, IADTabpanel, VetoableChangeListener DataStatusListener, IADTabpanel, VetoableChangeListener
{ {
/**
* private static final long serialVersionUID = 6811039639239312863L;
*/
private static final long serialVersionUID = 7422816988041118839L;
private static final CLogger logger; private static final CLogger logger;
@ -1084,10 +1082,11 @@ DataStatusListener, IADTabpanel, VetoableChangeListener
/** /**
* @see IADTabpanel#onEnterKey() * @see IADTabpanel#onEnterKey()
*/ */
public void onEnterKey() { public boolean onEnterKey() {
if (listPanel.isVisible()) { if (listPanel.isVisible()) {
listPanel.onEnterKey(); return listPanel.onEnterKey();
} }
return false;
} }
/** /**
@ -1111,7 +1110,6 @@ DataStatusListener, IADTabpanel, VetoableChangeListener
if (!FDialog.ask(getWindowNo(), this, "SaveChanges?", gridTab.getCommitWarning())) if (!FDialog.ask(getWindowNo(), this, "SaveChanges?", gridTab.getCommitWarning()))
{ {
m_vetoActive = true; m_vetoActive = true;
System.out.println("throw PropertyVetoException ");
throw new PropertyVetoException ("UserDeniedSave", e); throw new PropertyVetoException ("UserDeniedSave", e);
} }
} }

View File

@ -179,6 +179,7 @@ public class ADWindowPanel extends AbstractADWindowPanel
keyListener.setCtrlKeys("#f1#f2#f3#f4#f5#f6#f7#f8#f9#f10#f11#f12^f^i^n^s^d@#left@#right@#up@#down@#pgup@#pgdn@p^p@z@x#enter"); keyListener.setCtrlKeys("#f1#f2#f3#f4#f5#f6#f7#f8#f9#f10#f11#f12^f^i^n^s^d@#left@#right@#up@#down@#pgup@#pgdn@p^p@z@x#enter");
keyListener.addEventListener(Events.ON_CTRL_KEY, toolbar); keyListener.addEventListener(Events.ON_CTRL_KEY, toolbar);
keyListener.addEventListener(Events.ON_CTRL_KEY, this); keyListener.addEventListener(Events.ON_CTRL_KEY, this);
keyListener.setAutoBlur(false);
} }
return layout; return layout;
@ -218,10 +219,12 @@ public class ADWindowPanel extends AbstractADWindowPanel
KeyEvent keyEvent = (KeyEvent) event; KeyEvent keyEvent = (KeyEvent) event;
//enter == 13 //enter == 13
if (keyEvent.getKeyCode() == 13 && this.getComponent().getParent().isVisible()) { if (keyEvent.getKeyCode() == 13 && this.getComponent().getParent().isVisible()) {
keyEvent.stopPropagation();
IADTabpanel panel = adTab.getSelectedTabpanel(); IADTabpanel panel = adTab.getSelectedTabpanel();
if (panel != null) if (panel != null) {
panel.onEnterKey(); if (panel.onEnterKey()) {
keyEvent.stopPropagation();
}
}
} }
} else { } else {
super.onEvent(event); super.onEvent(event);

View File

@ -41,9 +41,9 @@ import org.zkoss.zul.Vbox;
public class HeaderPanel extends Panel implements EventListener public class HeaderPanel extends Panel implements EventListener
{ {
private static final long serialVersionUID = -4293371180738797244L; private static final long serialVersionUID = -2351317624519209484L;
private Image image = new Image(); private Image image = new Image();
public HeaderPanel() public HeaderPanel()
{ {
@ -93,7 +93,6 @@ public class HeaderPanel extends Panel implements EventListener
} }
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
System.out.println(event.getTarget());
if (Events.ON_CLICK.equals(event.getName())) { if (Events.ON_CLICK.equals(event.getName())) {
if(event.getTarget() == image) if(event.getTarget() == image)
{ {

View File

@ -39,7 +39,7 @@ public interface IADTabpanel extends Component, Evaluatee {
public boolean isCurrent(); public boolean isCurrent();
/** /**
* *
* @return title * @return title
*/ */
public String getTitle(); public String getTitle();
@ -50,7 +50,7 @@ public interface IADTabpanel extends Component, Evaluatee {
public void createUI(); public void createUI();
/** /**
* *
* @return GridTab * @return GridTab
*/ */
public GridTab getGridTab(); public GridTab getGridTab();
@ -85,7 +85,7 @@ public interface IADTabpanel extends Component, Evaluatee {
public void switchRowPresentation(); public void switchRowPresentation();
/** /**
* Dynamic update of field properties ( visibility, filter and mandatory ) * Dynamic update of field properties ( visibility, filter and mandatory )
* @param i * @param i
*/ */
public void dynamicDisplay(int i); public void dynamicDisplay(int i);
@ -98,6 +98,7 @@ public interface IADTabpanel extends Component, Evaluatee {
/** /**
* Enter key event * Enter key event
* @return true if the event is process
*/ */
public void onEnterKey(); public boolean onEnterKey();
} }

View File

@ -74,9 +74,7 @@ import org.zkoss.zul.Vbox;
public final class WAccountDialog extends Window public final class WAccountDialog extends Window
implements EventListener, DataStatusListener, ValueChangeListener implements EventListener, DataStatusListener, ValueChangeListener
{ {
/**
*
*/
private static final long serialVersionUID = 7999516267209766287L; private static final long serialVersionUID = 7999516267209766287L;
/** /**
@ -85,15 +83,15 @@ public final class WAccountDialog extends Window
* @param mAccount account info * @param mAccount account info
* @param C_AcctSchema_ID as * @param C_AcctSchema_ID as
*/ */
public WAccountDialog (String title, public WAccountDialog (String title,
MAccountLookup mAccount, int C_AcctSchema_ID) MAccountLookup mAccount, int C_AcctSchema_ID)
{ {
super (); super ();
this.setTitle(title); this.setTitle(title);
this.setHeight("500px"); this.setHeight("500px");
this.setWidth("700px"); this.setWidth("700px");
log.config("C_AcctSchema_ID=" + C_AcctSchema_ID log.config("C_AcctSchema_ID=" + C_AcctSchema_ID
+ ", C_ValidCombination_ID=" + mAccount.C_ValidCombination_ID); + ", C_ValidCombination_ID=" + mAccount.C_ValidCombination_ID);
m_mAccount = mAccount; m_mAccount = mAccount;
m_C_AcctSchema_ID = C_AcctSchema_ID; m_C_AcctSchema_ID = C_AcctSchema_ID;
@ -188,7 +186,7 @@ public final class WAccountDialog extends Window
parameterPanel.setStyle("background-color: transparent;"); parameterPanel.setStyle("background-color: transparent;");
toolBar.setOrient("vertical"); toolBar.setOrient("vertical");
toolBar.setStyle("border: none; margin: 5px"); toolBar.setStyle("border: none; margin: 5px");
bSave.setImage("images/Save24.png"); bSave.setImage("images/Save24.png");
bSave.setTooltiptext(Msg.getMsg(Env.getCtx(),"AccountNewUpdate")); bSave.setTooltiptext(Msg.getMsg(Env.getCtx(),"AccountNewUpdate"));
bSave.addEventListener(Events.ON_CLICK, this); bSave.addEventListener(Events.ON_CLICK, this);
@ -203,14 +201,14 @@ public final class WAccountDialog extends Window
toolBar.appendChild(bIgnore); toolBar.appendChild(bIgnore);
toolBar.appendChild(bSave); toolBar.appendChild(bSave);
// //
northPanel.appendChild(parameterPanel); northPanel.appendChild(parameterPanel);
parameterPanel.setWidth("95%"); parameterPanel.setWidth("95%");
northPanel.appendChild(toolBar); northPanel.appendChild(toolBar);
northPanel.setWidth("100%"); northPanel.setWidth("100%");
m_adTabPanel = new ADTabpanel(); m_adTabPanel = new ADTabpanel();
Borderlayout layout = new Borderlayout(); Borderlayout layout = new Borderlayout();
layout.setParent(this); layout.setParent(this);
if (AEnv.isFirefox2()) if (AEnv.isFirefox2())
@ -226,19 +224,19 @@ public final class WAccountDialog extends Window
layout.setWidth("100%"); layout.setWidth("100%");
layout.setStyle("background-color: transparent;"); layout.setStyle("background-color: transparent;");
} }
North nRegion = new North(); North nRegion = new North();
nRegion.setParent(layout); nRegion.setParent(layout);
nRegion.setFlex(false); nRegion.setFlex(false);
nRegion.appendChild(northPanel); nRegion.appendChild(northPanel);
nRegion.setStyle("background-color: transparent; border: none"); nRegion.setStyle("background-color: transparent; border: none");
northPanel.setStyle("background-color: transparent;"); northPanel.setStyle("background-color: transparent;");
Center cRegion = new Center(); Center cRegion = new Center();
cRegion.setParent(layout); cRegion.setParent(layout);
cRegion.appendChild(m_adTabPanel); cRegion.appendChild(m_adTabPanel);
cRegion.setFlex(true); cRegion.setFlex(true);
South sRegion = new South(); South sRegion = new South();
sRegion.setParent(layout); sRegion.setParent(layout);
Div div = new Div(); Div div = new Div();
@ -247,13 +245,13 @@ public final class WAccountDialog extends Window
div.appendChild(statusBar); div.appendChild(statusBar);
sRegion.appendChild(div); sRegion.appendChild(div);
sRegion.setStyle("background-color: transparent; border: none"); sRegion.setStyle("background-color: transparent; border: none");
confirmPanel.addActionListener(Events.ON_CLICK, this); confirmPanel.addActionListener(Events.ON_CLICK, this);
this.setBorder("normal"); this.setBorder("normal");
this.setClosable(false); this.setClosable(false);
this.setAttribute("modal", Boolean.TRUE); this.setAttribute("modal", Boolean.TRUE);
this.setSizable(true); this.setSizable(true);
} // jbInit } // jbInit
@ -274,8 +272,8 @@ public final class WAccountDialog extends Window
Env.setContext(Env.getCtx(), m_WindowNo, "C_AcctSchema_ID", m_C_AcctSchema_ID); Env.setContext(Env.getCtx(), m_WindowNo, "C_AcctSchema_ID", m_C_AcctSchema_ID);
// Model // Model
int AD_Window_ID = 153; // Maintain Account Combinations int AD_Window_ID = 153; // Maintain Account Combinations
GridWindowVO wVO = AEnv.getMWindowVO (m_WindowNo, AD_Window_ID, 0); GridWindowVO wVO = AEnv.getMWindowVO (m_WindowNo, AD_Window_ID, 0);
if (wVO == null) if (wVO == null)
return false; return false;
m_mWindow = new GridWindow (wVO); m_mWindow = new GridWindow (wVO);
@ -300,15 +298,15 @@ public final class WAccountDialog extends Window
field.setDisplayed (false); field.setDisplayed (false);
} }
// GridController // GridController
m_adTabPanel.init(null, m_WindowNo, m_mTab, null); m_adTabPanel.init(null, m_WindowNo, m_mTab, null);
// Prepare Parameter // Prepare Parameter
parameterLayout.makeNoStrip(); parameterLayout.makeNoStrip();
parameterLayout.setOddRowSclass("even"); parameterLayout.setOddRowSclass("even");
parameterLayout.setParent(parameterPanel); parameterLayout.setParent(parameterPanel);
parameterLayout.setStyle("background-color: transparent;"); parameterLayout.setStyle("background-color: transparent;");
m_rows = new Rows(); m_rows = new Rows();
m_rows.setParent(parameterLayout); m_rows.setParent(parameterLayout);
@ -436,7 +434,7 @@ public final class WAccountDialog extends Window
row.setSpans("4"); row.setSpans("4");
row.setStyle("background-color: transparent;"); row.setStyle("background-color: transparent;");
m_rows.appendChild(row); m_rows.appendChild(row);
// Finish // Finish
m_query = new MQuery(); m_query = new MQuery();
m_query.addRestriction("C_AcctSchema_ID", MQuery.EQUAL, m_C_AcctSchema_ID); m_query.addRestriction("C_AcctSchema_ID", MQuery.EQUAL, m_C_AcctSchema_ID);
@ -608,7 +606,7 @@ public final class WAccountDialog extends Window
if (event.getTarget().getId().equals("Ok")) if (event.getTarget().getId().equals("Ok"))
{ {
m_changed = true; m_changed = true;
dispose(); dispose();
} }
else if (event.getTarget().getId().equals("Cancel")) else if (event.getTarget().getId().equals("Cancel"))
{ {
@ -622,9 +620,9 @@ public final class WAccountDialog extends Window
action_Ignore(); action_Ignore();
// all other // all other
else else
action_Find (true); action_Find (true);
} }
/** /**
* Status Change Listener * Status Change Listener
* @param e event * @param e event
@ -635,8 +633,6 @@ public final class WAccountDialog extends Window
String info = (String)m_mTab.getValue("Description"); String info = (String)m_mTab.getValue("Description");
if (Executions.getCurrent() != null) if (Executions.getCurrent() != null)
f_Description.setValue (info); f_Description.setValue (info);
else
System.err.println(info);
} // statusChanged } // statusChanged
@ -893,7 +889,7 @@ public final class WAccountDialog extends Window
return; return;
} }
/** /**
* Check if already exists * Check if already exists
*/ */
@ -938,7 +934,7 @@ public final class WAccountDialog extends Window
int i = 0; int i = 0;
try try
{ {
java.sql.PreparedStatement stmt = DB.prepareStatement(sql.toString(), java.sql.PreparedStatement stmt = DB.prepareStatement(sql.toString(),
ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE, null); ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE, null);
i = stmt.executeUpdate(); i = stmt.executeUpdate();
stmt.close(); stmt.close();
@ -1000,13 +996,13 @@ public final class WAccountDialog extends Window
if (f_User2_ID != null && !isEmpty(f_User2_ID.getValue())) if (f_User2_ID != null && !isEmpty(f_User2_ID.getValue()))
User2_ID = ((Integer)f_User2_ID.getValue()).intValue(); User2_ID = ((Integer)f_User2_ID.getValue()).intValue();
MAccount acct = MAccount.get (Env.getCtx(), m_AD_Client_ID, MAccount acct = MAccount.get (Env.getCtx(), m_AD_Client_ID,
((Integer)f_AD_Org_ID.getValue()).intValue(), ((Integer)f_AD_Org_ID.getValue()).intValue(),
s_AcctSchema.getC_AcctSchema_ID(), s_AcctSchema.getC_AcctSchema_ID(),
((Integer)f_Account_ID.getValue()).intValue(), C_SubAcct_ID, ((Integer)f_Account_ID.getValue()).intValue(), C_SubAcct_ID,
M_Product_ID, C_BPartner_ID, AD_OrgTrx_ID, M_Product_ID, C_BPartner_ID, AD_OrgTrx_ID,
C_LocFrom_ID, C_LocTo_ID, C_SRegion_ID, C_LocFrom_ID, C_LocTo_ID, C_SRegion_ID,
C_Project_ID, C_Campaign_ID, C_Activity_ID, C_Project_ID, C_Campaign_ID, C_Activity_ID,
User1_ID, User2_ID, 0, 0); User1_ID, User2_ID, 0, 0);
if (acct != null && acct.get_ID() == 0) if (acct != null && acct.get_ID() == 0)
acct.save(); acct.save();
@ -1030,10 +1026,10 @@ public final class WAccountDialog extends Window
private boolean isEmpty(Object value) { private boolean isEmpty(Object value) {
if (value == null) if (value == null)
return true; return true;
if (value instanceof String) if (value instanceof String)
return ((String)value).trim().length() == 0; return ((String)value).trim().length() == 0;
return false; return false;
} }