X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fui%2FConfigEditor.java;h=b2182adb34fd689717cbca9d3ea147f348d1842f;hb=76b51de96af0b8dfa9615db37823fffd093fcfe3;hp=fb98eba01f72458ca21f5c97302350b058206ba5;hpb=49f79f31c728cc9a39b695a559404faa9a15f9b3;p=fanfix.git diff --git a/src/be/nikiroo/utils/ui/ConfigEditor.java b/src/be/nikiroo/utils/ui/ConfigEditor.java index fb98eba..b2182ad 100644 --- a/src/be/nikiroo/utils/ui/ConfigEditor.java +++ b/src/be/nikiroo/utils/ui/ConfigEditor.java @@ -15,6 +15,7 @@ import javax.swing.JScrollPane; import javax.swing.border.EmptyBorder; import be.nikiroo.utils.resources.Bundle; +import be.nikiroo.utils.resources.MetaInfo; /** * A configuration panel for a {@link Bundle}. @@ -24,13 +25,13 @@ import be.nikiroo.utils.resources.Bundle; * values. * * @author niki - * + * * @param * the type of {@link Bundle} to edit */ public class ConfigEditor> extends JPanel { private static final long serialVersionUID = 1L; - private List> items; + private List> items; /** * Create a new {@link ConfigEditor} for this {@link Bundle}. @@ -54,24 +55,26 @@ public class ConfigEditor> extends JPanel { main.add(new JLabel(title)); - items = ConfigItem.getItems(type, bundle); - for (ConfigItem item : items) { - main.add(item); + items = MetaInfo.getItems(type, bundle); + for (MetaInfo item : items) { + addItem(main, item); } main.add(createButton("Reset", new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { - for (ConfigItem item : items) { + for (MetaInfo item : items) { item.reload(); } } })); main.add(createButton("Default", new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { Object snap = bundle.takeSnapshot(); bundle.reload(true); - for (ConfigItem item : items) { + for (MetaInfo item : items) { item.reload(); } bundle.reload(false); @@ -80,8 +83,9 @@ public class ConfigEditor> extends JPanel { })); main.add(createButton("Save", new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { - for (ConfigItem item : items) { + for (MetaInfo item : items) { item.save(); } @@ -94,6 +98,17 @@ public class ConfigEditor> extends JPanel { })); } + private void addItem(JPanel main, MetaInfo item) { + if (item.isGroup()) { + // TODO + for (MetaInfo subitem : item) { + addItem(main, subitem); + } + } else { + main.add(new ConfigItem(item)); + } + } + /** * Add an action button for this action. *