1 16 package com.google.gwt.sample.i18n.client; 17 18 import com.google.gwt.core.client.EntryPoint; 19 import com.google.gwt.core.client.GWT; 20 import com.google.gwt.i18n.client.Dictionary; 21 import com.google.gwt.user.client.DOM; 22 import com.google.gwt.user.client.Element; 23 import com.google.gwt.user.client.ui.FlexTable; 24 import com.google.gwt.user.client.ui.ListBox; 25 import com.google.gwt.user.client.ui.RootPanel; 26 import com.google.gwt.user.client.ui.TextBox; 27 import com.google.gwt.user.client.ui.Widget; 28 29 import java.util.Iterator ; 30 import java.util.NoSuchElementException ; 31 32 35 public class I18N implements EntryPoint { 36 37 44 public void onModuleLoad() { 45 NumberFormatExampleConstants numberFormatConstants = (NumberFormatExampleConstants) GWT.create(NumberFormatExampleConstants.class); 47 NumberFormatExampleController numberFormatController = new NumberFormatExampleController( 48 numberFormatConstants); 49 initNumberFormatExample(numberFormatController); 50 51 DateTimeFormatExampleConstants dateTimeFormatConstants = (DateTimeFormatExampleConstants) GWT.create(DateTimeFormatExampleConstants.class); 53 DateTimeFormatExampleController dateTimeFormatController = new DateTimeFormatExampleController( 54 dateTimeFormatConstants); 55 initDateTimeFormatExample(dateTimeFormatController); 56 57 initConstantsExample(); 59 60 ConstantsWithLookupExampleConstants constantsWithLookupConstants = (ConstantsWithLookupExampleConstants) GWT.create(ConstantsWithLookupExampleConstants.class); 62 ConstantsWithLookupExampleController constantsWithLookupController = new ConstantsWithLookupExampleController( 63 constantsWithLookupConstants); 64 initConstantsWithLookupExample(constantsWithLookupController); 65 66 MessagesExampleConstants messagesExampleConstants = (MessagesExampleConstants) GWT.create(MessagesExampleConstants.class); 68 MessagesExampleController messagesController = new MessagesExampleController( 69 messagesExampleConstants); 70 initMessagesExample(messagesController); 71 72 initDictionaryExample(); 74 75 TextBox initiallyFocusedTextBox = numberFormatController.txtInput; 76 initiallyFocusedTextBox.setFocus(true); 77 initiallyFocusedTextBox.selectAll(); 78 } 79 80 private void bindElement(String id, String text) { 81 Element elem = DOM.getElementById(id); 82 if (elem == null) { 83 throw new NoSuchElementException (id); 84 } 85 DOM.setInnerText(elem, text); 86 } 87 88 private void bindElement(String id, Widget widget) { 89 RootPanel rp = RootPanel.get(id); 90 if (rp == null) { 91 throw new NoSuchElementException (id); 92 } 93 rp.clear(); 94 rp.add(widget); 95 } 96 97 private void initConstantsExample() { 98 ConstantsExampleConstants constants = (ConstantsExampleConstants) GWT.create(ConstantsExampleConstants.class); 99 ListBox colorChoices = new ListBox(); 100 101 for (Iterator iter = constants.colorMap().values().iterator(); iter.hasNext();) { 102 String color = (String ) iter.next(); 103 colorChoices.addItem(color); 104 } 105 106 TextBox txtFirstName = new TextBox(); 107 TextBox txtLastName = new TextBox(); 108 109 bindElement("constantsFirstNameCaption", constants.firstName()); 110 bindElement("constantsFirstNameText", txtFirstName); 111 bindElement("constantsLastNameCaption", constants.lastName()); 112 bindElement("constantsLastNameText", txtLastName); 113 bindElement("constantsFavoriteColorCaption", constants.favoriteColor()); 114 bindElement("constantsFavoriteColorList", colorChoices); 115 116 txtFirstName.setText("Amelie"); 117 txtLastName.setText("Crutcher"); 118 } 119 120 private void initConstantsWithLookupExample( 121 ConstantsWithLookupExampleController controller) { 122 ConstantsWithLookupExampleConstants constants = controller.getConstants(); 123 bindElement("constantsWithLookupInputCaption", constants.input()); 124 bindElement("constantsWithLookupInputText", controller.txtInput); 125 bindElement("constantsWithLookupResultsCaption", constants.result()); 126 bindElement("constantsWithLookupResultsText", controller.txtResult); 127 } 128 129 private void initDateTimeFormatExample( 130 DateTimeFormatExampleController controller) { 131 DateTimeFormatExampleConstants constants = controller.getConstants(); 132 bindElement("dateTimeFormatPatternCaption", constants.pattern()); 133 bindElement("dateTimeFormatPatternList", controller.lstSamplePatterns); 134 bindElement("dateTimeFormatPatternText", controller.txtCurrentPattern); 135 bindElement("dateTimeFormatPatternError", controller.lblPatternError); 136 bindElement("dateTimeFormatInputCaption", constants.inputValue()); 137 bindElement("dateTimeFormatInputText", controller.txtInput); 138 bindElement("dateTimeFormatInputError", controller.lblParseError); 139 bindElement("dateTimeFormatOutputCaption", constants.formattedOutput()); 140 bindElement("dateTimeFormatOutputText", controller.lblFormattedOutput); 141 } 142 143 private void initDictionaryExample() { 144 FlexTable t = new FlexTable(); 145 t.setStyleName("i18n-dictionary"); 146 bindElement("dictionaryExample", t); 147 148 Dictionary userInfo = Dictionary.getDictionary("userInfo"); 149 Iterator s = userInfo.keySet().iterator(); 150 for (int i = 0; s.hasNext(); i++) { 151 String key = (String ) s.next(); 152 t.setText(0, i, key); 153 t.setText(1, i, userInfo.get(key)); 154 } 155 t.getRowFormatter().setStyleName(0, "i18n-dictionary-header-row"); 156 } 157 158 private void initMessagesExample(MessagesExampleController controller) { 159 MessagesExampleConstants constants = controller.getConstants(); 160 bindElement("messagesTemplateCaption", constants.messageTemplate()); 161 bindElement("messagesTemplateText", controller.lblMessageTemplate); 162 bindElement("messagesArg1Caption", constants.arg1()); 163 bindElement("messagesArg1Text", controller.txtArg1); 164 bindElement("messagesArg2Caption", constants.arg2()); 165 bindElement("messagesArg2Text", controller.txtArg2); 166 bindElement("messagesArg3Caption", constants.arg3()); 167 bindElement("messagesArg3Text", controller.txtArg3); 168 bindElement("messagesFormattedOutputCaption", constants.formattedMessage()); 169 bindElement("messagesFormattedOutputText", controller.lblFormattedMessage); 170 } 171 172 private void initNumberFormatExample(NumberFormatExampleController controller) { 173 NumberFormatExampleConstants constants = controller.getConstants(); 174 bindElement("numberFormatPatternCaption", constants.pattern()); 175 bindElement("numberFormatPatternList", controller.lstSamplePatterns); 176 bindElement("numberFormatPatternText", controller.txtCurrentPattern); 177 bindElement("numberFormatPatternError", controller.lblPatternError); 178 bindElement("numberFormatInputCaption", constants.inputValue()); 179 bindElement("numberFormatInputText", controller.txtInput); 180 bindElement("numberFormatInputError", controller.lblParseError); 181 bindElement("numberFormatOutputCaption", constants.formattedOutput()); 182 bindElement("numberFormatOutputText", controller.lblFormattedOutput); 183 } 184 } 185 | Popular Tags |