use of com.intellij.uiDesigner.radComponents.RadComponent in project intellij-community by JetBrains.
the class GuiEditor method refreshProperties.
private void refreshProperties() {
final Ref<Boolean> anythingModified = new Ref<>();
FormEditingUtil.iterate(myRootContainer, new FormEditingUtil.ComponentVisitor() {
public boolean visit(final IComponent component) {
final RadComponent radComponent = (RadComponent) component;
boolean componentModified = false;
for (IProperty prop : component.getModifiedProperties()) {
if (prop instanceof IntroStringProperty) {
IntroStringProperty strProp = (IntroStringProperty) prop;
componentModified = strProp.refreshValue(radComponent) || componentModified;
}
}
if (component instanceof RadContainer) {
componentModified = ((RadContainer) component).updateBorder() || componentModified;
}
if (component.getParentContainer() instanceof RadTabbedPane) {
componentModified = ((RadTabbedPane) component.getParentContainer()).refreshChildTitle(radComponent) || componentModified;
}
if (componentModified) {
anythingModified.set(Boolean.TRUE);
}
return true;
}
});
if (!anythingModified.isNull()) {
refresh();
DesignerToolWindow designerToolWindow = DesignerToolWindowManager.getInstance(this);
ComponentTree tree = designerToolWindow.getComponentTree();
if (tree != null)
tree.repaint();
PropertyInspector inspector = designerToolWindow.getPropertyInspector();
if (inspector != null)
inspector.synchWithTree(true);
}
}
Aggregations