From 87447f5c6c4cef4bd80bec7c6c7b93d946aa5926 Mon Sep 17 00:00:00 2001 From: joergviola Date: Thu, 11 Mar 2010 20:37:31 +0000 Subject: [PATCH] IColumnCallout extension point - experimentally ready --- base/plugin.xml | 2 +- base/src/org/adempiere/base/Core.java | 3 --- .../src/org/compiere/grid/GridController.java | 17 +++++++++++------ equinox-target/build.xml | 4 +++- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/base/plugin.xml b/base/plugin.xml index a02eda5e25..f751974f4f 100644 --- a/base/plugin.xml +++ b/base/plugin.xml @@ -2,6 +2,6 @@ - + diff --git a/base/src/org/adempiere/base/Core.java b/base/src/org/adempiere/base/Core.java index 643292bc85..c5e5431ada 100644 --- a/base/src/org/adempiere/base/Core.java +++ b/base/src/org/adempiere/base/Core.java @@ -3,9 +3,6 @@ package org.adempiere.base; import java.net.URL; import java.util.List; -import org.adempiere.base.equinox.ExtensionList; -import org.compiere.model.Callout; - /** * This is a facade class for the Service Locator. * It provides simple access to all core services. diff --git a/client/src/org/compiere/grid/GridController.java b/client/src/org/compiere/grid/GridController.java index 843123af3b..c4a5c3689d 100644 --- a/client/src/org/compiere/grid/GridController.java +++ b/client/src/org/compiere/grid/GridController.java @@ -33,6 +33,7 @@ import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Properties; import java.util.Set; import java.util.logging.Level; @@ -48,6 +49,8 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; +import org.adempiere.base.Core; +import org.adempiere.base.IColumnCallout; import org.adempiere.plaf.AdempiereLookAndFeel; import org.adempiere.plaf.AdempierePLAF; import org.compiere.apps.ADialog; @@ -786,12 +789,14 @@ public class GridController extends CPanel // Process Callout GridField mField = m_mTab.getField(col); - if (mField != null - && (mField.getCallout().length() > 0 || m_mTab.hasDependants(mField.getColumnName()))) - { - String msg = m_mTab.processFieldChange(mField); // Dependencies & Callout - if (msg.length() > 0) - ADialog.error(m_WindowNo, this, msg); + if (mField!=null) { + List callouts = Core.findCallout(m_mTab.getTableName(), mField.getColumnName()); + if (mField.getCallout().length() > 0 || callouts.size()>0 || m_mTab.hasDependants(mField.getColumnName())) + { + String msg = m_mTab.processFieldChange(mField); // Dependencies & Callout + if (msg.length() > 0) + ADialog.error(m_WindowNo, this, msg); + } } //if (col >= 0) dynamicDisplay(col); diff --git a/equinox-target/build.xml b/equinox-target/build.xml index fb545857f8..e4addb3f5f 100644 --- a/equinox-target/build.xml +++ b/equinox-target/build.xml @@ -40,9 +40,11 @@ the following responsibilities: - + + +