school/cs240/record-indexer/src/client/components/SplitBase.java

75 lines
2.2 KiB
Java
Raw Normal View History

2016-04-06 20:50:11 -07:00
package client.components;
import client.communication.Communicator;
import client.components.fieldHelp.FieldHelp;
import client.components.formEntry.FormEntry;
import client.persistence.SyncContext;
import client.components.tableEntry.TableEntry;
import client.persistence.Cell;
import client.persistence.ImageState;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
public class SplitBase extends JSplitPane {
private ImageState imageState;
private JTabbedPane tabbedPane;
private TableEntry tableEntry;
private FormEntry formEntry;
private Communicator communicator;
public SplitBase(ImageState imageState, Communicator communicator) {
this.imageState = imageState;
this.communicator = communicator;
setupView();
}
private void setupView() {
tabbedPane = new JTabbedPane();
tabbedPane.addChangeListener(changeListener);
tableEntry = new TableEntry(imageState);
tabbedPane.addTab("Table Entry", tableEntry);
formEntry = new FormEntry(imageState);
tabbedPane.addTab("Form Entry", formEntry);
this.setLeftComponent(tabbedPane);
JTabbedPane tabbedPane2 = new JTabbedPane();
tabbedPane2.addTab("Field Help", new FieldHelp(imageState, communicator));
tabbedPane2.addTab("Image Navigator", new JPanel());
this.setRightComponent(tabbedPane2);
this.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent pce) {
int dividerLocation = getDividerLocation();
imageState.getSettings().setBaseSplitX(dividerLocation);
}
});
this.setDividerLocation(imageState.getSettings().getBaseSplitX());
}
private ChangeListener changeListener = new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
if(tabbedPane.getSelectedIndex() == 1) {
formEntry.becameVisible();
}
}
};
}