package lemming.ui;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.lang.reflect.Array;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Locale;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.filechooser.FileFilter;
import lemming.fiche.*;
import lemming.lemma.*;
import lemming.reference.*;
import lemming.rule.*;
import javax.swing.table.*;
public class Lemmatiser extends JPanel
implements ActionListener {
private FicheDBAccess ficheAccess;
private ReferenceDBAccess referenceAccess;
private String profileDir;
private String ruleFilename;
private GridBagLayout gbl;
private JPanel searchPanel;
private JPanel tablePanel;
private JPanel listPanel;
private JPanel buttonPanel;
private JPanel listButtonPanel;
private JPanel tableButtonPanel;
public Lemmatiser(FicheDBAccess ficheAccess,
ReferenceDBAccess referenceAccess,
String profileDir, String ruleFilename) {
super();
this.ficheAccess = ficheAccess;
this.referenceAccess = referenceAccess;
this.profileDir = profileDir;
this.ruleFilename = ruleFilename;
gbl = new GridBagLayout();
this.setLayout(gbl);
this.addPanels();
//this.addSearchFunctions();
this.addTable();
this.setBackground(Color.GREEN);
}
public void actionPerformed(ActionEvent e) {}
private void addPanels() {
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
searchPanel = new JPanel();
searchPanel.setBackground(Color.YELLOW);
gbc.anchor = GridBagConstraints.FIRST_LINE_START;
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 0.6;
gbc.weighty = 0.2;
gbl.setConstraints(searchPanel, gbc);
this.add(searchPanel);
tablePanel = new JPanel();
tablePanel.setBackground(Color.CYAN);
gbc.gridy = 1;
gbc.weightx = 0.6;
gbc.weighty = 0.6;
gbl.setConstraints(tablePanel, gbc);
this.add(tablePanel);
listPanel = new JPanel();
listPanel.setBackground(Color.BLACK);
gbc.gridx = 1;
gbc.gridy = 0;
gbc.gridheight = 2;
gbc.weightx = 0.2;
gbc.weighty = 0.5;
gbl.setConstraints(listPanel, gbc);
this.add(listPanel);
tableButtonPanel = new JPanel();
tableButtonPanel.setBackground(Color.BLACK);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.weightx = 0.6;
gbc.weighty = 0.2;
gbl.setConstraints(tableButtonPanel, gbc);
this.add(tableButtonPanel);
listButtonPanel = new JPanel();
listButtonPanel.setBackground(Color.RED);
gbc.gridx = 1;
gbc.weightx = 0.2;
gbc.weighty = 0.2;
gbl.setConstraints(listButtonPanel, gbc);
this.add(listButtonPanel);
}
private void addSearchFunctions() {
GridBagLayout searchLayout = new GridBagLayout();
GridBagConstraints searchConstraints = new GridBagConstraints();
searchConstraints.fill = GridBagConstraints.BOTH;
searchPanel.setLayout(searchLayout);
JLabel fromLabel = new JLabel("From");
JLabel toLabel = new JLabel("To");
searchConstraints.gridx = 0;
searchConstraints.gridy = 1;
searchConstraints.insets = new Insets(0, 0, 5, 10);
searchConstraints.weightx = 0.5;
searchLayout.setConstraints(fromLabel, searchConstraints);
searchPanel.add(fromLabel);
searchConstraints.gridx = 1;
searchLayout.setConstraints(toLabel, searchConstraints);
searchPanel.add(toLabel);
JTextField fromField = new JTextField();
JTextField toField = new JTextField();
searchConstraints.gridx = 0;
searchConstraints.gridy = 2;
searchConstraints.insets = new Insets(0, 0, 0, 10);
searchLayout.setConstraints(fromField, searchConstraints);
searchPanel.add(fromField);
searchConstraints.gridx = 1;
searchLayout.setConstraints(toField, searchConstraints);
searchPanel.add(toField);
JPanel radioButtonPanel = new JPanel();
searchConstraints.gridx = 0;
searchConstraints.gridy = 3;
searchConstraints.gridwidth = 2;
searchConstraints.weightx = 1.0;
searchLayout.setConstraints(radioButtonPanel, searchConstraints);
searchPanel.add(radioButtonPanel);
JRadioButton exactButton = new JRadioButton("Exact");
JRadioButton spanButton = new JRadioButton("Span");
JRadioButton rangeButton = new JRadioButton("Range");
FlowLayout flow = new FlowLayout(FlowLayout.LEADING);
radioButtonPanel.setLayout(flow);
radioButtonPanel.add(exactButton);
radioButtonPanel.add(spanButton);
radioButtonPanel.add(rangeButton);
}
private void addTable() {
String[] columnNames = {
"Entry", "Cross Reference", "Lexical Category", "Siglum",
"Reference", "Definition", "Rest", "Database"
};
Object[][] dummy = {{"a","b","a","b","a","b","a","b"},{"a","b","a","b","a","b","a","b"}};
JTable ficheTable = new JTable(dummy, columnNames);
JScrollPane scrollPane = new JScrollPane(ficheTable);
scrollPane.setBackground(Color.YELLOW);
ficheTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
ficheTable.setFillsViewportHeight(true);
tablePanel.setLayout(new BorderLayout());
tablePanel.setBackground(Color.RED);
tablePanel.add(scrollPane, BorderLayout.CENTER);
}
}