ingo@1408: package de.intevation.flys.client.client.ui.map; ingo@1408: ingo@1409: import com.google.gwt.core.client.GWT; ingo@1408: import com.google.gwt.user.client.ui.Grid; ingo@1408: ingo@1409: import com.smartgwt.client.types.Overflow; ingo@1408: import com.smartgwt.client.widgets.Label; ingo@1408: import com.smartgwt.client.widgets.layout.HLayout; ingo@1408: import com.smartgwt.client.widgets.layout.Layout; ingo@1408: import com.smartgwt.client.widgets.layout.VLayout; ingo@1408: ingo@1408: import de.intevation.flys.client.shared.model.Capabilities; ingo@1409: import de.intevation.flys.client.shared.model.ContactInformation; ingo@1409: import de.intevation.flys.client.client.FLYSConstants; ingo@1408: ingo@1408: ingo@1408: public class CapabilitiesPanel extends VLayout { ingo@1408: ingo@1409: protected FLYSConstants MSG = GWT.create(FLYSConstants.class); ingo@1409: ingo@1408: protected Capabilities capabilites; ingo@1408: ingo@1408: ingo@1408: public CapabilitiesPanel(Capabilities capabilites) { ingo@1408: super(); ingo@1408: this.capabilites = capabilites; ingo@1408: ingo@1408: initLayout(); ingo@1408: } ingo@1408: ingo@1408: ingo@1408: protected void initLayout() { ingo@1409: setMargin(5); ingo@1409: setOverflow(Overflow.AUTO); ingo@1408: initContent(); ingo@1408: } ingo@1408: ingo@1408: ingo@1408: protected void initContent() { ingo@1409: Grid grid = new Grid(10, 2); ingo@1408: grid.setCellPadding(10); ingo@1408: ingo@1409: grid.setText(0, 0, MSG.capabilitiesTitle() + ":"); ingo@1409: grid.setText(0, 1, capabilites.getTitle()); ingo@1409: grid.setText(1, 0, MSG.capabilitiesURL() + ":"); ingo@1409: grid.setText(1, 1, capabilites.getOnlineResource()); ingo@1409: grid.setText(2, 0, MSG.capabilitiesAccessConstraints() + ":"); ingo@1408: grid.setText(2, 1, capabilites.getAccessConstraints()); ingo@1409: grid.setText(3, 0, MSG.capabilitiesFees() + ":"); ingo@1408: grid.setText(3, 1, capabilites.getFees()); ingo@1408: ingo@1419: int row = 4; ingo@1419: ingo@1409: ContactInformation ci = capabilites.getContactInformation(); ingo@1419: ingo@1419: grid.setText(row, 0, MSG.capabilitiesContactInformation() + ":"); ingo@1419: ingo@1419: String person = ci.getPerson(); ingo@1419: if (person != null && person.length() > 0) { ingo@1419: grid.setText(row++, 1, person); ingo@1419: } ingo@1419: ingo@1419: String organization = ci.getOrganization(); ingo@1419: if (organization != null && organization.length() > 0) { ingo@1419: grid.setText(row++, 1, organization); ingo@1419: } ingo@1419: ingo@1419: String address = ci.getAddress(); ingo@1419: if (address != null && address.length() > 0) { ingo@1419: grid.setText(row++, 1, address); ingo@1419: } ingo@1419: ingo@1419: String pc = ci.getPostcode(); ingo@1419: String c = ci.getCity(); ingo@1419: if ((pc != null && pc.length() > 0) || (c != null && c.length() > 0)) { ingo@1419: grid.setText(row++, 1, pc + " " + c); ingo@1419: } ingo@1419: ingo@1419: String email = ci.getEmail(); ingo@1419: if (email != null && email.length() > 0) { ingo@1419: grid.setText(row++, 1, MSG.capabilitiesEmail() + ": " + email); ingo@1419: } ingo@1419: ingo@1419: String phone = ci.getPhone(); ingo@1419: if (phone != null && phone.length() > 0) { ingo@1419: grid.setText(row++, 1, MSG.capabilitiesPhone() + ": " + phone); ingo@1419: } ingo@1409: ingo@1409: Label title = new Label(MSG.capabilitiesHint()); ingo@1408: title.setHeight(25); ingo@1409: title.setStyleName("capabilities-info-title"); ingo@1408: ingo@1408: addMember(title); ingo@1408: addMember(grid); ingo@1408: } ingo@1408: ingo@1408: ingo@1408: protected Layout createRow(Label title, Label content) { ingo@1408: title.setWidth(100); ingo@1408: ingo@1408: HLayout layout = new HLayout(); ingo@1408: layout.addMember(title); ingo@1408: layout.addMember(content); ingo@1408: ingo@1408: return layout; ingo@1408: } ingo@1408: } ingo@1408: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :