package com.ceisufro.cl.agendamedica.AsignarHorarioMedico.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class AsignarHorarioMedico implements EntryPoint {
private FormularioProfesionalSalud formularioProfesionalSalud;
private BloqueHorarioVigente bloqueHorario;
public void onModuleLoad() {
/*
* CALL CONSTRUCT
* Compositive
*/
BloqueHorarioVigente bloqueHorario = new BloqueHorarioVigente();
this.formularioProfesionalSalud = new FormularioProfesionalSalud();
this.formularioProfesionalSalud.setCompositiveGrilla(bloqueHorario);
/*
* LAYOUT SCREEN
* Generic Root Panel
*/
RootPanel rootPanel = RootPanel.get();
VerticalPanel verticalPanel = new VerticalPanel();
verticalPanel.setStyleName("tableEntryPoint");
rootPanel.add(verticalPanel, 10, 10);
verticalPanel.setSize("502px", "171px");
Label lblAsignarBloque = new Label("ReAsignar Horario Medico");
lblAsignarBloque.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
lblAsignarBloque.setStyleName("lztitulo-formulario");
verticalPanel.add(lblAsignarBloque);
Button btnIngresarRegistro = new Button("Ingresar Registro");
/*
* Example event button IngresarRegistro
*/
btnIngresarRegistro.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// Dialog Box
final DialogBox dialogBox = crearVentanaIngreso(event);
dialogBox.center();
dialogBox.show();
}
});
verticalPanel.add(btnIngresarRegistro);
verticalPanel.setCellHorizontalAlignment(btnIngresarRegistro, HasHorizontalAlignment.ALIGN_RIGHT);
verticalPanel.add(formularioProfesionalSalud);
formularioProfesionalSalud.setWidth("452px");
verticalPanel.add(bloqueHorario);
bloqueHorario.setWidth("494px");
// Botones botones = new Botones();
// verticalPanel.add(botones);
// botones.setWidth("502px");
}
/**
* Metodo que crear una ventana con el formulario de ingreso
*/
private DialogBox crearVentanaIngreso(Object event){
final DialogBox dialogBox = new DialogBox();
/*
* Se crear un layout vertical para agregar los componente
* se puede usar otro componente layout
*/
VerticalPanel dialogContents = new VerticalPanel();
dialogContents.setStyleName("tabla-general");
dialogContents.setSpacing(4);
dialogBox.setWidget(dialogContents);
// Llamada a componente
IngresarProfesional ingresarProfesional = new IngresarProfesional();
dialogContents.add(new Label("Ingreso de Profesional"));
dialogContents.add(ingresarProfesional);
/*
* Botones
* Two button Example
*/
Button closeButton = new Button("Guardar", new ClickHandler() {
public void onClick(ClickEvent event) {
Window.alert("Guardar");
dialogBox.hide();
}
});
// Add a close button at the bottom of the dialog
Button deleteButton = new Button("Cancelar", new ClickHandler() {
public void onClick(ClickEvent event) {
Window.alert("Cancelar");
dialogBox.hide();
}
});
Grid gridBotones = new Grid(1, 3);
gridBotones.setSize("", "");
gridBotones.setWidget(0, 1, closeButton);
gridBotones.setWidget(0, 2, deleteButton);
gridBotones.getCellFormatter().setWidth(0, 0, "200px");
gridBotones.getCellFormatter().setHeight(0, 0, "15px");
gridBotones.getCellFormatter().setWidth(0, 1, "80px");
gridBotones.getCellFormatter().setWidth(0, 2, "80px");
dialogContents.add(gridBotones);
return dialogBox;
}
}