package edu.harvard.wcfia.yoshikoder.ui; import javax.swing.BorderFactory; import javax.swing.JComboBox; import edu.harvard.wcfia.yoshikoder.Yoshikoder; import edu.harvard.wcfia.yoshikoder.document.DocumentList; import edu.harvard.wcfia.yoshikoder.document.YKDocument; public class ComparisonPanel extends FormPanel { protected Yoshikoder yoshikoder; protected JComboBox doc1combo; protected JComboBox doc2combo; public ComparisonPanel(Yoshikoder yk) { super(); yoshikoder = yk; DocumentList dl = yk.getProject().getDocumentList(); YKDocument[] docarray = (YKDocument[])dl.toArray(new YKDocument[dl.size()]); doc1combo = new JComboBox(docarray); doc2combo = new JComboBox(docarray); YKDocument doc = yoshikoder.getSelectedDocument(); if (doc != null){ doc1combo.setSelectedItem(doc); int index = doc1combo.getSelectedIndex(); if ((index+1) < docarray.length) doc2combo.setSelectedIndex(index+1); else if ((index-1 >= 0)) doc2combo.setSelectedIndex(index-1); else doc2combo.setSelectedIndex(index); // ? } else { doc1combo.setSelectedIndex(0); doc2combo.setSelectedIndex(1); } addWidgetInlineFixedWidth("Compare", doc1combo); addWidgetInlineFixedWidth("to", doc2combo); setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); } public void setFirstDocument(YKDocument doc){ doc1combo.setSelectedItem(doc); } public void setSecondDocument(YKDocument doc){ doc2combo.setSelectedItem(doc); } public YKDocument getFirstDocument(){ return (YKDocument)doc1combo.getSelectedItem(); } public YKDocument getSecondDocument(){ return (YKDocument)doc2combo.getSelectedItem(); } public void commit() throws CommitException { } }