예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
 public GroupBoxOptionsAttribute(GroupBoxOptions_e opts)
 {
     Options = opts;
 }