示例#1
0
文件: UFModel.cs 项目: iwaldrop/UFind
        static UFPlugin GetNextPlugin(UFPlugin origin)
        {
            var next = Plugins.Find(origin).Next;

            if (next != null)
            {
                var value = next.Value;
                return(value.Results.Count == 0
                                        ? GetNextPlugin(value)
                                        : value);
            }
            return(null);
        }
示例#2
0
文件: UFModel.cs 项目: iwaldrop/UFind
        static UFPlugin GetPreviousPlugin(UFPlugin origin)
        {
            var previous = Plugins.Find(origin).Previous;

            if (previous != null)
            {
                var value = previous.Value;
                return(value.Results.Count == 0
                                        ? GetPreviousPlugin(value)
                                        : value);
            }
            return(null);
        }
示例#3
0
文件: UFModel.cs 项目: iwaldrop/UFind
        internal static void SelectNextResult()
        {
            var result = Context.SelectedResult;

            if (result != null)
            {
                var plugin = GetPluginForResult(result);
                var index  = plugin.Results.IndexOf(result);
                if (index < plugin.Results.Count - 1)
                {
                    SelectResult(plugin.Results[index + 1]);
                }
                else
                {
                    UFPlugin next = GetNextPlugin(plugin);
                    if (next != null)
                    {
                        SelectResult(next.Results[0]);
                    }
                }
            }
        }
示例#4
0
文件: UFModel.cs 项目: iwaldrop/UFind
        internal static void SelectPreviousResult()
        {
            var result = Context.SelectedResult;

            if (result != null)
            {
                var plugin = GetPluginForResult(result);
                var index  = plugin.Results.IndexOf(result);
                if (index > 0)
                {
                    SelectResult(plugin.Results[index - 1]);
                }
                else
                {
                    UFPlugin previous = GetPreviousPlugin(plugin);
                    if (previous != null)
                    {
                        SelectResult(previous.Results[previous.Results.Count - 1]);
                    }
                }
            }
        }