org.freemedsoftware.gwt.client.screen.patient.ImmunizationEntry.java Source code

Java tutorial

Introduction

Here is the source code for org.freemedsoftware.gwt.client.screen.patient.ImmunizationEntry.java

Source

/*
 * $Id$
 *
 * Authors:
 *      Jeff Buchbinder <jeff@freemedsoftware.org>
 *
 * FreeMED Electronic Medical Record and Practice Management System
 * Copyright (C) 1999-2012 FreeMED Software Foundation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

package org.freemedsoftware.gwt.client.screen.patient;

import static org.freemedsoftware.gwt.client.i18n.I18nUtil._;

import java.util.Date;

import org.freemedsoftware.gwt.client.PatientEntryScreenInterface;
import org.freemedsoftware.gwt.client.Util;
import org.freemedsoftware.gwt.client.i18n.AppConstants;
import org.freemedsoftware.gwt.client.widget.CustomButton;
import org.freemedsoftware.gwt.client.widget.CustomDatePicker;
import org.freemedsoftware.gwt.client.widget.CustomListBox;
import org.freemedsoftware.gwt.client.widget.CustomTextArea;
import org.freemedsoftware.gwt.client.widget.CustomTextBox;
import org.freemedsoftware.gwt.client.widget.SupportModuleWidget;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;

public class ImmunizationEntry extends PatientEntryScreenInterface {

    protected String moduleName = "Immunizations";

    protected CustomDatePicker dateOfWidget = null;

    protected SupportModuleWidget wProvider = null, wImmunization = null, wBodySite = null, wRoute = null,
            wAdminProvider = null;

    protected CustomTextBox wManufacturer = null, wLotNumber = null;

    protected CustomListBox wRecovered = null;

    protected CustomTextArea wNotes = null;

    public ImmunizationEntry() {
        final VerticalPanel verticalPanel = new VerticalPanel();
        initWidget(verticalPanel);

        final FlexTable flexTable = new FlexTable();
        verticalPanel.add(flexTable);

        int pos = 0;

        final Label dateOfLabel = new Label(_("Date of"));
        flexTable.setWidget(pos, 0, dateOfLabel);
        dateOfWidget = new CustomDatePicker();
        dateOfWidget.setHashMapping("dateof");
        addEntryWidget("dateof", dateOfWidget);
        flexTable.setWidget(pos, 1, dateOfWidget);
        pos++;

        final Label providerLabel = new Label(_("Provider"));
        flexTable.setWidget(pos, 0, providerLabel);
        wProvider = new SupportModuleWidget("ProviderModule");
        wProvider.setHashMapping("provider");
        addEntryWidget("provider", wProvider);
        flexTable.setWidget(pos, 1, wProvider);
        pos++;

        final Label adminProviderLabel = new Label(_("Administering Provider"));
        flexTable.setWidget(pos, 0, adminProviderLabel);
        wAdminProvider = new SupportModuleWidget("ProviderModule");
        wAdminProvider.setHashMapping("admin_provider");
        addEntryWidget("admin_provider", wAdminProvider);
        flexTable.setWidget(pos, 1, wAdminProvider);
        pos++;

        final Label immunizationLabel = new Label(_("Immunization"));
        flexTable.setWidget(pos, 0, immunizationLabel);
        wImmunization = new SupportModuleWidget("Bccdc");
        wImmunization.setHashMapping("immunization");
        addEntryWidget("immunization", wImmunization);
        flexTable.setWidget(pos, 1, wImmunization);
        pos++;

        final Label routeLabel = new Label(_("Route"));
        flexTable.setWidget(pos, 0, routeLabel);
        wRoute = new SupportModuleWidget("RouteOfAdministration");
        wRoute.setHashMapping("route");
        addEntryWidget("route", wRoute);
        flexTable.setWidget(pos, 1, wRoute);
        pos++;

        final Label bodySiteLabel = new Label(_("Body Site"));
        flexTable.setWidget(pos, 0, bodySiteLabel);
        wBodySite = new SupportModuleWidget("BodySite");
        wBodySite.setHashMapping("body_site");
        addEntryWidget("body_site", wBodySite);
        flexTable.setWidget(pos, 1, wBodySite);
        pos++;

        final Label manufacturerLabel = new Label(_("Manufacturer"));
        flexTable.setWidget(pos, 0, manufacturerLabel);
        wManufacturer = new CustomTextBox();
        wManufacturer.setHashMapping("manufacturer");
        addEntryWidget("manufacturer", wManufacturer);
        flexTable.setWidget(pos, 1, wManufacturer);
        pos++;

        final Label lotNumberLabel = new Label(_("Lot Number"));
        flexTable.setWidget(pos, 0, lotNumberLabel);
        wLotNumber = new CustomTextBox();
        wLotNumber.setHashMapping("lot_number");
        addEntryWidget("lot_number", wLotNumber);
        flexTable.setWidget(pos, 1, wLotNumber);
        pos++;

        final Label recoveredLabel = new Label(_("Recovered"));
        flexTable.setWidget(pos, 0, recoveredLabel);
        wRecovered = new CustomListBox();
        wRecovered.addItem(_("Yes"), "1");
        wRecovered.addItem(_("No"), "0");
        wRecovered.setHashMapping("recovered");
        addEntryWidget("recovered", wRecovered);
        flexTable.setWidget(pos, 1, wRecovered);
        pos++;

        final Label notesLabel = new Label(_("Notes"));
        flexTable.setWidget(pos, 0, notesLabel);
        wNotes = new CustomTextArea();
        wNotes.setHashMapping("notes");
        addEntryWidget("notes", wNotes);
        flexTable.setWidget(pos, 1, wNotes);
        pos++;

        // Submit stuff at the bottom of the form

        final HorizontalPanel buttonBar = new HorizontalPanel();
        buttonBar.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
        final CustomButton wSubmit = new CustomButton(_("Submit"), AppConstants.ICON_ADD);
        buttonBar.add(wSubmit);
        wSubmit.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent w) {
                submitForm();
            }
        });
        final CustomButton wReset = new CustomButton(_("Reset"), AppConstants.ICON_CLEAR);
        buttonBar.add(wReset);
        wReset.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent w) {
                resetForm();
            }
        });
        verticalPanel.add(buttonBar);
        Util.setFocus(wProvider);
    }

    public String getModuleName() {
        return "Immunizations";
    }

    public void resetForm() {
        dateOfWidget.setValue(new Date(System.currentTimeMillis()));
        wProvider.clear();
        wImmunization.clear();
        wBodySite.clear();
        wRoute.clear();
        wManufacturer.setValue("");
        wLotNumber.setValue("");
        wRecovered.setWidgetValue("1");
        wNotes.setValue("");
        wProvider.setFocus(true);
    }

}