ingo@523: package de.intevation.flys.client.client.ui.chart; ingo@523: ingo@523: import com.google.gwt.core.client.GWT; ingo@523: ingo@523: import com.smartgwt.client.types.ListGridFieldType; ingo@523: import com.smartgwt.client.widgets.grid.ListGridField; ingo@523: import com.smartgwt.client.widgets.layout.VLayout; ingo@523: ingo@523: import de.intevation.flys.client.shared.model.Collection; ingo@524: import de.intevation.flys.client.shared.model.Theme; ingo@805: import de.intevation.flys.client.shared.model.OutputMode; ingo@523: ingo@523: import de.intevation.flys.client.client.FLYSConstants; ingo@805: import de.intevation.flys.client.client.ui.ThemePanel; ingo@523: ingo@523: ingo@523: /** ingo@523: * @author Ingo Weinzierl ingo@523: */ ingo@805: public class ChartThemePanel extends ThemePanel { ingo@805: ingo@523: /** The interface that provides i18n messages. */ ingo@523: private FLYSConstants MSG = GWT.create(FLYSConstants.class); ingo@523: ingo@526: ingo@523: public static final String GRID_FIELD_ACTIVE = "active"; ingo@523: public static final String GRID_FIELD_NAME = "name"; ingo@523: ingo@523: ingo@523: public ChartThemePanel(Collection collection, OutputMode mode) { ingo@805: super(collection, mode); ingo@523: ingo@523: initGrid(); ingo@523: initLayout(); ingo@523: ingo@523: updateGrid(); ingo@523: } ingo@523: ingo@523: ingo@523: /** ingo@523: * Initializes the layout of this panel. ingo@523: */ ingo@523: protected void initLayout() { ingo@523: setWidth100(); ingo@523: setHeight100(); ingo@523: ingo@523: VLayout layout = new VLayout(); ingo@523: layout.setWidth100(); ingo@523: layout.setHeight100(); ingo@523: ingo@523: layout.addMember(list); ingo@527: layout.addMember(navigation); ingo@523: ingo@523: addChild(layout); ingo@523: } ingo@523: ingo@523: ingo@523: /** ingo@523: * Initializes the components (columns) of the theme grid. ingo@523: */ ingo@523: protected void initGrid() { ingo@523: list.setCanEdit(true); ingo@523: list.setCanSort(false); ingo@523: list.setShowRecordComponents(false); ingo@523: list.setShowRecordComponentsByCell(true); ingo@523: list.setShowHeader(true); ingo@523: list.setShowHeaderContextMenu(false); ingo@523: list.setWidth100(); ingo@523: list.setHeight100(); ingo@523: ingo@523: list.addEditCompleteHandler(this); ingo@523: ingo@523: ListGridField active = new ListGridField(GRID_FIELD_ACTIVE, " ", 20); ingo@523: active.setType(ListGridFieldType.BOOLEAN); ingo@523: ingo@523: ListGridField name = new ListGridField( ingo@523: GRID_FIELD_NAME, MSG.chart_themepanel_header_themes()); ingo@523: name.setType(ListGridFieldType.TEXT); ingo@523: ingo@523: list.setFields(active, name); ingo@523: } ingo@523: ingo@523: ingo@805: @Override ingo@805: public void activateTheme(Theme theme, boolean active) { ingo@805: theme.setActive(active ? 1 : 0); ingo@527: } ingo@523: } ingo@523: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :