private swAddGroupBoxOptions_e GetGroupOptions(IAttributeSet atts, IMetadata[] metadata, out IMetadata toggleMetadata) { GroupBoxOptions_e opts = 0; if (atts.Has <IGroupBoxOptionsAttribute>()) { opts = atts.Get <IGroupBoxOptionsAttribute>().Options; } var swOpts = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible; if (!opts.HasFlag(GroupBoxOptions_e.Collapsed)) { swOpts |= swAddGroupBoxOptions_e.swGroupBoxOptions_Expanded; } if (atts.Has <ICheckableGroupBoxAttribute>()) { var checkAtt = atts.Get <ICheckableGroupBoxAttribute>(); swOpts |= swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox; toggleMetadata = metadata?.FirstOrDefault(m => object.Equals(m.Tag, checkAtt.ToggleMetadataTag)); if (toggleMetadata == null) { throw new NullReferenceException($"Failed to find the metadata to drive group toggle: '{checkAtt.ToggleMetadataTag}'"); } } else { toggleMetadata = null; } return(swOpts); }
private swAddGroupBoxOptions_e GetGroupOptions(IAttributeSet atts) { GroupBoxOptions_e opts = 0; if (atts.Has <IGroupBoxOptionsAttribute>()) { opts = atts.Get <IGroupBoxOptionsAttribute>().Options; } var swOpts = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible; if (!opts.HasFlag(GroupBoxOptions_e.Collapsed)) { swOpts |= swAddGroupBoxOptions_e.swGroupBoxOptions_Expanded; } if (atts.Has <ICheckableGroupBoxAttribute>()) { swOpts |= swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox; } return(swOpts); }
public GroupBoxOptionsAttribute(GroupBoxOptions_e opts) { Options = opts; }