X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fui%2FConfigEditor.java;h=c687c98fee5637dfb8e10b7bad32f6be102ef9d5;hb=aa9c3626f962e59ac7460d8ac6645a6e30a4d248;hp=2651db10e481abef512290a2859dcde672be31b2;hpb=db31c35860081535d6e7ddc83ab4af573bb0522e;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/ui/ConfigEditor.java b/src/be/nikiroo/utils/ui/ConfigEditor.java deleted file mode 100644 index 2651db1..0000000 --- a/src/be/nikiroo/utils/ui/ConfigEditor.java +++ /dev/null @@ -1,117 +0,0 @@ -package be.nikiroo.utils.ui; - -import java.awt.BorderLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.IOException; -import java.util.List; - -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.border.EmptyBorder; - -import be.nikiroo.utils.resources.Bundle; -import be.nikiroo.utils.resources.TransBundle; - -/** - * A configuration panel for a {@link Bundle}. - *

- * All the items in the given {@link Bundle} will be displayed in editable - * controls, with options to Save, Reset and/or Reset to the application default - * 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; - - /** - * Create a new {@link ConfigEditor} for this {@link Bundle}. - * - * @param type - * a class instance of the item type to work on - * @param bundle - * the {@link Bundle} to sort through - * @param title - * the title to display before the options - */ - public ConfigEditor(Class type, final Bundle bundle, String title) { - this.setLayout(new BorderLayout()); - JPanel main = new JPanel(); - - JScrollPane scroll = new JScrollPane(main); - scroll.getVerticalScrollBar().setUnitIncrement(16); - this.add(scroll, BorderLayout.CENTER); - - main.setLayout(new BoxLayout(main, BoxLayout.PAGE_AXIS)); - - main.add(new JLabel(title)); - - items = ConfigItem.getItems(type, bundle); - for (ConfigItem item : items) { - main.add(item); - } - - main.add(createButton("Reset", new ActionListener() { - public void actionPerformed(ActionEvent e) { - for (ConfigItem item : items) { - item.reload(); - } - } - })); - - main.add(createButton("Default", new ActionListener() { - public void actionPerformed(ActionEvent e) { - Object snap = bundle.takeSnapshot(); - bundle.reload(true); - for (ConfigItem item : items) { - item.reload(); - } - bundle.reload(false); - bundle.restoreSnapshot(snap); - } - })); - - main.add(createButton("Save", new ActionListener() { - public void actionPerformed(ActionEvent e) { - for (ConfigItem item : items) { - item.save(); - } - - try { - bundle.updateFile(); - } catch (IOException e1) { - e1.printStackTrace(); - } - } - })); - } - - /** - * Add an action button for this action. - * - * @param title - * the action title - * @param listener - * the action - */ - private JComponent createButton(String title, ActionListener listener) { - JButton button = new JButton(title); - button.addActionListener(listener); - - JPanel panel = new JPanel(); - panel.setLayout(new BorderLayout()); - panel.setBorder(new EmptyBorder(2, 10, 2, 10)); - panel.add(button, BorderLayout.CENTER); - - return panel; - } -}