Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
E4/EAS/Updating UI Elements
Any application that's not for kiosks will generally have some menus and a couple of tool bar items for the user to interact with. There may also be arrays of tabs to provide a view of the information that the user may be interested in. As the information and context of the application alters, these user interface elements may need to be updated.
Commands often have two different representations on the user interface. Consider the save command for example, it has an entry in the 'File' menu and it is also displayed the tool bar as a clickable tool item. If this command's displayed text needs to be altered, say, if its keybinding has changed, then both its UI representation as a menu item and a tool item needs to be updated.
Contents
Eclipse 3.x API
Updating a part's name
In Eclipse 3.x, a workbench part can alter its tab's text with the protected setPartName(String) method.
public class MyPart extends ViewPart { private void render(Model model) { setPartName(model.getName()); } }
Updating a part's image
In Eclipse 3.x, a workbench part can alter its tab's image with the protected setTitleImage(Image) method.
public class MyPart extends ViewPart { private void render(Model model) { setTitleImage(getImage(model)); } private Image getImage(Model model) { /* implementation not shown */ } }
Updating a part's tooltip
In Eclipse 3.x, a workbench part can alter its tab's tooltip with the protected setTitleToolTip(String) method.
public class MyPart extends ViewPart { private void render(Model model) { setTitleToolTip(model.getDescription()); } }
e4 (Java)
Updating a part's name
Injection can be used for retrieving the "owning" UI item. The client can then set its name directly.
public class MyPart { @Inject private MUILabel uiLabel; private void render(Model model) { uiLabel.setLabel(model.getName()); } }
Updating a part's image
Injection can be used for retrieving the "owning" UI item. The client can then set its image directly.
public class MyPart { @Inject private MUILabel uiLabel; private void render(Model model) { uiLabel.setIconUri(getImageURI(model)); } private String getImageURI(Model model) { /* implementation not shown */ } }
Updating a part's tooltip
Injection can be used for retrieving the "owning" UI item. The client can then set its tooltip directly.
public class MyPart { @Inject private MUILabel uiLabel; private void render(Model model) { uiLabel.setTooltip(model.getDescription()); } }