Esempio n. 1
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        /// <created>UPh,22.11.2015</created>
        /// <changed>UPh,22.11.2015</changed>
        // ********************************************************************************
        protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e)
        {
            if (e.Item.Selected)
            {
                e.Graphics.FillRectangle(_SelectedItemBrush, e.Bounds);
                //e.DrawFocusRectangle();
            }
            else
            {
                e.DrawBackground();
            }

            if (e.ColumnIndex == 3)
            {
                Color tbcolor = Color.Empty;
                if (TermBaseSet != null)
                {
                    TerminologyResultArgs item = GetItemAt(e.ItemIndex);
                    if (item != null)
                    {
                        tbcolor = TermBaseSet.GetDisplayColor(item.TermBaseID);
                    }
                }

                if (tbcolor != Color.Empty && tbcolor.ToArgb() != Color.White.ToArgb())
                {
                    SolidBrush brush = new SolidBrush(tbcolor);
                    Rectangle  rcBar = e.Bounds;
                    rcBar.Width = 4;
                    e.Graphics.FillRectangle(brush, rcBar);
                }
            }

            e.Graphics.DrawString(e.SubItem.Text, Font, _TextBrush, e.Bounds.Left + 4.0f, e.Bounds.Top + 2.0f);
        }
Esempio n. 2
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        /// <created>UPh,31.10.2015</created>
        /// <changed>UPh,31.10.2015</changed>
        // ********************************************************************************
        private void DisplaySelectedTerm()
        {
            if (FindType == FindTypes.Text)
            {
                TermListItem item = lstTerms.GetSelectedItem();
                if (item == null)
                {
                    return;
                }

                _TermBaseQuery.RequestTermInfo(item, 0);
            }
            else if (FindType == FindTypes.Terminology)
            {
                TerminologyResultArgs tra = lstTerminology.GetSelectedItem();
                if (tra == null)
                {
                    return;
                }

                TermListItem item = new TermListItem(tra);

                _TermBaseQuery.RequestTermInfo(item, 0);
            }
        }
Esempio n. 3
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        /// <created>UPh,20.11.2015</created>
        /// <changed>UPh,20.11.2015</changed>
        // ********************************************************************************
        void OnTerminologyResult(TerminologyResultArgs e)
        {
            if (FindType != FindTypes.Terminology ||
                _FindTermRequestID != e.RequestID)
            {
                return;
            }

            lstTerminology.AddItem(e);
        }
Esempio n. 4
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        /// <created>UPh,20.11.2015</created>
        /// <changed>UPh,20.11.2015</changed>
        // ********************************************************************************
        internal void AddItem(TerminologyResultArgs item)
        {
            if (_Items == null)
            {
                _Items = new List <TerminologyResultArgs>();
            }

            _Items.Add(item);

            UpdateDisplay();
        }
Esempio n. 5
0
 // ********************************************************************************
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 /// <returns></returns>
 /// <created>UPh,31.10.2015</created>
 /// <changed>UPh,31.10.2015</changed>
 // ********************************************************************************
 void TermBaseQuery_TerminologyResult(object sender, TerminologyResultArgs e)
 {
     if (InvokeRequired)
     {
         Invoke(_TerminologyResult, e);
         return;
     }
     else
     {
         OnTerminologyResult(e);
     }
 }
Esempio n. 6
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        /// <created>UPh,14.11.2015</created>
        /// <changed>UPh,14.11.2015</changed>
        // ********************************************************************************
        void Query_TerminologyResult(object sender, TerminologyResultArgs e)
        {
            string origin = string.Concat("EasyTerm:", e.Origin);

            if (e.Status == TermStatus.prohibited)
            {
                _AddInComponent.ApplicationTools.SendTerminology(PAIAddIn, (int)e.RequestID, e.FindFrom, e.FindLen, e.Term1, "[" + e.Term2 + "]", origin, "[prohibited] " + e.Description);
            }
            else
            {
                _AddInComponent.ApplicationTools.SendTerminology(PAIAddIn, (int)e.RequestID, e.FindFrom, e.FindLen, e.Term1, e.Term2, origin, e.Description);
            }
        }
Esempio n. 7
0
        // ********************************************************************************
        /// <summary>
        /// Creates a ListViewItem at a position
        /// </summary>
        /// <param name="inx"></param>
        /// <returns></returns>
        /// <created>UPh,25.10.2015</created>
        /// <changed>UPh,25.10.2015</changed>
        // ********************************************************************************
        ListViewItem CreateLVItemAt(int inx)
        {
            ListViewItem item = new ListViewItem("");

            TerminologyResultArgs termitem = GetItemAt(inx);

            if (termitem != null)
            {
                item.SubItems[0].Text = string.Format("{0} - {1}", termitem.FindFrom, termitem.FindFrom + termitem.FindLen);
                item.SubItems.Add(termitem.Term1);
                item.SubItems.Add(termitem.Term2);
                item.SubItems.Add(termitem.Origin);
                item.SubItems.Add(termitem.Description);
            }

            return(item);
        }
Esempio n. 8
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        /// <created>UPh,20.11.2015</created>
        /// <changed>UPh,20.11.2015</changed>
        // ********************************************************************************
        internal void AddItem(TerminologyResultArgs item)
        {
            if (_Items == null)
                _Items = new List<TerminologyResultArgs>();

            _Items.Add(item);

            UpdateDisplay();
        }
Esempio n. 9
0
 // ********************************************************************************
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 /// <returns></returns>
 /// <created>UPh,31.10.2015</created>
 /// <changed>UPh,31.10.2015</changed>
 // ********************************************************************************
 void TermBaseQuery_TerminologyResult(object sender, TerminologyResultArgs e)
 {
     if (InvokeRequired)
     {
         Invoke(_TerminologyResult, e);
         return;
     }
     else
     {
         OnTerminologyResult(e);
     }
 }
Esempio n. 10
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        /// <created>UPh,20.11.2015</created>
        /// <changed>UPh,20.11.2015</changed>
        // ********************************************************************************
        void OnTerminologyResult(TerminologyResultArgs e)
        {
            if (FindType != FindTypes.Terminology ||
               _FindTermRequestID != e.RequestID)
               return;

            lstTerminology.AddItem(e);
        }
Esempio n. 11
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        /// <created>UPh,14.11.2015</created>
        /// <changed>UPh,14.11.2015</changed>
        // ********************************************************************************
        void Query_TerminologyResult(object sender, TerminologyResultArgs e)
        {
            string origin = string.Concat("EasyTerm:", e.Origin);

            if (e.Status == TermStatus.prohibited)
            {
                _AddInComponent.ApplicationTools.SendTerminology(PAIAddIn, (int) e.RequestID, e.FindFrom, e.FindLen, e.Term1, "[" + e.Term2 + "]", origin, "[prohibited] " + e.Description);
            }
            else
            {
                _AddInComponent.ApplicationTools.SendTerminology(PAIAddIn, (int) e.RequestID, e.FindFrom, e.FindLen, e.Term1, e.Term2, origin, e.Description);
            }
        }
Esempio n. 12
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="match"></param>
        /// <returns></returns>
        /// <created>UPh,14.11.2015</created>
        /// <changed>UPh,14.11.2015</changed>
        // ********************************************************************************
        private void HandleTerminologyMatch(long requestid, IndexItem match, int from, int len, List<TerminologyResultArgs> result = null)
        {
            // Get TermInfo
            TermBase termbase = _TermBases.FindTermBase(match.TermBaseID);
            if (termbase == null)
                return;

            TermInfo terminfo = null;
            if (!termbase.GetTermInfo(match.TermID, out terminfo, this))
                return;

            if (terminfo.LanguageSets.Count != 2)
                return;

            TermInfo.Term srcterm = null;

            foreach (TermInfo.Term term in terminfo.LanguageSets[0].Terms)
            {
                ulong hash = TermIndex.MakeGlossaryHashCode(term.Text);
                if (match.Hash != hash)
                    continue;

                srcterm = term;
                break;
            }

            if (srcterm == null)
                return;

            string definition = terminfo.Definition;

            foreach (TermInfo.Term term in terminfo.LanguageSets[1].Terms)
            {
                TerminologyResultArgs args = new TerminologyResultArgs();

                if (term.Props != null)
                    args.Status = term.Props.Status;
                else
                    args.Status = TermStatus.none;
                args.RequestID = requestid;
                args.TermBaseID = match.TermBaseID;
                args.TermID = match.TermID;
                args.FindFrom = from;
                args.FindLen = len;
                args.Term1 = srcterm.Text;
                args.Term2 = term.Text;
                args.Origin = termbase.File.DisplayName;
                args.Description = definition;

                if (result != null)
                {
                    result.Add(args);
                }
                else
                {
                    _TermbaseQuery.FireTerminologyResult(args);
                }
            }
        }
Esempio n. 13
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="requestid"></param>
        /// <param name="match"></param>
        /// <param name="from"></param>
        /// <param name="len"></param>
        /// <param name="result"></param>
        /// <created>UPh,20.03.2016</created>
        /// <changed>UPh,20.03.2016</changed>
        // ********************************************************************************
        private void HandleProhibitedTerminologyMatch(bool bTargetLanguage, long requestid, IndexItem match, int from, int len, List<TerminologyResultArgs> result = null)
        {
            // Get TermInfo
            TermBase termbase = _TermBases.FindTermBase(match.TermBaseID);
            if (termbase == null)
                return;

            TermInfo terminfo = null;
            if (!termbase.GetTermInfo(match.TermID, out terminfo, this))
                return;

            int langset = -1;
            if (bTargetLanguage)
            {
                if (terminfo.LanguageSets.Count < 2)
                    return;
                langset = 1;
            }
            else
            {
                if (terminfo.LanguageSets.Count < 1)
                    return;
                langset = 0;
            }

            foreach (TermInfo.Term term in terminfo.LanguageSets[langset].Terms)
            {
                if (term.Props == null || term.Props.Status != TermStatus.prohibited)
                    continue;

                ulong hash = TermIndex.MakeGlossaryHashCode(term.Text);
                if (match.Hash != hash)
                    continue;

                TerminologyResultArgs args = new TerminologyResultArgs();

                args.Status = term.Props.Status;
                args.RequestID = requestid;
                args.TermBaseID = match.TermBaseID;
                args.TermID = match.TermID;
                args.FindFrom = from;
                args.FindLen = len;
                args.Term1 = term.Text;
                args.Term2 = term.Text;
                args.Origin = termbase.File.DisplayName;
                args.Description = "";

                if (result != null)
                {
                    result.Add(args);
                }
                else
                {
                    _TermbaseQuery.FireTerminologyResult(args);
                }
            }
        }