コード例 #1
0
        /// <summary>
        /// Split entry type and expr/prompt
        /// </summary>
        /// <param name="src">source line</param>
        /// <param name="entryType">entry type</param>
        /// <param name="value">expr or prompt</param>
        /// <returns>isSuccess</returns>
        private static bool GetEntryTypeValue(string src,
                                              out MenuEntryType entryType, out string value)
        {
            var match = FindEntryTypeValueRegex.Match(src);
            var type  = match.Groups["key"].Value;

            value = match.Groups["val"].Value;
            return(Enum.TryParse(type, true, out entryType));
        }
コード例 #2
0
ファイル: MenuTreeClass.cs プロジェクト: contensive/aoLibrary
        //
        // ===============================================================================
        // Create a new Menu Entry
        // ===============================================================================
        //
        public void AddEntry(string EntryName, string ParentiEntryName, string ImageLink, string ImageOverLink, string Link, string Caption, string OnClickJavascript = "", string Ignore1 = "", string ImageOpenLink = "", bool NewWindow = false)
        {
            string iEntryName;
            string UcaseEntryName;

            //
            iEntryName     = EntryName.Replace(",", "");
            UcaseEntryName = iEntryName.ToUpperInvariant();
            //
            if (string.IsNullOrWhiteSpace(iEntryName))
            {
                return;
            }
            if (UsedEntries.Contains(UcaseEntryName))
            {
                return;
            }
            UsedEntries.Add(UcaseEntryName);

            if ((iEntryName != "") & (Strings.InStr(1, UsedEntries + ",", "," + UcaseEntryName + ",", Constants.vbBinaryCompare) == 0))
            {
                UsedEntries = UsedEntries + "," + UcaseEntryName;
                if (iEntryCount >= iEntrySize)
                {
                    iEntrySize = iEntrySize + 10;
                    var oldIEntry = iEntry;
                    iEntry = new MenuEntryType[iEntrySize + 1];
                    if (oldIEntry != null)
                    {
                        Array.Copy(oldIEntry, iEntry, Math.Min(iEntrySize + 1, oldIEntry.Length));
                    }
                }
                MenuEntryType withBlock = iEntry[iEntryCount];
                withBlock.Link       = Link;
                withBlock.Image      = ImageLink;
                withBlock.OnClick    = OnClickJavascript;
                withBlock.Name       = UcaseEntryName;
                withBlock.ParentName = ParentiEntryName.ToUpperInvariant();
                withBlock.ImageOver  = ImageOverLink;
                withBlock.ImageOpen  = ImageOpenLink;
                withBlock.NewWindow  = NewWindow;
                withBlock.Caption    = string.IsNullOrWhiteSpace(Caption) ? iEntryName : Caption;
                EntryIndexName.SetPointer(UcaseEntryName, iEntryCount);
                iEntryCount = iEntryCount + 1;
            }
        }