gmf中刷新界面元素

在gmf中如何刷新当前界面中的元素呢,看部主要分代码:

IEditorReference[] editorReferences = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage()
.getEditorReferences();
IEditorPart editorPart = null;
IEditorInput editorInput = null;
for (IEditorReference editorReference : editorReferences)
{
if (editorReference.getId().equals(
"Jonas.diagram.part.JonasDiagramEditorID"))
{

editorPart = editorReference.getEditor(false);

editorInput = editorPart.getEditorInput();
String projectPath = EditorUtils
.getProjectPathFromURIEditorInput((URIEditorInput) editorInput);
if (!projectPath.equals(project.getLocation().toString()))
{
continue;
}
JonasDiagramEditor editor = (JonasDiagramEditor) editorPart;
ViewEditPart view = (ViewEditPart) editor.getDiagramEditPart();
for (Object childEditPart : view.getChildren())
{
refreshControl((BaseEditPart) childEditPart);
}
}
}


private void refreshControl(BaseEditPart editPart)
{
EObject obj = editPart.resolveSemanticElement();
if (obj instanceof Widgetcommon)
{
Widgetcommon control = (Widgetcommon) obj;
//重新为控件设置,刷新界面对象
BaseFigure figure = (BaseFigure) editPart.getPrimaryFigure();

if (control.getNormalskin() != null)
{
Image image = EditorUtils.getSKinGrighce(control.getWidth(),
control.getHeight(),
((Widgetcommon) obj).getNormalskin(),true);
if (image != null)
{
figure.setBackImg(image);
}
}

if (control instanceof Text && ((Text) control).getText() != null)
{
Font font = EditorUtils.getFontStyle(editPart);
if (font != null)
{
figure.setFont(font);
}
String text = EditorUtils.getTextValue(editPart,
((Text) obj).getText());
figure.setText(text);
editPart.setFgColor();
}
figure.repaint();
}
if (obj instanceof Container || obj instanceof ItemContainer)
{
//刷新子控件
for (Object childEditPart : editPart.getChildren())
{
refreshControl((BaseEditPart) childEditPart);
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值