/**
*
*/
package org.inbio.m3s.gwt.client.widgets.galleries.ui;
import org.inbio.m3s.gwt.client.widgets.galleries.listener.ResultsPerPageSelectedListener;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RadioButton;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
/**
* @author jgutierrez
*
*/
public class ResultsPerPage extends Composite implements ClickListener {
private ResultsPerPageSelectedListener resultsPerPageSelectedListener;
private VerticalPanel main;
private Label text;
/**
* Creates a Windget the shows the posible number of results per page, the
* constructor needs the posible values as a String and a Listener that will
* receive the events of change beetwen values
*
* @param value1
* @param value2
* @param value3
* @param resultsPerPageSelectedListener
*/
public ResultsPerPage(String value1, String value2, String value3,
ResultsPerPageSelectedListener resultsPerPageSelectedListener) {
main = new VerticalPanel();
main.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER);
text = new Label("Resultados por página:");
text.addStyleName("resultsPerPage-Text");
main.add(text);
// radio buttons
RadioButton rb1 = new RadioButton("myRadioGroup", value1);
rb1.addClickListener(this);
RadioButton rb2 = new RadioButton("myRadioGroup", value2);
rb2.addClickListener(this);
RadioButton rb3 = new RadioButton("myRadioGroup", value3);
rb3.addClickListener(this);
// Check 'baz' by default.
rb1.setChecked(true);
// Add them to the root panel.
FlowPanel panel = new FlowPanel();
panel.add(rb1);
panel.add(rb2);
panel.add(rb3);
main.add(panel);
this.resultsPerPageSelectedListener = resultsPerPageSelectedListener;
initWidget(main);
}
/**
*
*/
public void onClick(Widget sender) {
RadioButton selected = (RadioButton) sender;
resultsPerPageSelectedListener.resultsPerPageSelected(Integer
.parseInt(selected.getText()));
}
}