X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2Fui%2FGuiReaderPropertiesFrame.java;h=deddc3cd84dbbd10b0355853487247bf46ef7e61;hb=5beb7cdca74ad803e6863af8e73dcd97106eef44;hp=5a647de5a28d7080347626f4ea14588469154ea0;hpb=14bb95fae33d405c0a43682c144d081bfbcad545;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java b/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java index 5a647de..deddc3c 100644 --- a/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java +++ b/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java @@ -1,84 +1,38 @@ package be.nikiroo.fanfix.reader.ui; import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Font; -import java.util.List; -import java.util.Map.Entry; -import javax.swing.BorderFactory; -import javax.swing.BoxLayout; -import javax.swing.ImageIcon; import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextArea; import be.nikiroo.fanfix.data.MetaData; -import be.nikiroo.fanfix.reader.BasicReader; -import be.nikiroo.fanfix.reader.Reader; - +import be.nikiroo.fanfix.data.Story; +import be.nikiroo.fanfix.library.BasicLibrary; + +/** + * A frame displaying properties and other information of a {@link Story}. + * + * @author niki + */ public class GuiReaderPropertiesFrame extends JFrame { private static final long serialVersionUID = 1L; - public GuiReaderPropertiesFrame(Reader reader, MetaData meta) { - // Borders - int top = 20; - int space = 10; - - // Image - ImageIcon img = GuiReaderCoverImager.generateCoverIcon( - reader.getLibrary(), meta); - - // frame + /** + * Create a new {@link GuiReaderPropertiesFrame}. + * + * @param ib + * the library to use for the cover image + * @param meta + * the meta to describe + */ + public GuiReaderPropertiesFrame(BasicLibrary lib, MetaData meta) { setTitle(meta.getLuid() + ": " + meta.getTitle()); - setSize(800, img.getIconHeight() + 2 * top); - setLayout(new BorderLayout()); - - // Main panel - JPanel mainPanel = new JPanel(new BorderLayout()); - JPanel mainPanelKeys = new JPanel(); - mainPanelKeys.setLayout(new BoxLayout(mainPanelKeys, BoxLayout.Y_AXIS)); - JPanel mainPanelValues = new JPanel(); - mainPanelValues.setLayout(new BoxLayout(mainPanelValues, - BoxLayout.Y_AXIS)); - - mainPanel.add(mainPanelKeys, BorderLayout.WEST); - mainPanel.add(mainPanelValues, BorderLayout.CENTER); + GuiReaderPropertiesPane desc = new GuiReaderPropertiesPane(lib, meta); + setSize(800, + (int) desc.getPreferredSize().getHeight() + 2 + * desc.getBorderThickness()); - List> infos = BasicReader.getMetaDesc(meta); - - Color trans = new Color(0, 0, 0, 1); - for (Entry info : infos) { - JTextArea key = new JTextArea(info.getKey()); - key.setFont(new Font(key.getFont().getFontName(), Font.BOLD, key - .getFont().getSize())); - key.setEditable(false); - key.setLineWrap(false); - key.setBackground(trans); - mainPanelKeys.add(key); - - JTextArea value = new JTextArea(info.getValue()); - value.setEditable(false); - value.setLineWrap(false); - value.setBackground(trans); - mainPanelValues.add(value); - } - - // Image - JLabel imgLabel = new JLabel(img); - imgLabel.setVerticalAlignment(JLabel.TOP); - - // Borders - mainPanelKeys.setBorder(BorderFactory.createEmptyBorder(top, space, 0, - 0)); - mainPanelValues.setBorder(BorderFactory.createEmptyBorder(top, space, - 0, 0)); - imgLabel.setBorder(BorderFactory.createEmptyBorder(0, space, 0, 0)); - - // Add all - add(imgLabel, BorderLayout.WEST); - add(mainPanel, BorderLayout.CENTER); + setLayout(new BorderLayout()); + add(desc, BorderLayout.NORTH); } }