ingo@6: package de.intevation.flys.client.client.ui;
ingo@6:
ingo@6: import com.google.gwt.core.client.GWT;
ingo@6: import com.google.gwt.i18n.client.DateTimeFormat;
ingo@7: import com.google.gwt.user.client.ui.RadioButton;
ingo@6:
ingo@7: import com.smartgwt.client.widgets.Canvas;
ingo@6: import com.smartgwt.client.widgets.Window;
ingo@7: import com.smartgwt.client.widgets.form.DynamicForm;
ingo@7: import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
ingo@7: import com.smartgwt.client.widgets.layout.HLayout;
ingo@7: import com.smartgwt.client.widgets.layout.VLayout;
ingo@7: import com.smartgwt.client.widgets.tab.Tab;
ingo@7: import com.smartgwt.client.widgets.tab.TabSet;
ingo@6:
ingo@6: import de.intevation.flys.client.shared.model.Collection;
ingo@6:
ingo@6: import de.intevation.flys.client.client.FLYSMessages;
ingo@6:
ingo@6:
ingo@6: /**
ingo@6: * @author Ingo Weinzierl
ingo@6: */
ingo@6: public class CollectionView extends Window {
ingo@6:
ingo@6: /** The message class that provides i18n strings.*/
ingo@6: FLYSMessages messages = GWT.create(FLYSMessages.class);
ingo@6:
ingo@6: /** The collection to be displayed.*/
ingo@6: protected Collection collection;
ingo@6:
ingo@7: /** The parameter tab.*/
ingo@7: protected Tab parameterTab;
ingo@7:
ingo@7: /** The output tab.*/
ingo@7: protected Tab outputTab;
ingo@7:
ingo@6:
ingo@6: /**
ingo@6: * This constructor creates a new CollectionView that is used to display the
ingo@6: * collection.
ingo@6: *
ingo@6: * @param collection The collection to be displayed.
ingo@6: */
ingo@6: public CollectionView(Collection collection) {
ingo@6: this.collection = collection;
ingo@6:
ingo@6: init();
ingo@6: }
ingo@6:
ingo@6:
ingo@6: /**
ingo@6: * This method handles the initial layout stuff.
ingo@6: */
ingo@6: protected void init() {
ingo@6: setWidth(600);
ingo@6: setHeight(400);
ingo@6:
ingo@6: setCanDragResize(true);
ingo@6:
ingo@6: DateTimeFormat dtf = DateTimeFormat.getFormat(messages.date_format());
ingo@6: String lastAccess = dtf.format(collection.getLastAccess());
ingo@6: setTitle(lastAccess + " - " + collection.getName());
ingo@7:
ingo@7: VLayout layout = new VLayout();
ingo@7: addItem(layout);
ingo@7:
ingo@7: if (isNew()) {
ingo@7: layout.addMember(renderNew());
ingo@7: }
ingo@7: }
ingo@7:
ingo@7:
ingo@7: /**
ingo@7: * This method returns true, if the Collection is new and no plugins has
ingo@7: * been chosen.
ingo@7: *
ingo@7: * @return true, if the Collection is new.
ingo@7: */
ingo@7: public boolean isNew() {
ingo@7: return true;
ingo@7: }
ingo@7:
ingo@7:
ingo@7: /**
ingo@7: * This method creates a Canvas displaying the plugins of FLYS.
ingo@7: *
ingo@7: * @return a Canvas that displays the plugins of FLYS.
ingo@7: */
ingo@7: protected Canvas renderNew() {
ingo@7: HLayout layout = new HLayout();
ingo@7: layout.setWidth100();
ingo@7:
ingo@7: DynamicForm form = new DynamicForm();
ingo@7: RadioGroupItem radio = new RadioGroupItem("plugin");
ingo@7:
ingo@7: radio.setShowTitle(false);
ingo@7: radio.setVertical(false);
ingo@7: radio.setValueMap(
ingo@7: messages.winfo(),
ingo@7: messages.minfo(),
ingo@7: messages.map(),
ingo@7: messages.fix());
ingo@7:
ingo@7: form.setFields(radio);
ingo@7:
ingo@7: layout.addMember(form);
ingo@7:
ingo@7: return layout;
ingo@6: }
ingo@6: }
ingo@6: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :