/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* DialogDiseaseClose.java
*
* Created on 26.06.2009, 15:21:08
*/
package clips.doctor.disease;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import cli_fmw.delegate.utils.TimeLocal;
import cli_fmw.main.ClipsException;
import cli_fmw.main.ContentStateListener;
import cli_fmw.main.audit.AuditManager;
import cli_fmw.report.panels.model.delegate.DirectoryComboBoxModel;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.ModalDialog;
import cli_fmw.utils.delegate_models.DelegateDateModel;
import cli_fmw.utils.table_config_states.StateSaver;
import clips.delegate.directory.simple.diseaseResult.DirectoryDiseaseResult;
import clips.delegate.directory.simple.diseaseResult.DirectoryDiseaseResultItem;
import clips.delegate.directory.simple.visitingPurpose.DirectoryVisitingPurpose;
import clips.delegate.directory.simple.visitingPurpose.DirectoryVisitingPurposeItem;
import clips.delegate.doctor.DiseaseLocal;
import clips.login.UserInfo;
import java.awt.Frame;
import java.util.Date;
/**
*
* @author vip
*/
public class DialogDiseaseClose extends ModalDialog {
DiseaseLocal diseaseLocal;
/** Creates new form DialogDiseaseClose */
public DialogDiseaseClose(Frame parent, DiseaseLocal disease, AuditManager am) throws ClipsException {
super(parent, "Закрытие заболевания", am);
initComponents();
this.diseaseLocal = disease;
diseaseLocal.setClosed(TimeLocal.getCurrentTime().getTime());
diseaseLocal.setCloser(UserInfo.get().getCollaborator());
new DelegateDateModel<DiseaseLocal>(diseaseLocal, dateClose) {
@Override
protected Date getDateImp() throws ClipsException {
return getDelegate().getClosed();
}
@Override
protected void setDateImp(Date date) throws ClipsException {
getDelegate().setClosed(date);
}
};
DirectoryVisitingPurpose purpose = DirectoryLocator.getDirectory(DirectoryVisitingPurpose.class);
new DirectoryComboBoxModel<DiseaseLocal,DirectoryVisitingPurposeItem>(cbPurpose, purpose, diseaseLocal) {
@Override
public DirectoryVisitingPurposeItem getSelectedDirectoryItem() throws ClipsException {
return getObject().getVisitingPurpose();
}
@Override
public void setSelectedDirectoryItem(DirectoryVisitingPurposeItem item) throws ClipsException {
getObject().setVisitingPurpose(item);
}
};
DirectoryDiseaseResult result = DirectoryLocator.getDirectory(DirectoryDiseaseResult.class);
new DirectoryComboBoxModel<DiseaseLocal,DirectoryDiseaseResultItem>(cbResult, result, diseaseLocal) {
@Override
public DirectoryDiseaseResultItem getSelectedDirectoryItem() throws ClipsException {
return getObject().getDiseaseResult();
}
@Override
public void setSelectedDirectoryItem(DirectoryDiseaseResultItem item) throws ClipsException {
getObject().setDiseaseResult(item);
}
};
panelCollaboratorSelect1.addContentStateListener(new ContentStateListener() {
@Override
public void contentStateChanged() {
try {
diseaseLocal.setCloser(panelCollaboratorSelect1.getSelectedItem());
} catch (ClipsException ex) {
MessageBox.showException(ex);
}
}
});
panelCollaboratorSelect1.setSelectedCollaborator(UserInfo.get().getCollaborator());
StateSaver.attachTo(this);
}
/** 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() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabelClosed = new javax.swing.JLabel();
jLabelCollab = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
dateClose = new org.infotechservice.ICalendar.components.ICDateChooser();
panelCollaboratorSelect1 = new clips.accountant.PanelCollaboratorSelect();
cbPurpose = new javax.swing.JComboBox();
cbResult = new javax.swing.JComboBox();
jPanel6 = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
jPanel7 = new javax.swing.JPanel();
jPanel12 = new javax.swing.JPanel();
btOK = new javax.swing.JButton();
btCancel = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jPanel1.setLayout(new java.awt.BorderLayout(5, 5));
jPanel2.setLayout(new java.awt.GridLayout(0, 1, 0, 5));
jLabelClosed.setText("Дата закрытия");
jPanel2.add(jLabelClosed);
jLabelCollab.setText("Сотрудник:");
jPanel2.add(jLabelCollab);
jLabel1.setText("Цель посещения:");
jPanel2.add(jLabel1);
jLabel2.setText("Результат обращения:");
jPanel2.add(jLabel2);
jPanel1.add(jPanel2, java.awt.BorderLayout.WEST);
jPanel3.setLayout(new java.awt.GridLayout(0, 1, 0, 5));
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addComponent(dateClose, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(191, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(dateClose, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
);
jPanel3.add(jPanel4);
jPanel3.add(panelCollaboratorSelect1);
jPanel3.add(cbPurpose);
jPanel3.add(cbResult);
jPanel1.add(jPanel3, java.awt.BorderLayout.CENTER);
jPanel6.setLayout(new java.awt.GridLayout(0, 2, 10, 0));
jPanel5.setLayout(new java.awt.BorderLayout(5, 0));
jPanel6.add(jPanel5);
jPanel7.setLayout(new java.awt.BorderLayout(5, 0));
jPanel6.add(jPanel7);
jPanel1.add(jPanel6, java.awt.BorderLayout.SOUTH);
btOK.setText("Закрыть");
btOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btOKActionPerformed(evt);
}
});
btCancel.setText("Отменить");
btCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btCancelActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);
jPanel12.setLayout(jPanel12Layout);
jPanel12Layout.setHorizontalGroup(
jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel12Layout.createSequentialGroup()
.addContainerGap(335, Short.MAX_VALUE)
.addComponent(btOK)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btCancel)
.addContainerGap())
);
jPanel12Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btCancel, btOK});
jPanel12Layout.setVerticalGroup(
jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btCancel)
.addComponent(btOK))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 515, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void btOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btOKActionPerformed
setDlgResult(ModalDialog.DLG_OK);
dispose();
}//GEN-LAST:event_btOKActionPerformed
private void btCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCancelActionPerformed
setDlgResult(ModalDialog.DLG_CANCEL);
dispose();
}//GEN-LAST:event_btCancelActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btCancel;
private javax.swing.JButton btOK;
private javax.swing.JComboBox cbPurpose;
private javax.swing.JComboBox cbResult;
private org.infotechservice.ICalendar.components.ICDateChooser dateClose;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabelClosed;
private javax.swing.JLabel jLabelCollab;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel12;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private clips.accountant.PanelCollaboratorSelect panelCollaboratorSelect1;
// End of variables declaration//GEN-END:variables
}