📄 breadcrumbsmanager.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using ScrewTurn.Wiki.PluginFramework;
namespace ScrewTurn.Wiki {
/// <summary>
/// Manages navigation Breadcrumbs.
/// </summary>
[Serializable]
public class BreadcrumbsManager {
private static int maxPages = 10;
private List<PageInfo> pages;
/// <summary>
/// Initializes a new instance of the <b>BreadcrumbsManager</b> class.
/// </summary>
public BreadcrumbsManager() {
pages = new List<PageInfo>();
}
/// <summary>
/// Adds a Page to the Breadcrumbs trail.
/// </summary>
/// <param name="page">The Page to add.</param>
public void AddPage(PageInfo page) {
lock(pages) {
if(pages.Count == 0 || (pages.Count > 0 && !pages.Contains(page))) pages.Add(page);
if(pages.Count > maxPages) pages.RemoveRange(0, pages.Count - maxPages);
}
}
/// <summary>
/// Removes a Page from the Breadcrumbs trail.
/// </summary>
/// <param name="page">The Page to remove.</param>
public void RemovePage(PageInfo page) {
lock(pages) {
pages.Remove(page);
}
}
/// <summary>
/// Clears the Breadcrumbs trail.
/// </summary>
public void Clear() {
lock(pages) {
pages.Clear();
}
}
/// <summary>
/// Gets all the Pages.
/// </summary>
public PageInfo[] AllPages {
get {
PageInfo[] array;
lock(pages) {
array = pages.ToArray();
}
return array;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -