Package clips.doctor.certificate

Source Code of clips.doctor.certificate.PanelCertificateList

/*
* PanelCertificateList.java
*
* Created on 1 Апрель 2008 г., 12:02
*/

package clips.doctor.certificate;

import clips.delegate.doctor.certificate.CertificateLocal;
import cli_fmw.delegate.DelegateLine2;
import clips.doctor.PanelEMC;
import cli_fmw.main.ClipsException;
import cli_fmw.main.PageContainer;
import cli_fmw.main.PageGeneric;
import cli_fmw.main.Persistentable;
import cli_fmw.main.PrintCreators;
import cli_fmw.main.Printable;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.table_config_states.StateSaver;
import cli_fmw.utils.table_config_states.TableState;
import clips.doctor.newEMC.wrappers.collectors.CertificateCollector;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

/**
* Панель отображающая список справок данного пациента
* @author  vip
*/
public class PanelCertificateList extends PageGeneric implements Printable, Persistentable {
    private CertificateCollector certificateList;
   
   
    /** Creates new form PanelCertificateList */
    public PanelCertificateList(PageContainer container, CertificateCollector certificateCollector) throws ClipsException {
        super(container);
        initComponents();
        this.certificateList = certificateCollector;
        reloadTable();
        jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                int row = jTable.getSelectedRowSorted();
                btDel.setEnabled(row >=0 && row < jTable.getRowCount());
            }
        });
    resizeColumn();
    StateSaver.attachTo(this);
  }

    private void reloadTable() throws ClipsException {
        jTable.setModel(new TableModelCertificateList(certificateList.getChildren().toArray(new CertificateLocal[certificateList.getChildCount()])));
        jTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    }

    private void resizeColumn() {
    TableState          state = new TableState();
    state.setPreferredWidth(TableModelCertificateList.COL_DATE,      10);
    state.setPreferredWidth(TableModelCertificateList.COL_COLLABORATOR,  20);
    state.setPreferredWidth(TableModelCertificateList.COL_TYPE,      20);
      StateSaver.setDefaultState(this, jTable, state);
    }
   
    private void setEnabledComponents() {
        int row = jTable.getSelectedRowSorted();
        if (row >= 0 && row < jTable.getRowCount()) {
            btDel.setEnabled(true);
        } else {
            btDel.setEnabled(false);
        }
    }
   
    /** 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.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable = new cli_fmw.utils.sorted_table.SortedTable();
        jPanel1 = new javax.swing.JPanel();
        btDel = new javax.swing.JButton();

        setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5));
        setLayout(new java.awt.BorderLayout());

        jTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTableMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jTable);

        add(jScrollPane1, java.awt.BorderLayout.CENTER);

        jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        btDel.setText("Удалить");
        btDel.setEnabled(false);
        btDel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btDelActionPerformed(evt);
            }
        });
        jPanel1.add(btDel);

        add(jPanel1, java.awt.BorderLayout.SOUTH);
    }// </editor-fold>//GEN-END:initComponents

private void jTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTableMouseClicked
        if (evt.getClickCount() == 2) {
            int row = jTable.rowAtPoint(evt.getPoint());
            if (row >= 0 && row < jTable.getRowCount()) {
                try {
                    CertificateLocal cert = certificateList.getChildren().get(row);
                    if (getContainer() instanceof PanelEMC) {
                        ((PanelEMC) getContainer()).selectInEmc(cert);

                    }
                } catch (ClipsException ex) {
                    ex.printStackTrace();
                    MessageBox.showException(ex);
                }
            }
        }
}//GEN-LAST:event_jTableMouseClicked

private void btDelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btDelActionPerformed
    int row = jTable.getSelectedRowSorted();
    if (row >=0 && row < jTable.getRowCount()) {
        try {
            CertificateLocal cert = certificateList.getChildren().get(row);
            cert.remove();
            reloadTable();
            certificateList.removeChild(cert);
        } catch (ClipsException ex) {
            MessageBox.showException(ex);
        }
    }
}//GEN-LAST:event_btDelActionPerformed
   
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btDel;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private cli_fmw.utils.sorted_table.SortedTable jTable;
    // End of variables declaration//GEN-END:variables

    @Override
    public String getPageTitle() {
        return "Список справок";
    }

    public String getPageIcon() {
        return null;
    }

    @Override
    public boolean readyForPrint() {
        return true;
    }

    @Override
    public void print() {
        if (readyForPrint()) {
            HashMap<String, Object> data = new LinkedHashMap<String, Object>();
            String title = "Список справок пациента";
            data.put("client", "Пациент: " + certificateList.getClientLocal().toString());
            PrintCreators.createGeneratedReport(title, null, data.entrySet(), null, jTable.getModel(), getClass());
        }
    }

    @Override
    public DelegateLine2 getDelegate() {
        return certificateList.getClientLocal();
    }

    @Override
    public boolean isDirty() {
        return false;
    }

    @Override
    public void save() throws ClipsException {
        //DO NOTHING;
    }

    @Override
    public void restore() {
        //DO NOTHING;
    }
   
}
TOP

Related Classes of clips.doctor.certificate.PanelCertificateList

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.