예제 #1
0
            public bool ParseFlag(string sFlag)
            {
                if (sFlag.Length == 0)
                {
                    return(false);
                }

                var groupAndFlag = ItemFlags.ParseFlagIndex(sFlag);

                if (groupAndFlag.Group == ItemFlagGroup.Last)
                {
                    throw new Exception($"Unknown notifier flag '{sFlag}' in line:\r\n{orgString}");
                    return(false);
                }

                if (groupAndFlag.Group < ItemFlagGroup.NoMask)
                {
                    // $iFlag = BitOR(BitRotate(1, $iFlag, "D"), $avRet[$iGroup])
                    groupAndFlag.Flag = (1 << groupAndFlag.Flag) | Flags[groupAndFlag.Group];
                }
                Flags[groupAndFlag.Group] = groupAndFlag.Flag;
                //notifyCompile.SetValue((enotifyFlags)iGroup, iFlag.ToString());

                return(groupAndFlag.Group != ItemFlagGroup.Colour);
            }