void mdxrReader_KonecOdstavce(object sender, ParagraphEventArgs ev) { if (mblnIgnorovat) { if (ev.Style.UIName == mstrIgnorovanyOdstavcovyStyl) { mstrIgnorovanyOdstavcovyStyl = null; mblnIgnorovat = false; } } else { //mstrPredchoziOdstavcovyStyl = ev.StyleID; //jak zjistit, který tag se používá? VypsatTagProAktualniZnakovyStyl(); //TODO Proč je někdy mtgAktualniOdstavcovyTag null? if (mtgAktualniOdstavcovyTag != null) { if (!mtgAktualniOdstavcovyTag.BezZnacky) { mxwWriter.WriteEndElement(); } } } //TODO Zjistit, proč někdy konec odstavce neobsahuje žádný styl; v textu predcházel prvek w:pict if (ev.Style != null) { mstrPredchoziOdstavcovyStyl = ev.Style.UIName; } mtgPredchoziZnakovyTag = null; }
void mdxrReader_ZacatekOdstavce(object sender, ParagraphEventArgs ev) { //mtrTransformace.tagy[2]; //je potřeba vygenerovat tag: zjistit IDStylu, na jeho základě název, // najít název v Transformacích mstrPredchoziZnakovyStyl = null; mtreaAktualniTextRun = null; mtgAktualniZnakovyTag = null; string sID = Tag.GetIdentifikator(ev.Style.UIName, mstrPredchoziOdstavcovyStyl); if (mtrTransformace.Tagy.ContainsID(sID)) { mtgAktualniOdstavcovyTag = mtrTransformace.Tagy.GetTagByID(sID); } else { sID = Tag.GetIdentifikator(ev.Style.UIName, null); mtgAktualniOdstavcovyTag = mtrTransformace.Tagy.GetTagByID(sID); } mstrAktualniOdstavcovyStyl = ev.Style.UIName; if (mtgAktualniOdstavcovyTag == null && mtrTransformace.Tagy.ContainsID(csHvezdicka)) { string sId = Tag.GetIdentifikator(csHvezdicka, null); if (mtrTransformace.Tagy.ContainsID(sId)) { mtgAktualniOdstavcovyTag = mtrTransformace.Tagy.GetTagByID(sId); } } if (mtgAktualniOdstavcovyTag == null) { return; } mtgAktualniOdstavcovyTag.TypTagu = TypTagu.Odstavec; if (mtgAktualniOdstavcovyTag.Ignorovat) { mblnIgnorovat = true; mstrIgnorovanyOdstavcovyStyl = ev.Style.UIName; } else { GenerujTag(mtgAktualniOdstavcovyTag, mstrAktualniOdstavcovyStyl, false); } //mxwWriter.WriteStartElement("p"); }
private void mdxrReader_ZacatekOdstavce(object sender, ParagraphEventArgs ev) { _predchoziUsekZnakovehoStylu = null; _jevyAktualnihoOdstavce = new SkupinaJevu(); _usekyAktulanihoOdstravceInContinuo = new List <Usek>(40); _aktualniOdstavecStack.Push(ev); _aktualniOdstavecEventArgs = _aktualniOdstavecStack.Peek(); if (_textOdstavceSb != null) { _nejdelsiOdstavec = _textOdstavceSb.Length > _nejdelsiOdstavec ? _textOdstavceSb.Length : _nejdelsiOdstavec; } _textOdstavce = null; _textOdstavceSb = new StringBuilder(_nejdelsiOdstavec); }
private void mdxrReader_KonecOdstavce(object sender, ParagraphEventArgs ev) { _predchoziUsekZnakovehoStylu = null; if (!_nastaveni.ZahrnoutTextOdstavce) { return; } string sId = Jevy.GetID(ev.Style.Language, ev.Style.ID); if (_textOdstavce == null) { _textOdstavce = "\r\n"; } if (_textOdstavceSb.Length == 0) { _textOdstavceSb.AppendLine(); } //Jev jv = new Jev(ev.Style.Language, mstrTextOdstavce, null); string sText = _nastaveni.OdstranitPocatecniAKoncoveMezery ? _textOdstavceSb.ToString().Trim() : _textOdstavceSb.ToString(); StringBuilder jevySb = new StringBuilder(sText.Length); if (!_styly.ContainsKey(ev.Style.UIName)) { _styly.Add(ev.Style.UIName, _styly.Count + 1); } int stylOdstavce = _styly[ev.Style.UIName]; //jevySb.Append(String.Format("<p i=\"{0}\" s=\"{1}\">", ++poradiOdstavce, ev.Style.UIName)); //jevySb.Append(String.Format("<p l=\"{0}\" i=\"{1}\" s=\"{2}\">", _aktualniLokace, ++poradiOdstavce, stylOdstavce)); XElement root = new XElement("p", new XAttribute("l", _aktualniLokace ?? "0"), new XAttribute("i", ++_poradiOdstavce), new XAttribute("s", stylOdstavce) ); char[] xmlEscape = new[] { '&', '<', '>' }; foreach (Usek jev in _usekyAktulanihoOdstravceInContinuo) { if (!_styly.ContainsKey(jev.Styl)) { _styly.Add(jev.Styl, _styly.Count + 1); } int stylZnaku = _styly[jev.Styl]; //jevySb.Append(String.Format("<r s=\"{0}\">{1}</r>", jev.Styl, jev.Text)); string text = jev.Text; if (text.IndexOfAny(xmlEscape) > -1) { text = jev.Text.Replace("&", "&").Replace("<", "<").Replace(">", ">"); } //jevySb.Append(String.Format("<r l=\"{0}\" s=\"{1}\">{2}</r>", jev.Lokace, stylZnaku, text)); //jevySb.Append(String.Format("<r s=\"{0}\">{1}</r>", stylZnaku, text)); root.Add(new XElement("r", new XAttribute("s", stylZnaku), new XText(text) )); } //jevySb.Append("</p>"); XDocument document = new XDocument(); document.Add(root); string textOdstavce = jevySb.ToString(); //ObsahDokumentu.Add(textOdstavce); textOdstavce = document.ToString(SaveOptions.DisableFormatting); ObsahDokumentu.Add(textOdstavce); foreach (Jevy jevy in _jevyAktualnihoOdstavce) { Jevy tmpJevy = GetJevy(jevy.Jazyk, jevy.Identifikator, jevy.Popis, jevy.Druh); foreach (Jev jev in jevy) { //jev.Kontexty.Add(sText); //jev.Kontexty.Add(textOdstavce); jev.Kontexty.Add(_poradiOdstavce.ToString(CultureInfo.InvariantCulture)); //jev.Kontexty.Add(poradiOdstavce.ToString(CultureInfo.InvariantCulture)); tmpJevy.Add(jev); } } Jev jv = new Jev(ev.Style.Language, sText, null); Jevy jvs = GetJevy(ev.Style.Language, ev.Style.ID, ev.Style.UIName, TypJevu.Odstavce); jvs.Add(jv); _aktualniSkupinaJevu[sId] = jvs; if (_aktualniOdstavecStack.Count == 0) { _aktualniOdstavecEventArgs = null; } else { _aktualniOdstavecEventArgs = _aktualniOdstavecStack.Pop(); } }
public void FireInsertAtVideoPosition(ParagraphEventArgs e) { if (InsertAtVideoPosition != null) { InsertAtVideoPosition.Invoke(this, e); } }
public void FireOnZoomedChanged(ParagraphEventArgs e) { if (OnZoomedChanged != null) { OnZoomedChanged.Invoke(this, e); } }
public void FireOnPause(ParagraphEventArgs e) { if (OnPause != null) { OnPause.Invoke(this, e); } }
public void FireOnDoubleClickNonParagraph(ParagraphEventArgs e) { if (OnDoubleClickNonParagraph != null) { OnDoubleClickNonParagraph.Invoke(this, e); } }
public void FireOnSingleClick(ParagraphEventArgs e) { if (OnSingleClick != null) { OnSingleClick.Invoke(this, e); } }
public void FireOnTimeChangedAndOffsetRest(ParagraphEventArgs e) { if (OnTimeChangedAndOffsetRest != null) { OnTimeChangedAndOffsetRest.Invoke(this, e); } }
public void FireOnPositonSelected(ParagraphEventArgs e) { if (OnPositionSelected != null) { OnPositionSelected.Invoke(this, e); } }
public void FireOnNonParagraphRightClicked(ParagraphEventArgs e) { if (OnNonParagraphRightClicked != null) { OnNonParagraphRightClicked.Invoke(this, e); } }