/* * Copyright 2011 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jbpm.formbuilder.client.effect.view; import org.jbpm.formapi.client.form.I18NFormItem; import org.jbpm.formbuilder.client.FormBuilderGlobals; import org.jbpm.formbuilder.client.effect.L10NFormEffect; import org.jbpm.formbuilder.client.messages.I18NConstants; 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.HasHorizontalAlignment; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.PopupPanel; import com.google.gwt.user.client.ui.VerticalPanel; public class L10NEffectView extends PopupPanel { private final I18NConstants i18n = FormBuilderGlobals.getInstance().getI18n(); private final L10NFormEffect effect; private final ListBox formatBox = new ListBox(); public L10NEffectView(L10NFormEffect formEffect) { this.effect = formEffect; VerticalPanel mainPanel = new VerticalPanel(); HorizontalPanel controlPanel = new HorizontalPanel(); controlPanel.add(new Label(i18n.FormatAsLabel())); formatBox.addItem("...", ""); formatBox.addItem(i18n.CurrencyFormatLabel(), I18NFormItem.Format.CURRENCY.toString()); formatBox.addItem(i18n.NumberFormatLabel(), I18NFormItem.Format.NUMBER.toString()); formatBox.addItem(i18n.DateFormatLabel(), I18NFormItem.Format.DATE.toString()); formatBox.addItem(i18n.PercentFormatLabel(), I18NFormItem.Format.PERCENT.toString()); formatBox.addItem(i18n.IntegerFormatLabel(), I18NFormItem.Format.INTEGER.toString()); String selectedFormat = this.effect.getSelectedFormat(); if (selectedFormat != null) { int selectedIndex = 0; for (int index = 0; index < formatBox.getItemCount(); index++) { if (formatBox.getValue(index).equals(selectedFormat)) { selectedIndex = index; break; } } formatBox.setSelectedIndex(selectedIndex); } controlPanel.add(formatBox); mainPanel.add(controlPanel); HorizontalPanel buttonsPanel = new HorizontalPanel(); buttonsPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); buttonsPanel.add(new Button(i18n.ConfirmButton(), new ClickHandler() { @Override public void onClick(ClickEvent event) { int selectedIndex = formatBox.getSelectedIndex(); String selectedFormat = formatBox.getValue(selectedIndex); effect.setSelectedFormat(selectedFormat); effect.createStyles(); hide(); } })); buttonsPanel.add(new Button(i18n.CancelButton(), new ClickHandler() { @Override public void onClick(ClickEvent event) { hide(); } })); mainPanel.add(buttonsPanel); setWidget(mainPanel); } }