1 14 package org.compiere.apps.search; 15 16 import javax.swing.*; 17 import java.awt.*; 18 import java.util.*; 19 import javax.swing.event.*; 20 import javax.swing.table.*; 21 22 import org.compiere.util.*; 23 import org.compiere.grid.ed.*; 24 import org.compiere.model.*; 25 26 34 public final class FindValueEditor extends AbstractCellEditor implements TableCellEditor 35 { 36 41 public FindValueEditor (Find find, boolean value2) 42 { 43 super(); 44 m_find = find; 45 m_value2 = value2; 46 } 47 48 private Find m_find; 49 private boolean m_value2; 50 private boolean m_between; 51 52 private VEditor m_editor = null; 53 54 59 public Object getCellEditorValue() 60 { 61 if (m_editor == null) 63 return null; 64 Object obj = m_editor.getValue(); if (obj == null) 66 return null; 67 String retValue = obj.toString(); 69 return retValue; 70 } 72 82 public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int col) 83 { 84 m_between = false; 87 Object betw = table.getModel().getValueAt(row, Find.INDEX_OPERATOR); 88 if (betw != null && betw.toString().equals(MQuery.OPERATORS[MQuery.BETWEEN_INDEX].toString())) 89 m_between = true; 90 91 String columnName = null; 92 Object column = table.getModel().getValueAt(row, Find.INDEX_COLUMNNAME); 93 if (column != null) 94 columnName = ((ValueNamePair)column).getValue(); 95 96 MField field = m_find.getTargetMField(columnName); 98 m_editor = VEditorFactory.getEditor(field, true); 100 if (m_editor == null) 101 m_editor = new VString(); 102 103 m_editor.setValue(value); 104 m_editor.setReadWrite(true); 105 m_editor.setBorder(null); 106 return (Component)m_editor; 108 } 110 115 public boolean isCellEditable (EventObject e) 116 { 117 if (m_value2 && !m_between) 118 return false; 119 return true; 120 } 122 } | Popular Tags |