}
}
public static ComboBoxEditor getTextDateTimeEditor() {
final ContainerComboBoxEditor editor = new ContainerComboBoxEditor();
final NamedObject keyText = new NamedObject("text", "1Ab");
final BasicComboBoxEditor textEditor = new FixedBasicComboBoxEditor(){
private Object oldItem;
@Override
public void setItem(Object object) {
oldItem = object;
if(object instanceof FormattedDate)
super.setItem("");
else
super.setItem(object);
}
@Override
public Object getItem() {
final Object item = super.getItem();
final Object oldItem = this.oldItem;
this.oldItem = null;
if(item != null && oldItem != null && item.toString().equals(oldItem.toString()))
return oldItem;
if(ResourceController.getResourceController().getBooleanProperty("parse_data")
&& item instanceof String){
final Object scannedObject = ScannerController.getController().parse((String)item);
return scannedObject;
}
return item;
}
};
editor.put(keyText, textEditor);
final NamedObject keyDate = new NamedObject("date", "");
keyDate.setIcon(dateIcon);
final TimeComboBoxEditor dateComboBoxEditor = new TimeComboBoxEditor(false){
@Override
public void setItem(Object object) {
if(object instanceof FormattedDate && !((FormattedDate)object).containsTime())
super.setItem(object);
else
super.setItem(null);
}
};
dateComboBoxEditor.setItem();
editor.put(keyDate, dateComboBoxEditor);
final NamedObject keyDateTime = new NamedObject("date_time", "");
keyDateTime.setIcon(dateTimeIcon);
final TimeComboBoxEditor dateTimeComboBoxEditor = new TimeComboBoxEditor(true){
@Override
public void setItem(Object object) {
if(object instanceof FormattedDate && ((FormattedDate)object).containsTime())
super.setItem(object);