public static SInstanceViewState get(SInstance instance) { if (instance == null) return SInstanceViewState.HIDDEN; final boolean exists = instance.exists(); final Boolean visible = SInstances.attributeValue(instance, SPackageBasic.ATR_VISIBLE, null); final Boolean enabled = SInstances.attributeValue(instance, SPackageBasic.ATR_ENABLED, null); if (exists) { if (visible != null && !visible) { return SInstanceViewState.HIDDEN; } else if (enabled != null && !enabled) { return SInstanceViewState.READONLY; } else { return SInstanceViewState.EDITABLE; } } else { if (visible != null && visible) { return SInstanceViewState.READONLY; } else { return SInstanceViewState.HIDDEN; } } }
public void updateExists() { SInstances.updateBooleanAttribute(this, SPackageBasic.ATR_EXISTS, SPackageBasic.ATR_EXISTS_FUNCTION); if (!exists()) SInstances.visitPostOrder(this, (i, v) -> i.clearInstance()); }
public static SInstanceViewState get(SInstance instance) { if (instance == null) return SInstanceViewState.HIDDEN; final boolean exists = instance.exists(); final Boolean visible = SInstances.attributeValue(instance, SPackageBasic.ATR_VISIBLE, null); final Boolean enabled = SInstances.attributeValue(instance, SPackageBasic.ATR_ENABLED, null); if (exists) { if (visible != null && !visible) { return SInstanceViewState.HIDDEN; } else if (enabled != null && !enabled) { return SInstanceViewState.READONLY; } else { return SInstanceViewState.EDITABLE; } } else { if (visible != null && visible) { return SInstanceViewState.READONLY; } else { return SInstanceViewState.HIDDEN; } } }
public void updateExists() { SInstances.updateBooleanAttribute(this, SPackageBasic.ATR_EXISTS, SPackageBasic.ATR_EXISTS_FUNCTION); if (!exists()) SInstances.visitPostOrder(this, (i, v) -> i.clearInstance()); }