This repository has been archived on 2021-11-25. You can view files and clone it, but cannot push or open issues or pull requests.
vmereports-manager-portlet/src/main/java/org/gcube/portlets/user/reportgenerator/client/dialog/PagePropertiesDialog.java

111 lines
3.2 KiB
Java

package org.gcube.portlets.user.reportgenerator.client.dialog;
import java.util.List;
import org.gcube.portlets.d4sreporting.common.shared.Metadata;
import org.gcube.portlets.user.gcubewidgets.client.popup.GCubeDialog;
import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter;
import org.gcube.portlets.user.reportgenerator.client.model.TemplateModel;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CellPanel;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
/**
* <code> OpenTemplateDialog </code> class is is the Dialog for showing template properties
*
* @author Massimiliano Assante, ISTI-CNR - massimiliano.assante@isti.cnr.it
* @version October 2008 (0.2)
*/
public class PagePropertiesDialog extends GCubeDialog {
/**
* this layout panel
*/
private VerticalPanel dialogPanel = new VerticalPanel();
private TextBox templateNameLabelBox = new TextBox();
/**
*
* @param templateModel .
* @param presenter .
*/
public PagePropertiesDialog(final TemplateModel templateModel, final Presenter presenter) {
setText("Report Properties");
dialogPanel.setSpacing(4);
HTML spacer = new HTML("<hr width=\"100%\" />");
spacer.setHeight("30");
/*
* template name part
*/
HTML templateNameLabel = new HTML("Template Name: ");
templateNameLabelBox.setText(templateModel.getTemplateName());
templateNameLabelBox.setReadOnly(true);
templateNameLabelBox.setWidth("200");
CellPanel templateNamaPanel = new HorizontalPanel();
templateNamaPanel.add(templateNameLabel);
templateNamaPanel.add(templateNameLabelBox);
templateNamaPanel.setCellWidth(templateNameLabel, "120");
dialogPanel.add(templateNamaPanel);
dialogPanel.add(new HTML("<hr color=\"#DDDDDD\" height=\"1px\" width=\"100%\" />"));
List<Metadata> metadatas = presenter.getModel().getMetadata();
int nRows = metadatas.size();
Grid metadataGrid = new Grid(nRows, 2);
int i = 0;
for (Metadata md : metadatas) {
metadataGrid.setWidget(i, 0, new HTML("<b>" + md.getAttribute() + ": </b>"));
metadataGrid.setWidget(i, 1, new HTML(md.getValue()));
i++;
}
dialogPanel.add(templateNamaPanel);
dialogPanel.add(new HTML("<hr color=\"#DDDDDD\" height=\"1px\" width=\"100%\" />"));
dialogPanel.add(metadataGrid);
HorizontalPanel buttonsPanel = new HorizontalPanel();
HorizontalPanel buttonsContainer = new HorizontalPanel();
// Add a cancel button at the bottom of the dialog
Button cancelButton = new Button("Close",new ClickHandler() {
public void onClick(ClickEvent event) {
hide();
}
});
buttonsPanel.setWidth("100%");
buttonsPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
buttonsContainer.setSpacing(10);
buttonsContainer.add(cancelButton);
buttonsPanel.add(buttonsContainer);
dialogPanel.add(buttonsPanel);
dialogPanel.setPixelSize(350, 275);
setWidget(dialogPanel);
}
}