Search in sources :

Example 1 with ContainerComboBoxEditor

use of org.freeplane.core.ui.components.ContainerComboBoxEditor in project freeplane by freeplane.

the class FrameController method getTextDateTimeEditor.

public static ComboBoxEditor getTextDateTimeEditor() {
    final ContainerComboBoxEditor editor = new ContainerComboBoxEditor();
    final TranslatedObject keyText = new TranslatedObject("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 TranslatedObject keyDate = new TranslatedObject("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 TranslatedObject keyDateTime = new TranslatedObject("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);
            else
                super.setItem(null);
        }
    };
    dateTimeComboBoxEditor.setItem();
    editor.put(keyDateTime, dateTimeComboBoxEditor);
    return editor;
}
Also used : BasicComboBoxEditor(javax.swing.plaf.basic.BasicComboBoxEditor) FixedBasicComboBoxEditor(org.freeplane.core.ui.FixedBasicComboBoxEditor) FormattedDate(org.freeplane.features.format.FormattedDate) StyleTranslatedObject(org.freeplane.features.styles.StyleTranslatedObject) TranslatedObject(org.freeplane.core.resources.TranslatedObject) FixedBasicComboBoxEditor(org.freeplane.core.ui.FixedBasicComboBoxEditor) TimeComboBoxEditor(org.freeplane.features.time.TimeComboBoxEditor) ContainerComboBoxEditor(org.freeplane.core.ui.components.ContainerComboBoxEditor) StyleTranslatedObject(org.freeplane.features.styles.StyleTranslatedObject) TranslatedObject(org.freeplane.core.resources.TranslatedObject) FormattedObject(org.freeplane.features.format.FormattedObject)

Aggregations

BasicComboBoxEditor (javax.swing.plaf.basic.BasicComboBoxEditor)1 TranslatedObject (org.freeplane.core.resources.TranslatedObject)1 FixedBasicComboBoxEditor (org.freeplane.core.ui.FixedBasicComboBoxEditor)1 ContainerComboBoxEditor (org.freeplane.core.ui.components.ContainerComboBoxEditor)1 FormattedDate (org.freeplane.features.format.FormattedDate)1 FormattedObject (org.freeplane.features.format.FormattedObject)1 StyleTranslatedObject (org.freeplane.features.styles.StyleTranslatedObject)1 TimeComboBoxEditor (org.freeplane.features.time.TimeComboBoxEditor)1