GMF修改Palette的title

用GMF生成的图形编辑器,工具栏名字叫Palette,最近有需求要把它改掉,并且能够国际化。看了半天源代码在FlyoutPaletteComposite$TitleCanvas类里找到了title的获取方式:

 

private void provideAccSupport() {
			getAccessible().addAccessibleListener(new AccessibleAdapter() {
				public void getDescription(AccessibleEvent e) {
					e.result = PaletteMessages.ACC_DESC_PALETTE_TITLE;
				}

				public void getHelp(AccessibleEvent e) {
					getDescription(e);
				}

				public void getName(AccessibleEvent e) {
					e.result = GEFMessages.Palette_Label;
				}
			});
			getAccessible().addAccessibleControlListener(
					new AccessibleControlAdapter() {
						public void getRole(AccessibleControlEvent e) {
							e.detail = ACC.ROLE_LABEL;
						}
					});
		}
 


还好GEFMessages.Palette_Label不是final类型的,这样我们只需在editor的构造函数里把它赋予新的值就可以。真相不明白GMF为什么不给修改Palette的title留有接口。

 

你可能感兴趣的:(it)