private void bgLoadStyle_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { rci = new ReferenceCitationItem(); TextCitationItem tci = rci.AddBlock(); tci.AddItem(listItems[6], "", 0, ""); tci.AddItem(listItems[1], "", 1, ""); tci.AddItem(listItems[2], "", 2, ""); tci = rci.AddBlock(); tci.AddItem(listItems[0], "", 3, ""); tci.AddItem(listItems[3], "", 4, ""); tci.AddItem(listItems[4], "", 5, ""); tci = rci.AddBlock(); tci.AddItem(listItems[0], "", 6, ""); tci.AddItem(listItems[1], "", 7, ""); tci.AddItem(listItems[2], "", 8, ""); tci.AddItem(listItems[5], "", 9, ""); tci.AddItem(listItems[6], "", 10, ""); tci.AddItem(listItems[7], "", 11, ""); preparePreview(false); } catch{} }
private void updateRCI(ReferenceCitationItem rci) { try { int index_lastfield = 0; int fieldDelCount = 0; TextCitationItem currtci = null; for (int i = 0; i < rci.TextCitations.Count; i++) { currtci = rci.TextCitations[i]; for (int j = 0; j < currtci.FormatString.Count; j++) { int index = currtci.FieldIndexes[j]; string url = currtci.URLList[j]; string screentip = CitationTools.FormatCitationScreenTip(currtci.Items[j]); string formatstring = currtci.FormatString[j]; index_lastfield = index; editor.UpdateLink(index - fieldDelCount, formatstring, url, screentip); } if (currtci.FormatString.Count < currtci.FieldIndexes.Count) { index_lastfield = currtci.FieldIndexes[currtci.FormatString.Count]; for (int j = 0; j < currtci.DuplicateCount; j++) { editor.RemoveCitation(index_lastfield - fieldDelCount); fieldDelCount++; index_lastfield++; } } for (int j = 0; j < currtci.DeletedIndexes.Count; j++) { int indexNotFoundLink = currtci.DeletedIndexes[j]; editor.MissingCitation(indexNotFoundLink, "[missing]"); fieldDelCount++; } } if (rci.FormatString.Length > 0) editor.UpdateReferences(rci.FieldIndex - fieldDelCount, rci.FormatString, rci.URL); } catch(Exception ex) { log.WriteLine(LogType.Error, "DocumentFormatter::updateRCI", ex.ToString()); } }
public void RefreshCitations(bool bFlushed) { try { if (bFlushed) { listMasterRefItemIDs = new List<int>(); listCurrentCitedReferences = new Dictionary<int, ItemMasterRow>(); } rci = getRCI(); if (rci.TextCitations.Count > 0) refreshReferences(); bTooManyCitations = rci.MasterRefList.Count > Properties.Settings.Default.DEFAULT_NUMOFCITATIONS_NOREFRESH; } catch (Exception ex) { log.WriteLine(LogType.Error, "DocumentFormatter::RefreshCitations", ex.ToString()); } }
private ReferenceCitationItem getRCI() { ReferenceCitationItem rci = new ReferenceCitationItem(); try { rci.DocType = "MSWORD"; TextCitationItem currtci = null; WordHyperLink prevlink = null; int fieldDelCount = 0; List<int> listDeletedFields = new List<int>(); List<int> listNullURL = new List<int>(); int iLinkCount = editor.GetLinkCount(); for (int i = 1; i <= iLinkCount; i++) { try { WordHyperLink link = editor.GetLinkAt(i); if (link == null || link.URL == null) { listNullURL.Add(i); fieldDelCount++; prevlink = null; continue; } else if (Regex.Match(link.URL, @"pifolio\.com", RegexOptions.IgnoreCase).Success)//from wizfolio to pifolio { if (Regex.Match(link.URL, @"\?citation\=1&", RegexOptions.IgnoreCase).Success) { string strRangeText = string.Empty; if (prevlink == null) strRangeText = " "; else if (prevlink != null && prevlink.End != link.Start) strRangeText = editor.GetTextInRange(prevlink.End, link.Start); if (rci.TextCitations.Count == 0 || strRangeText.Length > 0) { currtci = new TextCitationItem(rci); rci.TextCitations.Add(currtci); } Dictionary<string, object> obj = CitationTools.ParseQueryString(link.URL); ItemMasterRow item = new ItemMasterRow(); item.UserID = obj["UserID"] + ""; item.ItemID = int.Parse(obj["ItemID"] + ""); item.AccessCode = obj["AccessCode"] + ""; currtci.AddItem(item, link.URL, i - fieldDelCount, ""); } else if (Regex.Match(link.URL, @"\?style\=1&", RegexOptions.IgnoreCase).Success) { if (rci.FieldIndex == -1) { rci.URL = link.URL; rci.FieldIndex = i - fieldDelCount; Dictionary<string, object> obj = CitationTools.ParseQueryString(link.URL); rci.StyleInfo = new StyleInformation(int.Parse(obj["UserID"] + ""), obj["StyleName"] + ""); if (rci.StyleInfo.UserID != -1) rci.UserList[rci.StyleInfo.UserID] = new User(rci.StyleInfo.UserID); } else { listDeletedFields.Add(i); fieldDelCount++; } } else { prevlink = null; continue; } prevlink = link; } else { prevlink = null; continue; } } catch (Exception ex) { log.WriteLine(LogType.Error, "DocumentFormatter::getRCI", ex.ToString()); } } fieldDelCount = 0; for (int i = 0; i < listNullURL.Count; i++) { editor.RemoveHyperLink(listNullURL[i] - fieldDelCount); fieldDelCount++; } for (int i = 0; i < listDeletedFields.Count; i++) { editor.RemoveCitation(listDeletedFields[i] - fieldDelCount); fieldDelCount++; } } catch(Exception ex) { log.WriteLine(LogType.Error, "DocumentFormatter::getRCI", ex.ToString()); } return rci; }
public ReferenceCitationItem CreateRCI() { ReferenceCitationItem currrci = new ReferenceCitationItem(); currrci.OldFormatString = this.OldFormatString; currrci.FormatString = this.FormatString; currrci.FieldIndex = this.FieldIndex; currrci.DocType = this.DocType; currrci.URL = this.URL; currrci.StyleInfo = this.StyleInfo; if (Regex.Match(this.URL, @"\?style\=(.*?)$", RegexOptions.IgnoreCase).Success) { Dictionary<string, object> obj = CitationTools.ParseQueryString(this.URL); currrci.StyleInfo = new StyleInformation(int.Parse(obj["UserID"] + ""), obj["StyleName"]+""); if(currrci.StyleInfo.UserID != -1) currrci.UserList[currrci.StyleInfo.UserID] = new User(currrci.StyleInfo.UserID); } List<TextCitationItem> newtci = this.TextCitations; TextCitationItem currtci; for (int i = 0; i < newtci.Count; i++) { currtci = currrci.AddBlock(); currtci.FormatString = newtci[i].FormatString; currtci.FieldIndexes = newtci[i].FieldIndexes; if(newtci[i].StartIndex != -1) { currtci.StartIndex = newtci[i].StartIndex; } for(int j=0; j<newtci[i].URLList.Count; j++) { Dictionary<string, object> obj = CitationTools.ParseQueryString(newtci[i].URLList[j]); ItemMasterRow item = new ItemMasterRow(); item.UserID = obj["UserID"] + ""; item.ItemID = int.Parse(obj["ItemID"] + ""); item.AccessCode = obj["AccessCode"] + ""; currtci.AddItem(item, newtci[i].URLList[j], newtci[i].FieldIndexes[j], newtci[i].FormatString[j]); } } return currrci; }