package devopsdistilled.operp.client.stock.panes.details;
import javax.inject.Inject;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import net.miginfocom.swing.MigLayout;
import devopsdistilled.operp.client.abstracts.AbstractEntityDetailsPane;
import devopsdistilled.operp.client.stock.controllers.StockKeeperController;
import devopsdistilled.operp.server.data.entity.stock.StockKeeper;
public class TransferStockDetailsPane extends
AbstractEntityDetailsPane<StockKeeper, StockKeeperController> {
@Inject
private StockKeeperController stockKeeperController;
private final JSplitPane splitPane;
private final JPanel pane;
private StockKeeper srcStockKeeper;
public TransferStockDetailsPane() {
pane = new JPanel();
pane.setLayout(new MigLayout("",
"[209px,grow,center][209px,grow,center]", "[][][29px][center]"));
JLabel lblSource = new JLabel("Source");
pane.add(lblSource, "cell 0 0");
JLabel lblDestination = new JLabel("Destination");
pane.add(lblDestination, "cell 1 0");
splitPane = new JSplitPane();
splitPane.setResizeWeight(0.5);
splitPane.setContinuousLayout(false);
pane.add(splitPane, "cell 0 2 2 1,alignx left,aligny top,grow");
}
@Override
public JPanel getPane() {
return pane;
}
@Override
public StockKeeperController getEntityController() {
return stockKeeperController;
}
@Override
protected StockKeeper getEntity() {
return srcStockKeeper;
}
@Override
public void show(StockKeeper srcStockKeeper, JComponent owner) {
if (srcStockKeeper.getTransferStockKeeper() != null) {
this.srcStockKeeper = srcStockKeeper;
StockKeeper destStockKeeper = srcStockKeeper
.getTransferStockKeeper();
StockKeepingDetailsPane srcDetails = new StockKeepingDetailsPane();
StockKeepingDetailsPane destDetails = new StockKeepingDetailsPane();
srcDetails.init(srcStockKeeper);
destDetails.init(destStockKeeper);
splitPane.setLeftComponent(srcDetails.getPane());
splitPane.setRightComponent(destDetails.getPane());
showDetailsPane(getPane(), owner);
} else {
getDialog().dispose();
JOptionPane.showMessageDialog(getPane(),
"StockKeeper is not a Transfer Pair");
}
}
@Override
public String getTitle() {
return "Transfer Stock Details";
}
}