use of org.compiere.model.Lookup in project adempiere by adempiere.
the class WMerge method preInit.
// preInit
/**
* Pre Init Line
* @param index index
* @param AD_Column_ID id
* @param displayType display type
* @param ColumnName column name
*/
private void preInit(int index, int AD_Column_ID, int displayType, String ColumnName) {
m_columnName[index] = ColumnName;
String what = Msg.translate(Env.getCtx(), ColumnName);
m_label[index] = new Label(what);
Lookup lookup = MLookupFactory.get(Env.getCtx(), m_WindowNo, 0, AD_Column_ID, displayType);
if (displayType == DisplayType.Search) {
m_from[index] = new WSearchEditor(ColumnName, false, false, true, lookup);
m_to[index] = new WSearchEditor(ColumnName, false, false, true, lookup);
} else {
m_from[index] = new WTableDirEditor(ColumnName, false, false, true, lookup);
m_to[index] = new WTableDirEditor(ColumnName, false, false, true, lookup);
}
}
use of org.compiere.model.Lookup in project adempiere by adempiere.
the class GridController method dataStatusChanged.
/**
* Data Status Listener - for MTab events.
* <p>
* Callouts are processed here for GUI changes
* - same as in MTab.setValue for batch changes
* <p>
* calls dynamicDisplay
* @param e event
*/
public void dataStatusChanged(DataStatusEvent e) {
// if (e.getChangedColumn() == 0)
// return;
int col = e.getChangedColumn();
log.config("(" + m_mTab + ") Col=" + col + ": " + e.toString());
// Process Callout
GridField mField = m_mTab.getField(col);
if (mField != null && (mField.getCallout().length() > 0 || m_mTab.hasDependants(mField.getColumnName()))) {
// Dependencies & Callout
String msg = m_mTab.processFieldChange(mField);
if (msg.length() > 0)
ADialog.error(m_WindowNo, this, msg);
}
if (mField != null && mField.isLookup()) {
Lookup lookup = (Lookup) mField.getLookup();
if (lookup != null && lookup instanceof MLookup) {
MLookup mlookup = (MLookup) lookup;
Object value = mField.getValue();
if (mlookup.isAlert() && value != null && value instanceof Integer) {
String alert = MMemo.getAlerts(Env.getCtx(), mlookup.getTableName(), (Integer) value);
if (!Util.isEmpty(alert)) {
VAlert memo = new VAlert(Env.getWindow(m_WindowNo));
memo.setAlwaysOnTop(true);
memo.setText(alert);
AEnv.showCenterScreen(memo);
memo = null;
}
}
}
}
//if (col >= 0)
dynamicDisplay(col);
}
use of org.compiere.model.Lookup in project adempiere by adempiere.
the class GridTabExcelExporter method getValueAt.
@Override
public Object getValueAt(int row, int col) {
GridField f = m_tab.getField(col);
Object key = m_tab.getValue(row, f.getColumnName());
Object value = key;
Lookup lookup = f.getLookup();
if (lookup != null) {
;
} else if (f.getDisplayType() == DisplayType.Button) {
lookup = getButtonLookup(f);
}
//
if (lookup != null) {
value = lookup.getDisplay(key);
}
return value;
}
use of org.compiere.model.Lookup in project adempiere by adempiere.
the class VTableExcelAdapter method actionPerformed.
/**
* This method is activated on the Keystrokes we are listening to
* in this implementation. Here it listens for Copy and Paste ActionCommands.
*
* @param e event
*/
public void actionPerformed(ActionEvent e) {
// Only GridTable model is supported
if (!(table.getModel() instanceof GridTable)) {
if (CLogMgt.isLevelFine())
log.fine("Not supported - " + table.getModel());
return;
}
boolean isCopy = CMD_Copy.equals(e.getActionCommand());
boolean isCopyWithHeaders = CMD_CopyWithHeaders.equals(e.getActionCommand());
if (isCopy || isCopyWithHeaders) {
try {
int[] selectedRows = table.getSelectedRows();
if (selectedRows == null || selectedRows.length == 0) {
return;
}
int colscount = table.getColumnCount();
StringBuffer sb = new StringBuffer();
GridTable model = (GridTable) table.getModel();
GridField[] fields = model.getFields();
// Header
if (isCopyWithHeaders) {
for (int col = 0; col < colscount; col++) {
String value = "";
try {
GridField field = fields[col];
if (!field.isDisplayed(false)) {
continue;
}
value = field.getHeader();
} catch (Exception ex) {
log.log(Level.WARNING, "Copy-headers", ex);
}
value = fixString(value);
sb.append(value).append("\t");
}
sb.append(Env.NL);
}
// Selected rows
for (int row : selectedRows) {
for (int col = 0; col < colscount; col++) {
Lookup lookup = null;
String value = null;
Object key = null;
GridField field = null;
try {
key = table.getValueAt(row, col);
field = fields[col];
if (!field.isDisplayed(false))
continue;
if (field.isEncryptedColumn() || field.isEncryptedField()) {
value = "*";
} else if (key instanceof Boolean) {
value = Msg.getMsg(Env.getCtx(), ((Boolean) key).booleanValue() ? "Yes" : "No");
} else if (key instanceof BigDecimal) {
try {
value = sysNumberFormat.format(key != null ? key : Env.ZERO);
} catch (Exception ex) {
}
} else if (key instanceof Date) {
try {
value = sysDateFormat.format(key);
} catch (Exception ex) {
}
} else {
lookup = (field != null ? field.getLookup() : null);
value = (lookup != null && key != null ? lookup.getDisplay(key) : null);
if (value == null && key != null)
value = key.toString();
}
} catch (Exception ex) {
log.log(Level.WARNING, "Copy-rows", ex);
}
value = fixString(value);
sb.append(value).append("\t");
if (CLogMgt.isLevelFinest())
log.finest("col=" + col + ", row=" + row + ": key=" + key + " => value=" + value + ", " + field + ", " + lookup);
}
sb.append(Env.NL);
}
StringSelection stsel = new StringSelection(sb.toString());
system = Toolkit.getDefaultToolkit().getSystemClipboard();
system.setContents(stsel, stsel);
} catch (Exception ex) {
log.log(Level.WARNING, "Copy", ex);
}
}
}
use of org.compiere.model.Lookup in project adempiere by adempiere.
the class WAccount method fillTable.
private table fillTable(WWindowStatus ws, GridField mField, String target) {
table table = new table("1");
tr line = new tr();
line.addElement(new th(" ")).addElement(new th(Msg.translate(ws.ctx, "Name")));
table.addElement(line);
Lookup lookup = mField.getLookup();
lookup.fillComboBox(mField.isMandatory(false), true, true, true);
int size = lookup.getSize();
for (int i = 0; i < size; i++) {
Object lValue = lookup.getElementAt(i);
if (!(lValue != null && lValue instanceof KeyNamePair))
continue;
KeyNamePair np = (KeyNamePair) lValue;
button button = new button();
button.addElement(">");
StringBuffer script = new StringBuffer(target);
script.append("D.value='").append(np.getKey()).append("';").append(target).append("F.value='").append(np.getName()).append("';window.close();");
button.setOnClick(script.toString());
line = new tr();
line.addElement(new td(button));
String name = np.getName();
if (name == null || name.length() == 0)
name = " ";
line.addElement(new td(name));
table.addElement(line);
}
lookup.fillComboBox(true);
return table;
}
Aggregations