package demo18.client; import org.openswing.swing.table.client.GridController; import java.util.*; import org.openswing.swing.message.receive.java.*; import org.openswing.swing.message.send.java.FilterWhereClause; import org.openswing.swing.table.java.GridDataLocator; import org.openswing.swing.mdi.client.MDIFrame; import java.awt.Color; import demo18.java.*; import org.openswing.swing.util.client.ClientUtils; /** * <p>Title: OpenSwing Framework</p> * <p>Description: Grid controller for employees.</p> * <p>Copyright: Copyright (C) 2006 Mauro Carniel</p> * <p> </p> * @author Mauro Carniel * @version 1.0 */ public class EmpGridFrameController extends GridController { private EmpGridFrame grid = null; public EmpGridFrameController() { grid = new EmpGridFrame(this); MDIFrame.add(grid); } /** * Callback method invoked when the user has double clicked on the selected row of the grid. * @param rowNumber selected row index * @param persistentObject v.o. related to the selected row */ public void doubleClick(int rowNumber,ValueObject persistentObject) { GridEmpVO vo = (GridEmpVO)persistentObject; new EmpDetailFrameController(grid,vo.getEmpCode()); } /** * Method invoked when the user has clicked on delete button and the grid is in READONLY mode. * @param persistentObjects value objects to delete (related to the currently selected rows) * @return an ErrorResponse value object in case of errors, VOResponse if the operation is successfully completed */ public Response deleteRecords(ArrayList persistentObjects) throws Exception { return ClientUtils.getData("deleteEmps",persistentObjects); } /** * Method used to define the background color for each cell of the grid. * @param rowNumber selected row index * @param attributedName attribute name related to the column currently selected * @param value object contained in the selected cell * @return background color of the selected cell */ public Color getBackgroundColor(int row,String attributedName,Object value) { if (attributedName.equals("deptCode")) { if (value.equals("SF")) return new Color(255,100,100); else if (value.equals("S")) return new Color(210,100,100); else if (value.equals("P")) return new Color(170,100,100); } return super.getBackgroundColor(row,attributedName,value); } }