1 14 package org.compiere.grid; 15 16 import java.awt.*; 17 import java.awt.event.*; 18 import javax.swing.*; 19 import javax.swing.table.*; 20 import java.beans.*; 21 22 import org.compiere.grid.ed.*; 23 import org.compiere.util.*; 24 import org.compiere.model.*; 25 import org.compiere.swing.*; 26 27 33 public final class VTable extends CTable implements PropertyChangeListener 34 { 35 38 public VTable() 39 { 40 super(); 41 } 43 49 public void propertyChange(PropertyChangeEvent evt) 50 { 51 if (evt.getPropertyName().equals(MTab.PROPERTY)) 53 { 54 int row = ((Integer )evt.getNewValue()).intValue(); 55 int selRow = getSelectedRow(); 56 if (row == selRow) 57 return; 58 Log.trace(Log.l3_Util, "VTable.propertyChange", MTab.PROPERTY + "=" + row + " from " + selRow); 59 setRowSelectionInterval(row,row); 60 } 62 } 64 75 public int getColorCode (int row) 76 { 77 return ((MTable)getModel()).getColorCode(row); 78 } 80 84 protected void sort (int modelColumnIndex) 85 { 86 int rows = getRowCount(); 87 if (rows == 0) 88 return; 89 TableModel model = getModel(); 91 if (!(model instanceof MTable)) 92 { 93 super.sort(modelColumnIndex); 94 return; 95 } 96 97 if (modelColumnIndex != p_lastSortIndex) 99 p_asc = true; 100 else 101 p_asc = !p_asc; 102 103 p_lastSortIndex = modelColumnIndex; 104 Log.trace(Log.l3_Util, "VTable.sort #" + modelColumnIndex, 106 "rows=" + rows + ", asc=" + p_asc); 107 108 ((MTable)model).sort(modelColumnIndex, p_asc); 109 } 112 120 public boolean editCellAt (int row, int column, java.util.EventObject e) 121 { 122 if (!super.editCellAt(row, column, e)) 123 return false; 124 126 Object ed = getCellEditor(); 127 if (ed instanceof VEditor) 128 ((Component)ed).requestFocus(); 129 else if (ed instanceof VCellEditor) 130 { 131 ed = ((VCellEditor)ed).getEditor(); 132 ((Component)ed).requestFocus(); 133 } 134 return true; 135 } 137 141 public String toString() 142 { 143 return new StringBuffer ("VTable[").append(getModel()).append("]").toString(); 144 } 146 147 151 public void removeAll() 152 { 153 super.removeAll(); 154 175 } } | Popular Tags |