/*
* DialogContractPackets.java
*
* Created on 17 �?юль 2008 г., 9:49
*/
package clips.contract.info.packet;
import clips.delegate.contract.ContractLocal;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import clips.delegate.directory.complex.DirectoryPacketTemplate;
import clips.delegate.directory.complex.DirectoryPacketTemplateItem;
import cli_fmw.delegate.DelegateLine2;
import cli_fmw.main.PageGeneric;
import cli_fmw.main.PageContainer;
import cli_fmw.main.PageGeneric;
import cli_fmw.utils.MessageBox;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.table_config_states.StateSaver;
import cli_fmw.utils.table_config_states.TableState;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
/**
*
* @author petr
*/
public class PanelContractPackets extends PageGeneric implements ListSelectionListener {
private DirectoryPacketTemplate directory;
private ContractLocal contract;
public PanelContractPackets(PageContainer container, ContractLocal contract) throws ClipsException {
super(container);
this.contract = contract;
initComponents();
directory = (DirectoryPacketTemplate) DirectoryLocator.getDirectory(DirectoryPacketTemplate.class, false);
updateTablePackets();
tblPackets.getSelectionModel().addListSelectionListener(this);
tblPackets.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
resizeTable();
StateSaver.attachTo(this);
}
@Override
public void valueChanged(ListSelectionEvent e) {
System.out.println("valueChanged. e.getValueIsAdjusting():" + e.getValueIsAdjusting());
if (!e.getValueIsAdjusting()) {//((DefaultListSelectionModel)e.getSource()).getValueIsAdjusting()
System.out.print("updateTablePacketService ");
try {
updateTablePacketService(((TableModelPackets) tblPackets.getModel()).getItemAtRow(tblPackets.getSelectedRowSorted()));
} catch (Exception ex) {
MessageBox.showException(ex);
}
}
}
private void updateTablePackets() throws ClipsException {
TableModelPackets model = new TableModelPackets(directory, contract);
tblPackets.setModel(model);
}
private void resizeTable() {
TableState state = new TableState();
state.setPreferredWidth(TableModelPackets.COL_CHECK, 1);
state.setPreferredWidth(TableModelPackets.COL_PACKET, 30);
StateSaver.setDefaultState(this, tblPackets, state);
state = new TableState();
state.setPreferredWidth(TableModelPacketServices.COL_SERVICE, 8);
state.setPreferredWidth(TableModelPacketServices.COL_WEIGHT, 3);
state.setPreferredWidth(TableModelPacketServices.COL_DURATION, 6);
state.setPreferredWidth(TableModelPacketServices.COL_DISCOUNT, 3);
StateSaver.setDefaultState(this, tblPacketServices, state);
}
private void updateTablePacketService(DirectoryPacketTemplateItem packet) throws ClipsException {
TableModelPacketServices model = new TableModelPacketServices(packet);
tblPacketServices.setModel(model);
tblPacketServices.setDefaultRenderer(Object.class, new TableCellRendererPacketService(contract));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jSplitPane1 = new javax.swing.JSplitPane();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tblPackets = new cli_fmw.utils.sorted_table.SortedTable();
jPanel2 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
tblPacketServices = new cli_fmw.utils.sorted_table.SortedTable();
setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10));
setLayout(new java.awt.BorderLayout());
jPanel1.setLayout(new java.awt.BorderLayout());
jScrollPane1.addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(java.awt.event.ComponentEvent evt) {
jScrollPane1ComponentResized(evt);
}
});
jScrollPane1.setViewportView(tblPackets);
jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);
jSplitPane1.setLeftComponent(jPanel1);
jPanel2.setLayout(new java.awt.BorderLayout());
jScrollPane2.setViewportView(tblPacketServices);
jPanel2.add(jScrollPane2, java.awt.BorderLayout.CENTER);
jSplitPane1.setRightComponent(jPanel2);
add(jSplitPane1, java.awt.BorderLayout.CENTER);
}// </editor-fold>//GEN-END:initComponents
private void jScrollPane1ComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_jScrollPane1ComponentResized
}//GEN-LAST:event_jScrollPane1ComponentResized
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JSplitPane jSplitPane1;
private cli_fmw.utils.sorted_table.SortedTable tblPacketServices;
private cli_fmw.utils.sorted_table.SortedTable tblPackets;
// End of variables declaration//GEN-END:variables
@Override
public String getPageTitle() {
return "Шаблоны пакетов";
}
@Override
public DelegateLine2 getDelegate() {
return contract;
}
}