public DisplayModifierAttribute(string name,
                                 HidingMode hidingMode   = HidingMode.Default, string[] hidingConditionVars = null, HidingCondition hidingConditions = HidingCondition.None,
                                 FoldingMode foldingMode = FoldingMode.Default, DM_Decorations decorations  = 0)
     : this(hidingMode, hidingConditionVars, hidingConditions, foldingMode, decorations)
 {
     OverrideName(name);
 }
    public DisplayModifierAttribute(
        HidingMode hidingMode   = HidingMode.Default, string[] hidingConditionVars = null, HidingCondition hidingConditions = HidingCondition.None,
        FoldingMode foldingMode = FoldingMode.Default, DM_Decorations decorations  = DM_Decorations.None)
    {
        extraLabelLine       = decorations.ContainsFlag(DM_Decorations.MoveLabel);
        this.hidingMode      = hidingMode;
        this.hidingCondition = hidingConditions;
        conditionVars        = hidingConditionVars;
        if (hidingConditionVars != null && hidingConditionVars.Length > 0)
        {
            if (this.hidingMode == HidingMode.Default)
            {
                this.hidingMode = HidingMode.GreyedOut;
            }
            if (hidingCondition == HidingCondition.None)
            {
                hidingCondition = HidingCondition.FalseOrNull;
            }
        }

        this.foldingMode = foldingMode;
        decorationFlags  = decorations;
    }