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
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