package net.sf.jabref;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class PreviewPrefsTab extends JPanel implements PrefsTab {
JabRefPreferences _prefs;
JabRefFrame _frame;
JPanel pan = new JPanel();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints con = new GridBagConstraints();
JTextArea layout1 = new JTextArea("", 1, 1), layout2 = new JTextArea("", 1, 1);
JButton def1 = new JButton(Globals.lang("Default")),
def2 = new JButton(Globals.lang("Default")), test1 = new JButton(Globals.lang("Test")),
test2 = new JButton(Globals.lang("Test")), help;
JPanel p1 = new JPanel(), p2 = new JPanel();
JScrollPane sp1 = new JScrollPane(layout1), sp2 = new JScrollPane(layout2);
private static BibtexEntry entry;
public PreviewPrefsTab(JabRefPreferences prefs) {
_prefs = prefs;
p1.setLayout(gbl);
p2.setLayout(gbl);
setLayout(gbl);
JLabel lab;
lab = new JLabel(Globals.lang("Preview") + " 1");
con.anchor = GridBagConstraints.WEST;
con.gridwidth = GridBagConstraints.REMAINDER;
con.fill = GridBagConstraints.BOTH;
con.weightx = 1;
con.weighty = 0;
con.insets = new Insets(2, 2, 2, 2);
gbl.setConstraints(lab, con);
// p1.add(lab);
con.weighty = 1;
gbl.setConstraints(sp1, con);
p1.add(sp1);
con.weighty = 0;
con.gridwidth = 1;
con.weightx = 0;
con.fill = GridBagConstraints.NONE;
con.anchor = GridBagConstraints.WEST;
gbl.setConstraints(test1, con);
p1.add(test1);
gbl.setConstraints(def1, con);
p1.add(def1);
con.gridwidth = GridBagConstraints.REMAINDER;
JPanel pan = new JPanel();
con.weightx = 1;
gbl.setConstraints(pan, con);
p1.add(pan);
lab = new JLabel(Globals.lang("Preview") + " 2");
gbl.setConstraints(lab, con);
// p2.add(lab);
con.weighty = 1;
con.fill = GridBagConstraints.BOTH;
gbl.setConstraints(sp2, con);
p2.add(sp2);
con.weighty = 0;
con.weightx = 0;
con.fill = GridBagConstraints.NONE;
con.gridwidth = 1;
gbl.setConstraints(test2, con);
p2.add(test2);
gbl.setConstraints(def2, con);
p2.add(def2);
con.gridwidth = 1;
pan = new JPanel();
con.weightx = 1;
gbl.setConstraints(pan, con);
p2.add(pan);
{ // Help Button
HelpAction helpAction = new HelpAction(Globals.helpDiag, GUIGlobals.previewHelp,
Globals.lang("Help on Preview Settings"), GUIGlobals.getIconUrl("helpSmall"));
JButton help = helpAction.getIconButton();
con.weightx = 0;
con.gridwidth = GridBagConstraints.REMAINDER;
gbl.setConstraints(help, con);
p2.add(help);
}
con.weightx = 1;
con.weighty = 0;
con.fill = GridBagConstraints.BOTH;
con.gridwidth = GridBagConstraints.REMAINDER;
lab = new JLabel(Globals.lang("Preview") + " 1");
gbl.setConstraints(lab, con);
add(lab);
con.weighty = 1;
gbl.setConstraints(p1, con);
add(p1);
lab = new JLabel(Globals.lang("Preview") + " 2");
con.weighty = 0;
JSeparator sep = new JSeparator(JSeparator.HORIZONTAL);
gbl.setConstraints(sep, con);
add(sep);
gbl.setConstraints(lab, con);
add(lab);
con.weighty = 1;
gbl.setConstraints(p2, con);
add(p2);
def1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String tmp = layout1.getText().replaceAll("\n", "__NEWLINE__");
_prefs.remove("preview0");
layout1.setText(_prefs.get("preview0").replaceAll("__NEWLINE__", "\n"));
_prefs.put("preview0", tmp);
}
});
def2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String tmp = layout2.getText().replaceAll("\n", "__NEWLINE__");
_prefs.remove("preview1");
layout2.setText(_prefs.get("preview1").replaceAll("__NEWLINE__", "\n"));
_prefs.put("preview1", tmp);
}
});
test1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTestEntry();
PreviewPanel testPanel = new PreviewPanel(null, entry, null , new MetaData(), layout1.getText());
testPanel.setPreferredSize(new Dimension(800, 350));
JOptionPane.showMessageDialog(null, testPanel, Globals.lang("Preview"),
JOptionPane.PLAIN_MESSAGE);
}
});
test2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getTestEntry();
PreviewPanel testPanel = new PreviewPanel(null, entry, null, new MetaData(), layout2.getText());
testPanel.setPreferredSize(new Dimension(800, 350));
JOptionPane.showMessageDialog(null, new JScrollPane(testPanel), Globals
.lang("Preview"), JOptionPane.PLAIN_MESSAGE);
}
});
}
public static BibtexEntry getTestEntry() {
if (entry != null)
return entry;
entry = new BibtexEntry(Util.createNeutralId(), BibtexEntryType.getType("article"));
entry.setField(BibtexFields.KEY_FIELD, "conceicao1997");
entry
.setField(
"author",
"Luis E. C. Conceic{\\~a}o and Terje van der Meeren and Johan A. J. Verreth and M S. Evjen and D. F. Houlihan and H. J. Fyhn");
entry
.setField(
"title",
"Amino acid metabolism and protein turnover in larval turbot (Scophthalmus maximus) fed natural zooplankton or Artemia");
entry.setField("year", "1997");
entry.setField("journal", "Marine Biology");
entry.setField("month", "January");
entry.setField("number", "2");
entry.setField("volume", "123");
entry.setField("pdf", "conceicao1997.pdf");
entry.setField("pages", "255--265");
entry.setField("keywords", "energetics, artemia, metabolism, amino acid, turbot");
entry.setField("url",
"http://ejournals.ebsco.com/direct.asp?ArticleID=TYY4NT82XA9H7R8PFPPV");
entry
.setField(
"abstract",
"Abstract The present paper studied the influence of different food regimes "
+ "on the free amino acid (FAA) pool, the rate of protein turnover, the flux of amino acids, and "
+ "their relation to growth of larval turbot (Scophthalmus maximus L.) from first feeding until "
+ "metamorphosis. The amino acid profile of protein was stable during the larval period although "
+ "some small, but significant, differences were found. Turbot larvae had proteins which were rich "
+ "in leucine and aspartate, and poor in glutamate, suggesting a high leucine requirement. The "
+ "profile of the FAA pool was highly variable and quite different from the amino acid profile in "
+ "protein. The proportion of essential FAA decreased with development. High contents of free tyrosine "
+ "and phenylalanine were found on Day 3, while free taurine was present at high levels throughout "
+ "the experimental period. Larval growth rates were positively correlated with taurine levels, "
+ "suggesting a dietary dependency for taurine and/or sulphur amino acids.\n\nReduced growth rates in "
+ "Artemia-fed larvae were associated with lower levels of free methionine, indicating that this diet "
+ "is deficient in methionine for turbot larvae. Leucine might also be limiting turbot growth as the "
+ "different diet organisms had lower levels of this amino acid in the free pool than was found in the "
+ "larval protein. A previously presented model was used to describe the flux of amino acids in growing "
+ "turbot larvae. The FAA pool was found to be small and variable. It was estimated that the daily dietary "
+ "amino acid intake might be up to ten times the larval FAA pool. In addition, protein synthesis and "
+ "protein degradation might daily remove and return, respectively, the equivalent of up to 20 and 10 "
+ "times the size of the FAA pool. In an early phase (Day 11) high growth rates were associated with a "
+ "relatively low protein turnover, while at a later stage (Day 17), a much higher turnover was observed.");
return entry;
}
public void setValues() {
layout1.setText(_prefs.get("preview0").replaceAll("__NEWLINE__", "\n"));
layout2.setText(_prefs.get("preview1").replaceAll("__NEWLINE__", "\n"));
}
public void storeSettings() {
_prefs.put("preview0", layout1.getText().replaceAll("\n", "__NEWLINE__"));
_prefs.put("preview1", layout2.getText().replaceAll("\n", "__NEWLINE__"));
}
public boolean readyToClose() {
return true;
}
public String getTabName() {
return Globals.lang("Entry preview");
}
}