private static Jevy GetJevy(SkupinaJevu skupina, string souborDocx, string strLanguage, string styleId, string styleUiName, TypJevu typJevu) { string sId = Jevy.GetID(strLanguage, styleId); if (!skupina.ContainsID(sId)) { var jvs = new Jevy(typJevu, souborDocx, strLanguage, styleId, styleUiName); skupina.Add(jvs); } return(skupina[sId]); }
private void ZpracovatZnakovyStylJakoJev(TextRunEventArgs ev) { //TODO Za jakých okonlností k tomu dochází? if (ev == null) { return; } if (ev.Text == null) { ev.Text = String.Empty; } string sText = _nastaveni.OdstranitPocatecniAKoncoveMezery ? ev.Text.Trim() : ev.Text; if (Nastaveni.StylyLokace.Contains(ev.Style.UIName)) { if (_aktualniLokace == null) { _aktualniLokace = sText; } else if (abRegex.IsMatch(sText) && slashAbRegex.IsMatch(_aktualniLokace)) { _aktualniLokace = _aktualniLokace.Substring(0, _aktualniLokace.LastIndexOf("/") + 1) + sText; } else { _aktualniLokace = sText; } } //pokud se odstraňovaly počáteční a koncové mezery a text je prázdný, znamená to, že text obsahoval pouze mezery //v tom případě se do výsledků takový text zahrne (půjde o mezery, tabulátory) if (_nastaveni.OdstranitPocatecniAKoncoveMezery && sText.Length == 0 && ev.Text != null) { sText = ev.Text; } Jev jv = new Jev(ev.Language, sText, null); Jevy jvs = GetJevy(ev.Language, ev.Style.ID, ev.Style.UIName, TypJevu.Useky); //jvs.Add(jv); Jevy jevyOdstavce = GetJevy(_jevyAktualnihoOdstavce, _souborDocx, ev.Language, ev.Style.ID, ev.Style.UIName, TypJevu.Useky); jevyOdstavce.Add(jv); _usekyAktulanihoOdstravceInContinuo.Add(new Usek(ev.Style.UIName, ev.Text, _aktualniLokace)); //jevyAktualnihoOdstavce.Add(jevyOdstavce); if (_nastaveni.ZahrnoutTextOdstavce) { string sOdstavecZnak = _aktualniOdstavecEventArgs.Style.ID + "+" + ev.Style.ID; string sOdstavecZnakID = Jevy.GetID(ev.Language, sOdstavecZnak); if (!_aktualniSkupinaJevu.ContainsID((sOdstavecZnakID))) { jvs = new Jevy(TypJevu.Useky, _souborDocx, ev.Language, sOdstavecZnak); jvs.Popis = _aktualniOdstavecEventArgs.Style.UIName + " + " + ev.Style.UIName; _aktualniSkupinaJevu.Add(jvs); } _aktualniSkupinaJevu[sOdstavecZnakID].Add(jv.Clone()); } }