use of org.csstudio.opibuilder.widgets.model.GroupingContainerModel.PROP_TRANSPARENT in project yamcs-studio by yamcs.
the class GroupingContainerEditPart method registerPropertyChangeHandlers.
@Override
protected void registerPropertyChangeHandlers() {
setPropertyChangeHandler(PROP_TRANSPARENT, (oldValue, newValue, figure) -> {
figure.setOpaque(!(Boolean) newValue);
return true;
});
setPropertyChangeHandler(PROP_ENABLED, (oldValue, newValue, figure) -> {
for (var child : getWidgetModel().getChildren()) {
child.setEnabled((Boolean) newValue);
}
return true;
});
setPropertyChangeHandler(PROP_LOCK_CHILDREN, (oldValue, newValue, figure) -> {
lockChildren((Boolean) newValue);
return true;
});
lockChildren(getWidgetModel().isLocked());
if (getWidgetModel().getParent() instanceof TabModel) {
removeAllPropertyChangeHandlers(PROP_VISIBLE);
setPropertyChangeHandler(PROP_VISIBLE, (oldValue, newValue, refreshableFigure) -> {
boolean visible = (Boolean) newValue;
var figure = getFigure();
figure.setVisible(visible);
return true;
});
}
setPropertyChangeHandler(PROP_SHOW_SCROLLBAR, (oldValue, newValue, refreshableFigure) -> {
((GroupingContainerFigure) refreshableFigure).setShowScrollBar((Boolean) newValue);
return true;
});
IWidgetPropertyChangeHandler fowardColorHandler = (oldValue, newValue, refreshableFigure) -> {
if (getWidgetModel().isForwardColors()) {
forwardColors();
}
return true;
};
setPropertyChangeHandler(PROP_FORWARD_COLORS, fowardColorHandler);
setPropertyChangeHandler(PROP_COLOR_BACKGROUND, fowardColorHandler);
setPropertyChangeHandler(PROP_COLOR_FOREGROUND, fowardColorHandler);
// use property listener because it doesn't need to be queued in GUIRefreshThread.
getWidgetModel().getProperty(PROP_WIDTH).addPropertyChangeListener(evt -> resizeChildren((Integer) (evt.getNewValue()), (Integer) (evt.getOldValue()), true));
getWidgetModel().getProperty(PROP_HEIGHT).addPropertyChangeListener(evt -> resizeChildren((Integer) (evt.getNewValue()), (Integer) (evt.getOldValue()), false));
}
Aggregations