op.care.prescription.DlgDiscontinue.java Source code

Java tutorial

Introduction

Here is the source code for op.care.prescription.DlgDiscontinue.java

Source

/*
 * OffenePflege
 * Copyright (C) 2006-2012 Torsten Lhr
 * This program is free software; you can redistribute it and/or modify it under the terms of the 
 * GNU General Public License V2 as published by the Free Software Foundation
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 
 * Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License along with this program; if not, write to 
 * the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
 * www.offene-pflege.de
 * ------------------------ 
 * Auf deutsch (freie bersetzung. Rechtlich gilt die englische Version)
 * Dieses Programm ist freie Software. Sie knnen es unter den Bedingungen der GNU General Public License, 
 * wie von der Free Software Foundation verffentlicht, weitergeben und/oder modifizieren, gem Version 2 der Lizenz.
 *
 * Die Verffentlichung dieses Programms erfolgt in der Hoffnung, da es Ihnen von Nutzen sein wird, aber 
 * OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FR EINEN 
 * BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
 *
 * Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, 
 * schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
 * 
 */

package op.care.prescription;

import com.jgoodies.forms.factories.CC;
import com.jgoodies.forms.layout.FormLayout;
import entity.prescription.*;
import op.OPDE;
import op.threads.DisplayMessage;
import op.tools.MyJDialog;
import op.tools.SYSTools;
import org.apache.commons.collections.Closure;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;

import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

/**
 * @author root
 */
public class DlgDiscontinue extends MyJDialog {
    private Prescription prescription;
    private Closure actionBlock;
    private java.util.List<GP> listAerzte;
    private java.util.List<Hospital> listKH;

    /**
     * Creates new form DlgDiscontinue
     */
    private void cmbArztAbKeyPressed(KeyEvent e) {
        final String searchKey = String.valueOf(e.getKeyChar());
        GP doc = (GP) CollectionUtils.find(listAerzte, new Predicate() {
            @Override
            public boolean evaluate(Object o) {
                return o != null && ((GP) o).getName().toLowerCase().charAt(0) == searchKey.toLowerCase().charAt(0);
            }
        });
        if (doc != null) {
            cmbArztAb.setSelectedItem(doc);
        }
    }

    public DlgDiscontinue(Prescription prescription, Closure actionBlock) {
        super(false);
        this.actionBlock = actionBlock;
        this.prescription = prescription;
        initComponents();
        lblQuestion.setText(SYSTools.xx("nursingrecords.prescription.dlgDiscontinue.question"));
        fillCMBs();
        setVisible(true);
    }

    /**
     * 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 PrinterForm Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Erzeugter Quelltext ">//GEN-BEGIN:initComponents
    private void initComponents() {
        lblQuestion = new JLabel();
        cmbArztAb = new JComboBox();
        cmbKHAb = new JComboBox();
        panel1 = new JPanel();
        btnCancel = new JButton();
        btnOK = new JButton();

        //======== this ========
        setResizable(false);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        setModalityType(Dialog.ModalityType.APPLICATION_MODAL);
        Container contentPane = getContentPane();
        contentPane.setLayout(new FormLayout("$rgap, 200dlu:grow, $lcgap, $rgap",
                "$rgap, $lgap, default, 2*($lgap, fill:16dlu), $lgap, fill:default, $lgap, $rgap"));

        //---- lblQuestion ----
        lblQuestion.setText("Wer hat die Verordnung abgesetzt ?");
        lblQuestion.setFont(new Font("Arial", Font.PLAIN, 18));
        contentPane.add(lblQuestion, CC.xy(2, 3));

        //---- cmbArztAb ----
        cmbArztAb.setModel(new DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cmbArztAb.setFont(new Font("Arial", Font.PLAIN, 14));
        cmbArztAb.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                cmbArztAbKeyPressed(e);
            }
        });
        contentPane.add(cmbArztAb, CC.xy(2, 5));

        //---- cmbKHAb ----
        cmbKHAb.setModel(new DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cmbKHAb.setFont(new Font("Arial", Font.PLAIN, 14));
        contentPane.add(cmbKHAb, CC.xy(2, 7));

        //======== panel1 ========
        {
            panel1.setLayout(new BoxLayout(panel1, BoxLayout.X_AXIS));

            //---- btnCancel ----
            btnCancel.setIcon(new ImageIcon(getClass().getResource("/artwork/22x22/cancel.png")));
            btnCancel.setText(null);
            btnCancel.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    btnCancelActionPerformed(e);
                }
            });
            panel1.add(btnCancel);

            //---- btnOK ----
            btnOK.setIcon(new ImageIcon(getClass().getResource("/artwork/22x22/apply.png")));
            btnOK.setText(null);
            btnOK.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    btnOKActionPerformed(e);
                }
            });
            panel1.add(btnOK);
        }
        contentPane.add(panel1, CC.xy(2, 9, CC.RIGHT, CC.DEFAULT));
        setSize(490, 175);
        setLocationRelativeTo(getOwner());
    }// </editor-fold>//GEN-END:initComponents

    private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelActionPerformed
        prescription = null;
        dispose();
    }//GEN-LAST:event_btnCancelActionPerformed

    @Override
    public void dispose() {
        actionBlock.execute(prescription);
        super.dispose();
    }

    private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnOKActionPerformed

        GP doc = (GP) cmbArztAb.getSelectedItem();
        Hospital hospital = (Hospital) cmbKHAb.getSelectedItem();

        if (doc == null && hospital == null) {
            OPDE.getDisplayManager().addSubMessage(
                    new DisplayMessage("nursingrecords.prescription.dlgDiscontinue.docandhospitalempty"));
        } else {
            prescription.setDocOFF(doc);
            prescription.setHospitalOFF(hospital);
            prescription.setUserOFF(OPDE.getLogin().getUser());
            dispose();
        }
    }//GEN-LAST:event_btnOKActionPerformed

    private void fillCMBs() {
        EntityManager em = OPDE.createEM();
        Query queryArzt = em.createQuery("SELECT a FROM GP a ORDER BY a.name, a.vorname");
        listAerzte = queryArzt.getResultList();
        listAerzte.add(0, null);

        Query queryKH = em.createQuery("SELECT k FROM Hospital k ORDER BY k.name");
        listKH = queryKH.getResultList();
        listKH.add(0, null);

        cmbArztAb.setModel(new DefaultComboBoxModel(listAerzte.toArray()));
        cmbArztAb.setRenderer(GPTools.getRenderer());
        cmbArztAb.setSelectedIndex(0);

        cmbKHAb.setModel(new DefaultComboBoxModel(listKH.toArray()));
        cmbKHAb.setRenderer(HospitalTools.getKHRenderer());
        cmbKHAb.setSelectedIndex(0);

        em.close();
    }

    // Variablendeklaration - nicht modifizieren//GEN-BEGIN:variables
    private JLabel lblQuestion;
    private JComboBox cmbArztAb;
    private JComboBox cmbKHAb;
    private JPanel panel1;
    private JButton btnCancel;
    private JButton btnOK;
    // Ende der Variablendeklaration//GEN-END:variables

}