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{}
        }
Example #2
0
        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());
            }
        }
Example #3
0
        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());
            }
        }
Example #4
0
        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;
        }
Example #5
0
 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;
 }