package com.universalbits.conorganizer.badger.ui;
import com.universalbits.conorganizer.badger.model.BadgeInfo;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
public class BadgeDialog extends JDialog {
private static final long serialVersionUID = 1L;
private static final int EMPTY_BORDER_SIZE = 3;
public BadgeDialog(JFrame frame, BadgeInfo badgeInfo) {
super(frame, true);
final JComponent contentPane = (JComponent) this.getContentPane();
JPanel gridPanel = new JPanel(new GridLayout(badgeInfo.size() + 1, 3));
final List<String> keys = new ArrayList<>();
keys.addAll(badgeInfo.keySet());
Collections.sort(keys);
for (String key : keys) {
final JTextField keyField = new JTextField(key);
keyField.setBorder(new EmptyBorder(EMPTY_BORDER_SIZE, EMPTY_BORDER_SIZE, EMPTY_BORDER_SIZE, EMPTY_BORDER_SIZE));
final JTextField valueField = new JTextField(badgeInfo.get(key));
valueField.setBorder(new EmptyBorder(EMPTY_BORDER_SIZE, EMPTY_BORDER_SIZE, EMPTY_BORDER_SIZE, EMPTY_BORDER_SIZE));
HashMap<String, KeyComponents> keyMap = new HashMap<>();
keyMap.put(key, new KeyComponents(keyField, valueField));
gridPanel.add(keyField);
gridPanel.add(valueField);
gridPanel.add(new JButton("X"));
}
contentPane.add(new JScrollPane(gridPanel));
setSize(300, 500);
setLocationRelativeTo(frame);
}
private class KeyComponents {
private JComponent keyField;
private JComponent valueField;
public KeyComponents(JComponent keyField, JComponent valueField) {
this.keyField = keyField;
this.valueField = valueField;
}
public JComponent getKeyField() {
return keyField;
}
public JComponent getValueField() {
return valueField;
}
}
}