using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Text;
using System.Diagnostics;
using System.Linq;
namespace X03.PageElements.Notations.NotNestables
{
public class Lf : PageElements.Notations.NotNestable, Plugin.PageElement, Plugin.Findable
{
override public void Accept(PageElementVisitor visitor)
{
visitor.Visit(this);
}
public override string ToHtml()
{
//TODO:ここでの置き換えは正しい?
var str = String.Join("", this.Children.ConvertAll<string>(x => x.ToHtml()).ToArray());
return Regex.Replace(str, Lf.Pattern, "<br />\n", RegexOptions.Singleline);
}
public override void InAction()
{
foreach (var child in this.Children)
child.InAction();
}
override public string CreateTag()
{
return this.GetType().Name + ":" + "";
}
public float SimilarityTo(PageElement that)
{
return 1F;
}
static public void Merge(PageElement parent, List<PageElements.Plains.Plaintext> children, PageElements.Notations.NotNestables.Lf target)
{
target.Children.AddRange(children.Cast<PageElement>().ToList());
}
new public static string Pattern = @"\r\n|\r|\n";
//override public Pattern? Pattern
//{
// get { return new Pattern("", Lf._pattern + "+", ""); }
//}
public Lf(PageElement parent, List<PageElements.Plains.Plaintext> children)
: base(parent, children)
{
}
}
}