diff --git a/client/src/org/compiere/apps/APanel.java b/client/src/org/compiere/apps/APanel.java
index b1f09aed2e..c50915ec77 100644
--- a/client/src/org/compiere/apps/APanel.java
+++ b/client/src/org/compiere/apps/APanel.java
@@ -123,9 +123,7 @@ import org.compiere.util.Util;
*
BF [ 1996056 ] Report error message is not displayed
* BF [ 1998575 ] Document Print is discarding any error
* @author victor.perez@e-evolution.com
- * FR [ 1966328 ] New Window Info to MRP and CRP into View http://sourceforge.net/tracker/index.php?func=detail&aid=1966328&group_id=176962&atid=879335
- * FR [ 2853359 ] Popup Menu for Lookup Record
- * http://sourceforge.net/tracker/?func=detail&aid=2853359&group_id=176962&atid=879335
+ * @see FR [ 1966328 ] New Window Info to MRP and CRP into View http://sourceforge.net/tracker/index.php?func=detail&aid=1966328&group_id=176962&atid=879335
* @autor tobi42, metas GmBH
* BF [ 2799362 ] You can press New button a lot of times
*
@@ -2057,7 +2055,26 @@ public final class APanel extends CPanel
*/
private void cmd_find()
{
- new ASearch(aFind.getButton(),Env.getFrame(this), m_curWindowNo,m_curGC, m_curTab);
+ if (m_curTab == null)
+ return;
+ cmd_save(false);
+ // Gets Fields from AD_Field_v
+ GridField[] findFields = GridField.createFields(m_ctx, m_curWindowNo, 0, m_curTab.getAD_Tab_ID());
+ Find find = new Find (Env.getFrame(this), m_curWindowNo, m_curTab.getName(),
+ m_curTab.getAD_Tab_ID(), m_curTab.getAD_Table_ID(), m_curTab.getTableName(),
+ m_curTab.getWhereExtended(), findFields, 1);
+ MQuery query = find.getQuery();
+ find.dispose();
+ find = null;
+
+ // Confirmed query
+ if (query != null)
+ {
+ m_onlyCurrentRows = false; // search history too
+ m_curTab.setQuery(query);
+ m_curGC.query(m_onlyCurrentRows, m_onlyCurrentDays, 0); // autoSize
+ }
+ aFind.setPressed(m_curTab.isQueryActive());
} // cmd_find
/**
diff --git a/client/src/org/compiere/apps/ASearch.java b/client/src/org/compiere/apps/ASearch.java
deleted file mode 100755
index 4c027c8359..0000000000
--- a/client/src/org/compiere/apps/ASearch.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
- * 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. *
- * For the text or an alternative of this public license, you may reach us *
- * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
- * or via info@compiere.org or http://www.compiere.org/license.html *
- * Sponsors: *
- * - E-evolution (http://www.e-evolution.com/) *
- *****************************************************************************/
-package org.compiere.apps;
-
-import java.awt.Cursor;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.ArrayList;
-
-import javax.swing.JComponent;
-import javax.swing.JPopupMenu;
-
-import org.compiere.apps.search.Find;
-import org.compiere.grid.GridController;
-import org.compiere.model.GridTab;
-import org.compiere.model.MUserQuery;
-import org.compiere.util.CLogger;
-import org.compiere.util.Env;
-import org.compiere.util.KeyNamePair;
-import org.compiere.util.Msg;
-
-/**
- * Application Search.
- * Called from APanel; Queries Search Table.
- *
- * @author victor.perez@e-evolution.com, www.e-evolution.com
- * RF [ 2853359 ] Popup Menu for Lookup Record
- * http://sourceforge.net/tracker/?func=detail&aid=2853359&group_id=176962&atid=879335
- */
-public class ASearch implements ActionListener
-{
- /**
- * Constructor
- * @param invoker component to display popup (optional)
- * @param tableName table name
- * @param query query
- */
- public ASearch (JComponent invoker, Frame owner, int targetWindowNo, GridController gc ,GridTab gridTab)
- {
- m_invoker = invoker;
- m_owner = owner;
- m_targetWindowNo = targetWindowNo;
- m_gt = gridTab;
- m_gc = gc;
- // See What is there
- getSearchTargets ();
- } // AReport
-
- /** The Popup */
- private JPopupMenu m_popup = new JPopupMenu("SearchMenu");
- /** The Option List */
- private ArrayList m_list = new ArrayList();
- /** Logger */
- private static CLogger log = CLogger.getCLogger(ASearch.class);
-
- JComponent m_invoker;
- Frame m_owner;
- int m_targetWindowNo;
- GridTab m_gt;
- GridController m_gc;
-
- /**
- * Get the UserQuery for the table.
- * Fill the list and the popup menu
- * @param invoker component to display popup (optional)
- * @param AD_Tab_ID Tab ID
- * @param AD_Table_ID Table ID
- * @param AD_User_ID User ID
- */
- private void getSearchTargets ()
- {
- boolean baseLanguage = Env.isBaseLanguage(Env.getCtx(), "AD_Window");
- MUserQuery[] search = MUserQuery.get(Env.getCtx(), m_gt.getAD_Tab_ID());
- KeyNamePair pp = new KeyNamePair (0, Msg.translate(Env.getCtx(), "Find"));
- m_list.add(pp);
- m_popup.add(pp.toString()).addActionListener(this);
-
- for (MUserQuery query: search)
- {
- pp = new KeyNamePair (query.getAD_UserQuery_ID(), query.getName());
- m_list.add(pp);
- m_popup.add(pp.toString()).addActionListener(this);
- }
-
- if (m_invoker.isShowing() && m_list.size() > 1)
- {
- m_popup.show(m_invoker, 0, m_invoker.getHeight());
- }
- else
- {
- launchSearch(pp);
- }
- } // getZoomTargets
-
-
- /**
- * Action Listener
- * @param e event
- */
- public void actionPerformed(ActionEvent e)
- {
- m_popup.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- String cmd = e.getActionCommand();
- for (int i = 0; i < m_list.size(); i++)
- {
- KeyNamePair pp = (KeyNamePair)m_list.get(i);
- if (cmd.equals(pp.getName()))
- {
- launchSearch (pp);
- return;
- }
- }
- } // actionPerformed
-
- /**
- * Launch Search
- * @param pp KeyPair
- */
- private void launchSearch (KeyNamePair pp)
- {
- Find find = new Find (m_owner, m_targetWindowNo, m_gc , m_gt, 1);
- if(pp.getName().equals(Msg.getMsg(Env.getCtx(), "Find")))
- {
- AEnv.showCenterWindow(m_owner, find);
- }
- else
- {
- int AD_UserQuery_ID = pp.getKey();
- MUserQuery userQuery = null;
- if(AD_UserQuery_ID > 0)
- {
- userQuery = new MUserQuery(Env.getCtx(),AD_UserQuery_ID, null);
- }
- find.initFindAdvanced();
- find.parseUserQuery(userQuery);
- find.cmd_ok_Advanced();
- }
- }
-} // ASearch
diff --git a/client/src/org/compiere/apps/search/Find.java b/client/src/org/compiere/apps/search/Find.java
index de3a9aa497..59a3a7fc56 100644
--- a/client/src/org/compiere/apps/search/Find.java
+++ b/client/src/org/compiere/apps/search/Find.java
@@ -50,7 +50,6 @@ import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.InputMap;
import javax.swing.JButton;
-import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
@@ -65,9 +64,9 @@ import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
import org.compiere.apps.ADialog;
+import org.compiere.apps.AEnv;
import org.compiere.apps.ConfirmPanel;
import org.compiere.apps.StatusBar;
-import org.compiere.grid.GridController;
import org.compiere.grid.ed.AutoCompletion;
import org.compiere.grid.ed.VEditor;
import org.compiere.grid.ed.VEditorFactory;
@@ -76,7 +75,6 @@ import org.compiere.model.DataStatusEvent;
import org.compiere.model.DataStatusListener;
import org.compiere.model.GridField;
import org.compiere.model.GridFieldVO;
-import org.compiere.model.GridTab;
import org.compiere.model.MLookupFactory;
import org.compiere.model.MProduct;
import org.compiere.model.MQuery;
@@ -96,7 +94,6 @@ import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
-import org.compiere.util.KeyNamePair;
import org.compiere.util.Msg;
import org.compiere.util.Util;
import org.compiere.util.ValueNamePair;
@@ -110,9 +107,6 @@ import org.compiere.util.ValueNamePair;
*
* @author Teo Sarca, www.arhipac.ro
* BF [ 2564070 ] Saving user queries can produce unnecessary db errors
- * @author victor.perez@e-evolution.com, www.e-evolution.com
- * RF [ 2853359 ] Popup Menu for Lookup Record
- * http://sourceforge.net/tracker/?func=detail&aid=2853359&group_id=176962&atid=879335
*/
public final class Find extends CDialog
implements ActionListener, ChangeListener, DataStatusListener
@@ -120,24 +114,7 @@ public final class Find extends CDialog
private static final long serialVersionUID = 6414604433732835410L;
private int m_AD_Tab_ID;
-
- /**
- * Find Constructor
- * @param owner Frame Dialog Onwer
- * @param targetWindowNo WindowNo of target window
- * @param gc Grid Controller
- * @param gridTab GridTab
- * @param minRecords number of minimum records
- */
- public Find (Frame owner, int targetWindowNo, GridController gc ,GridTab gridTab, int minRecords)
- {
- this(owner, targetWindowNo, gridTab.getName(), gridTab.getAD_Tab_ID(),
- gridTab.getAD_Table_ID(), gridTab.getTableName(), gridTab.getWhereExtended(),
- GridField.createFields(Env.getCtx(), targetWindowNo, 0, gridTab.getAD_Tab_ID()), minRecords);
- m_gt = gridTab;
- m_gc = gc;
- }
-
+
/**
* Find Constructor
* @param owner Frame Dialog Onwer
@@ -153,6 +130,7 @@ public final class Find extends CDialog
int AD_Table_ID, String tableName, String whereExtended,
GridField[] findFields, int minRecords)
{
+ super(owner, Msg.getMsg(Env.getCtx(), "Find") + ": " + title, true);
log.info(title);
//
m_targetWindowNo = targetWindowNo;
@@ -185,11 +163,9 @@ public final class Find extends CDialog
}
//
this.getRootPane().setDefaultButton(confirmPanelS.getOKButton());
+ AEnv.showCenterWindow(owner, this);
} // Find
-
- GridController m_gc ;
- GridTab m_gt;
-
+
/** Target Window No */
private int m_targetWindowNo;
/** Table ID */
@@ -230,11 +206,6 @@ public final class Find extends CDialog
/** Reference ID for Yes/No */
public static final int AD_REFERENCE_ID_YESNO = 319;
- /** The Popup */
- private JPopupMenu m_popup = new JPopupMenu("SearchMenu");
- /** The Option List */
- private ArrayList m_list = new ArrayList();
-
//
private CPanel southPanel = new CPanel();
private BorderLayout southLayout = new BorderLayout();
@@ -580,7 +551,7 @@ public final class Find extends CDialog
/**
* Init Find GridController
*/
- public void initFindAdvanced()
+ private void initFindAdvanced()
{
log.config("");
advancedTable.setModel(new DefaultTableModel(0, 4));
@@ -747,7 +718,7 @@ public final class Find extends CDialog
public void actionPerformed (ActionEvent e)
{
log.info(e.getActionCommand());
-
+ //
if (e.getActionCommand().equals(ConfirmPanel.A_CANCEL))
cmd_cancel();
else if (e.getActionCommand().equals(ConfirmPanel.A_REFRESH))
@@ -825,7 +796,7 @@ public final class Find extends CDialog
}
} // actionPerformed
- public void parseUserQuery(MUserQuery userQuery) {
+ private void parseUserQuery(MUserQuery userQuery) {
String code = userQuery.getCode();
String[] segments = code.split(Pattern.quote(SEGMENT_SEPARATOR));
advancedTable.stopEditor(true);
@@ -974,7 +945,7 @@ public final class Find extends CDialog
/**
* Advanced OK Button pressed
*/
- public void cmd_ok_Advanced()
+ private void cmd_ok_Advanced()
{
m_isCancel = false; // teo_sarca [ 1708717 ]
// save pending
@@ -1136,7 +1107,7 @@ public final class Find extends CDialog
}
} // cmd_save
- public void refreshUserQueries()
+ private void refreshUserQueries()
{
Object selected = fQueryName.getSelectedItem();
userQueries = MUserQuery.get(Env.getCtx(), m_AD_Tab_ID);
@@ -1491,11 +1462,6 @@ public final class Find extends CDialog
//
if (query != null)
statusBar.setStatusToolTip (query.getWhereClause());
- if(m_gt != null && m_gc!= null)
- {
- m_gt.setQuery(getQuery());
- m_gc.query(false, 0, 0);
- }
return m_total;
} // getNoOfRecords
@@ -1569,4 +1535,5 @@ public final class Find extends CDialog
return comp;
}
} // ProxyRenderer
+
} // Find