From 1f965b34875fb19bbffa3de01c4631bd95cb015d Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Fri, 16 Mar 2007 10:50:32 +0000 Subject: [PATCH] *[ 1675896 ] Deleting in grid mode deletes wrong product line --- client/src/org/compiere/grid/VTable.java | 1 + client/src/org/compiere/grid/ed/VLookup.java | 27 ++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/client/src/org/compiere/grid/VTable.java b/client/src/org/compiere/grid/VTable.java index 4974f647ac..9a67879527 100644 --- a/client/src/org/compiere/grid/VTable.java +++ b/client/src/org/compiere/grid/VTable.java @@ -41,6 +41,7 @@ public final class VTable extends CTable { super(); setAutoscrolls(true); + putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); } // VTable /** Logger */ diff --git a/client/src/org/compiere/grid/ed/VLookup.java b/client/src/org/compiere/grid/ed/VLookup.java index 5c2bde7063..de62457f40 100644 --- a/client/src/org/compiere/grid/ed/VLookup.java +++ b/client/src/org/compiere/grid/ed/VLookup.java @@ -22,6 +22,7 @@ import java.beans.*; import java.sql.*; import java.util.logging.*; import javax.swing.*; + import org.compiere.apps.*; import org.compiere.apps.search.*; import org.compiere.model.*; @@ -43,6 +44,32 @@ import org.compiere.util.*; public class VLookup extends JComponent implements VEditor, ActionListener, FocusListener { + @Override + protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, + int condition, boolean pressed) { + if (e.getSource() == m_combo || e.getSource() == m_text || e.getSource() == this) { + return super.processKeyBinding(ks, e, condition, pressed); + } + + JComponent editorComp = null; + if (m_lookup != null && m_lookup.getDisplayType() != DisplayType.Search) + editorComp = m_combo; + else + editorComp = m_text; + InputMap map = editorComp.getInputMap(condition); + ActionMap am = editorComp.getActionMap(); + + if(map!=null && am!=null && isEnabled()){ + Object binding = map.get(ks); + Action action = (binding==null) ? null : am.get(binding); + if(action!=null){ + return SwingUtilities.notifyAction(action, ks, e, editorComp, + e.getModifiers()); + } + } + return false; + } + /** * Create Optional BPartner Search Lookup * @param WindowNo window