Revision 43913 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.coreplugin.app/org.gvsig.coreplugin.app.mainplugin/src/main/java/org/gvsig/coreplugin/preferences/general/IconThemePage.java

View differences:

IconThemePage.java
22 22
 */
23 23
package org.gvsig.coreplugin.preferences.general;
24 24

  
25
import com.lowagie.text.ListItem;
25 26
import java.awt.BorderLayout;
26 27
import java.util.prefs.Preferences;
27 28

  
28
import javax.swing.ComboBoxModel;
29
import javax.swing.DefaultComboBoxModel;
29 30
import javax.swing.ImageIcon;
30 31
import javax.swing.JPanel;
31
import javax.swing.event.ListDataListener;
32
import org.apache.commons.lang3.StringUtils;
32 33

  
33 34
import org.gvsig.andami.IconThemeHelper;
34 35
import org.gvsig.andami.preferences.AbstractPreferencePage;
35 36
import org.gvsig.andami.preferences.StoreException;
36 37
import org.gvsig.i18n.Messages;
38
import org.gvsig.tools.swing.api.ListElement;
37 39
import org.gvsig.tools.swing.api.ToolsSwingLocator;
38 40
import org.gvsig.tools.swing.icontheme.IconTheme;
39 41
import org.gvsig.tools.swing.icontheme.IconThemeManager;
......
81 83
        final IconThemeManager iconManager = ToolsSwingLocator.getIconThemeManager();
82 84
        Preferences prefs = Preferences.userRoot().node("gvsig.icontheme");
83 85
        String themeId = prefs.get("default-theme",null);
84
        panel.combo_selection.setSelectedItem(iconManager.get(themeId));
86
        ListElement.setSelected(panel.combo_selection, iconManager.get(themeId));
85 87
    }
86 88

  
87 89
    @Override
88 90
    public void storeValues() throws StoreException {
89
        IconTheme iconTheme = (IconTheme) panel.combo_selection.getSelectedItem();
91
        IconTheme iconTheme = (IconTheme) ListElement.getSelected(panel.combo_selection);
90 92
        if (iconTheme != null && iconTheme != iconTheme.getDefault()) {
91 93
            Preferences prefs = Preferences.userRoot().node("gvsig.icontheme");
92 94
            prefs.put("default-theme", iconTheme.getID());
......
125 127

  
126 128
        this.panel = new IconThemePageLayout();
127 129

  
128
        panel.combo_selection.setModel(new ComboBoxModel() {
129
            IconTheme selected = null;
130
        DefaultComboBoxModel<ListElement<IconTheme>> model = new DefaultComboBoxModel<>();
131
        for (int i = 0; i < iconManager.getCount(); i++) {
132
            IconTheme iconTheme = iconManager.get(i);
133
            model.addElement(new ListElement<>(
134
                    StringUtils.abbreviate(iconTheme.toString(), 60),
135
                    iconTheme
136
                )
137
            );
138
        }
139
        this.panel.combo_selection.setModel(model);
130 140

  
131
            @Override
132
            public void removeListDataListener(ListDataListener arg0) {
133
                // Do nothing
134
            }
135

  
136
            @Override
137
            public int getSize() {
138
                return iconManager.getCount();
139
            }
140

  
141
            @Override
142
            public Object getElementAt(int arg0) {
143
                return iconManager.get(arg0);
144
            }
145

  
146
            @Override
147
            public void addListDataListener(ListDataListener arg0) {
148
                // Do nothing
149
            }
150

  
151
            @Override
152
            public void setSelectedItem(Object arg0) {
153
                this.selected = (IconTheme) arg0;
154
            }
155

  
156
            @Override
157
            public Object getSelectedItem() {
158
                return this.selected;
159
            }
160
        });
161

  
162 141
        // Traducir las etiquetas del panel
163 142
        panel.label_title.setText(translate(panel.label_title.getText()));
164 143
        panel.label_selection.setText(translate(panel.label_selection.getText()));
......
185 164
//            theme.export(f);
186 165
//        }
187 166
//    }
167

  
168

  
169
    @Override
170
    public boolean isResizeable() {
171
        return true;
172
    }
173
   
188 174
}

Also available in: Unified diff