blob: 644dc33f38c3264c17a4333ddc172da259692c60 [file] [log] [blame]
/*
* Copyright 2008 Google 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 com.google.gwt.museum.client.defaultmuseum;
import com.google.gwt.museum.client.common.AbstractIssue;
import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
import com.google.gwt.user.client.ui.SuggestBox;
import com.google.gwt.user.client.ui.SuggestOracle;
import com.google.gwt.user.client.ui.Widget;
/**
* SuggestBox does not shrink to fit its contents when the number of suggestions
* is reduced. This issue was reported against IE in standards mode.
*/
public class Issue2392 extends AbstractIssue {
private MultiWordSuggestOracle oracle = null;
@Override
public Widget createIssue() {
SuggestBox box = new SuggestBox(getSuggestOracle());
// Enable animations to ensure that the suggestions are only animated when
// they are opened the first time.
box.setAnimationEnabled(true);
return box;
}
@Override
public String getInstructions() {
return "Type in the word 'add' one letter at a time. As the number of "
+ "suggestions is reduced, the red box around the SuggestPopup should "
+ "shrink to just fit the contents.";
}
@Override
public String getSummary() {
return "SuggestBox does not shrink when the number of suggestions is "
+ "reduced";
}
@Override
public boolean hasCSS() {
return true;
}
/**
* Create a {@link SuggestOracle} that returns random words. Only one suggest
* oracle is created.
*
* @return a {@link SuggestOracle}
*/
private SuggestOracle getSuggestOracle() {
if (oracle == null) {
oracle = new MultiWordSuggestOracle();
for (char a = 'a'; a <= 'z'; a++) {
for (char b = 'a'; b <= 'm'; b++) {
for (char c = 'a'; c <= 'd'; c++) {
oracle.add("" + a + b + c);
}
}
}
}
return oracle;
}
}