Merge branch 'subtree'
[nikiroo-utils.git] / src / be / nikiroo / utils / ui / ConfigItemCombobox.java
index 32bc7e72ac4c938504fc559806144093774b7176..07a61157261dd03c2a7acb9e068338f29a16ce37 100644 (file)
@@ -9,6 +9,7 @@ class ConfigItemCombobox<E extends Enum<E>> extends ConfigItem<E> {
        private static final long serialVersionUID = 1L;
 
        private boolean editable;
+       private String[] allowedValues;
 
        /**
         * Create a new {@link ConfigItemCombobox} for the given {@link MetaInfo}.
@@ -21,6 +22,7 @@ class ConfigItemCombobox<E extends Enum<E>> extends ConfigItem<E> {
        public ConfigItemCombobox(MetaInfo<E> info, boolean editable) {
                super(info, true);
                this.editable = editable;
+               this.allowedValues = info.getAllowedValues();
        }
 
        @Override
@@ -37,7 +39,7 @@ class ConfigItemCombobox<E extends Enum<E>> extends ConfigItem<E> {
 
        @Override
        protected Object getFromInfo(int item) {
-               return info.getString(item, false);
+               return getInfo().getString(item, false);
        }
 
        @Override
@@ -52,14 +54,14 @@ class ConfigItemCombobox<E extends Enum<E>> extends ConfigItem<E> {
 
        @Override
        protected void setToInfo(Object value, int item) {
-               info.setString((String) value, item);
+               getInfo().setString((String) value, item);
        }
 
        // rawtypes for Java 1.6 (and 1.7 ?) support
        @SuppressWarnings({ "unchecked", "rawtypes" })
        @Override
-       protected JComponent createField(int item) {
-               JComboBox field = new JComboBox(info.getAllowedValues());
+       protected JComponent createEmptyField(int item) {
+               JComboBox field = new JComboBox(allowedValues);
                field.setEditable(editable);
                return field;
        }