Buttons are not working correctly on included tab
Link to SF Tracker: http://sourceforge.net/support/tracker.php?aid=2979169
This commit is contained in:
parent
dbe819c58b
commit
c91726015e
|
@ -20,6 +20,7 @@ import javax.swing.table.AbstractTableModel;
|
|||
|
||||
import org.adempiere.webui.LayoutUtils;
|
||||
import org.adempiere.webui.editor.WEditor;
|
||||
import org.adempiere.webui.panel.AbstractADWindowPanel;
|
||||
import org.adempiere.webui.util.SortComparator;
|
||||
import org.compiere.model.GridField;
|
||||
import org.compiere.model.GridTab;
|
||||
|
@ -52,9 +53,9 @@ import org.zkoss.zul.event.ZulEvents;
|
|||
public class GridPanel extends Borderlayout implements EventListener
|
||||
{
|
||||
/**
|
||||
*
|
||||
* generated serial version ID
|
||||
*/
|
||||
private static final long serialVersionUID = -8735897196875342427L;
|
||||
private static final long serialVersionUID = -7151423393713654553L;
|
||||
|
||||
private static final int MIN_COLUMN_WIDTH = 100;
|
||||
|
||||
|
@ -91,6 +92,8 @@ public class GridPanel extends Borderlayout implements EventListener
|
|||
|
||||
private String columnOnClick;
|
||||
|
||||
private AbstractADWindowPanel windowPanel;
|
||||
|
||||
public static final String PAGE_SIZE_KEY = "ZK_PAGING_SIZE";
|
||||
|
||||
public static final String MODE_LESS_KEY = "ZK_GRID_EDIT_MODELESS";
|
||||
|
@ -328,6 +331,7 @@ public class GridPanel extends Borderlayout implements EventListener
|
|||
renderer.stopEditing(false);
|
||||
renderer = new GridTabRowRenderer(gridTab, windowNo);
|
||||
renderer.setGridPanel(this);
|
||||
renderer.setADWindowPanel(windowPanel);
|
||||
|
||||
listbox.setRowRenderer(renderer);
|
||||
listbox.setModel(listModel);
|
||||
|
@ -608,6 +612,9 @@ public class GridPanel extends Borderlayout implements EventListener
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param columnName
|
||||
*/
|
||||
public void setFocusToField(String columnName) {
|
||||
boolean found = false;
|
||||
for (WEditor editor : renderer.getEditors()) {
|
||||
|
@ -620,4 +627,13 @@ public class GridPanel extends Borderlayout implements EventListener
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param winPanel
|
||||
*/
|
||||
public void setADWindowPanel(AbstractADWindowPanel winPanel) {
|
||||
windowPanel = winPanel;
|
||||
if (renderer != null)
|
||||
renderer.setADWindowPanel(windowPanel);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,6 +79,7 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt, Renderer
|
|||
private Object[] currentValues;
|
||||
private boolean editing = false;
|
||||
private int currentRowIndex = -1;
|
||||
private AbstractADWindowPanel m_windowPanel;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -96,12 +97,19 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt, Renderer
|
|||
if (editor != null) {
|
||||
if (editor instanceof WButtonEditor)
|
||||
{
|
||||
Object window = SessionManager.getAppDesktop().findWindow(windowNo);
|
||||
if (window != null && window instanceof ADWindow)
|
||||
{
|
||||
AbstractADWindowPanel windowPanel = ((ADWindow)window).getADWindowPanel();
|
||||
((WButtonEditor)editor).addActionListener(windowPanel);
|
||||
}
|
||||
if (m_windowPanel != null)
|
||||
{
|
||||
((WButtonEditor)editor).addActionListener(m_windowPanel);
|
||||
}
|
||||
else
|
||||
{
|
||||
Object window = SessionManager.getAppDesktop().findWindow(windowNo);
|
||||
if (window != null && window instanceof ADWindow)
|
||||
{
|
||||
AbstractADWindowPanel windowPanel = ((ADWindow)window).getADWindowPanel();
|
||||
((WButtonEditor)editor).addActionListener(windowPanel);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -150,8 +158,6 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt, Renderer
|
|||
}
|
||||
else if (gridField.isLookup())
|
||||
{
|
||||
if (value == null) return "";
|
||||
|
||||
if (lookupCache != null)
|
||||
{
|
||||
Map<Object, String> cache = lookupCache.get(gridField.getColumnName());
|
||||
|
@ -583,7 +589,17 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt, Renderer
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isEditing() {
|
||||
return editing;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param windowPanel
|
||||
*/
|
||||
public void setADWindowPanel(AbstractADWindowPanel windowPanel) {
|
||||
this.m_windowPanel = windowPanel;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -228,6 +228,7 @@ DataStatusListener, IADTabpanel, VetoableChangeListener
|
|||
this.appendChild(listPanel);
|
||||
listPanel.setVisible(false);
|
||||
listPanel.setWindowNo(windowNo);
|
||||
listPanel.setADWindowPanel(winPanel);
|
||||
|
||||
gridTab.getTableModel().addVetoableChangeListener(this);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue