"public interface MyImageBundle extends ImageBundle {",
" AbstractImagePrototype first();",
"}"));
waitForAutoBuild();
// parse
RootPanelInfo frame =
parseJavaInfo(
"public class Test implements EntryPoint {",
" private static final MyImageBundle m_myBundle = GWT.create(MyImageBundle.class);",
" public void onModuleLoad() {",
" RootPanel rootPanel = RootPanel.get();",
" }",
"}");
assertNoErrors(frame);
// prepare prototype
ImageBundlePrototypeDescription prototype;
{
ImageBundleInfo bundle = ImageBundleContainerInfo.getBundles(frame).get(0);
List<ImageBundlePrototypeDescription> prototypes = bundle.getPrototypes();
prototype = prototypes.get(0);
}
// prepare category/entries
CategoryInfo category = new CategoryInfo();
category.setId("com.google.gdt.eclipse.designer.ImageBundle");
List<EntryInfo> entries = Lists.newArrayList();
// send palette broadcast
PaletteEventListener listener = frame.getBroadcast(PaletteEventListener.class);
listener.entries(category, entries);
// we should have exactly one entry
ToolEntryInfo toolEntry;
{
assertEquals(1, entries.size());
toolEntry = (ToolEntryInfo) entries.get(0);
}
// check Entry presentation
{
assertEquals(ObjectUtils.identityToString(prototype), toolEntry.getId());
assertThat(toolEntry.getName()).isEqualTo("first");
assertThat(toolEntry.getDescription()).contains("first()");
assertSame(prototype.getIcon(), toolEntry.getIcon());
}
// use this entry to create new Image widget
WidgetInfo newImage;
{
toolEntry.initialize(null, frame);
CreationTool creationTool = (CreationTool) toolEntry.createTool();
ICreationFactory creationFactory = creationTool.getFactory();
creationFactory.activate();
newImage = (WidgetInfo) creationFactory.getNewObject();
}
//
frame.command_CREATE2(newImage, null);
assertEditor(
"public class Test implements EntryPoint {",
" private static final MyImageBundle m_myBundle = GWT.create(MyImageBundle.class);",
" public void onModuleLoad() {",
" RootPanel rootPanel = RootPanel.get();",