Thank you for your reply, Eric!
The genral idea is clear to me now. But the is a problem.
When I try to compile corresponding code the compiler says (see
MyGadget2.java code down this page):
Type mismatch: cannot convert from Class<HomeView> to Class<? extends
ContentSection<?>>.
and points to this line:
@Content(contents = {HomeView.class, OtherView.class})
And I failed to fix this.
Next, for convenience, I publish my complete code.
################## com.mygadget.MyGadget2.gwt.xml: ################
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='mygadget2'>
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.google.gwt.gadgets.Gadgets' />
<entry-point class='com.mygadget.client.MyGadget2'/>
</module>
###################################################################
######################### MyGadget2.java: #########################
package com.mygadget.client;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.gadgets.client.Gadget;
import com.google.gwt.gadgets.client.Gadget.AllowHtmlQuirksMode;
import com.google.gwt.gadgets.client.Gadget.InjectModulePrefs;
import com.google.gwt.gadgets.client.Gadget.ModulePrefs;
import com.google.gwt.gadgets.client.Gadget.UseLongManifestName;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.RootPanel;
@ModulePrefs(title = "MyGadget2")
@Gadget.Content(contents = {HomeContentSection.class,
CanvasContentSection.class})
@UseLongManifestName(false)
@AllowHtmlQuirksMode(false)
public class MyGadget2 extends Gadget<MyUserPreferences> {
@Override
protected void init(MyUserPreferences preferences) {
}
}
###################################################################
#################### HomeContentSection.java: #####################
package com.mygadget.client;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.gadgets.client.ContentSection;
import com.google.gwt.gadgets.client.Gadget;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.RootPanel;
@Gadget.ContentType(type = "html", views = {"home"})
public class HomeContentSection<T extends Gadget<MyUserPreferences>>
extends ContentSection<Gadget<MyUserPreferences>> {
public HomeContentSection () {
}
@Override
public void init(Gadget<MyUserPreferences> gadget) {
Button simpleButton = new Button("HomeView");
simpleButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window.alert("Hello Home World!");
}
});
RootPanel.get().add(simpleButton);
}
}
###################################################################
################### CanvasContentSection.java: ####################
package com.mygadget.client;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.gadgets.client.ContentSection;
import com.google.gwt.gadgets.client.Gadget;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.RootPanel;
@Gadget.ContentType(type = "html", views = {"canvas"})
public class CanvasContentSection<T extends Gadget<MyUserPreferences>>
extends ContentSection<Gadget<MyUserPreferences>> {
@Override
public void init(Gadget<MyUserPreferences> gadget) {
Button simpleButton = new Button("CanvasView");
simpleButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window.alert("Hello Canvas World!");
}
});
RootPanel.get().add(simpleButton);
}
}
#########################THE END OF CODE###########################