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) { } }
}


