📄 contentmodel.cs
字号:
namespace FreeTextBoxControls.Support.Sgml
{
using System;
public class ContentModel
{
public ContentModel()
{
this.Model = new Group(null);
}
public void AddConnector(char c)
{
this.Model.AddConnector(c);
}
public void AddOccurrence(char c)
{
this.Model.AddOccurrence(c);
}
public void AddSymbol(string sym)
{
this.Model.AddSymbol(sym);
}
public bool CanContain(string name, SgmlDtd dtd)
{
if (this.DeclaredContent != FreeTextBoxControls.Support.Sgml.DeclaredContent.Default)
{
return false;
}
return this.Model.CanContain(name, dtd);
}
public int PopGroup()
{
if (this.CurrentDepth == 0)
{
return -1;
}
this.CurrentDepth--;
this.Model.Parent.AddGroup(this.Model);
this.Model = this.Model.Parent;
return this.CurrentDepth;
}
public void PushGroup()
{
this.Model = new Group(this.Model);
this.CurrentDepth++;
}
public void SetDeclaredContent(string dc)
{
switch (dc)
{
case "EMPTY":
this.DeclaredContent = FreeTextBoxControls.Support.Sgml.DeclaredContent.EMPTY;
return;
case "RCDATA":
this.DeclaredContent = FreeTextBoxControls.Support.Sgml.DeclaredContent.RCDATA;
return;
case "CDATA":
this.DeclaredContent = FreeTextBoxControls.Support.Sgml.DeclaredContent.CDATA;
return;
}
throw new Exception(string.Format("Declared content type '{0}' is not supported", dc));
}
public int CurrentDepth;
public FreeTextBoxControls.Support.Sgml.DeclaredContent DeclaredContent;
public Group Model;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -