Esempio n. 1
0
        void ReferenceEditorFilters_CollectionChanged(object sender, CollectionChangedEventArgs <ReferenceFilter> e)
        {
            if (_eventsSuspended)
            {
                return;
            }

            var eventsSuspended = _eventsSuspended;

            try
            {
                _eventsSuspended = true;

                var activeMainForm = GetActiveMainFormOrDefault(mainForm => sender == mainForm.ReferenceEditorFilterSet.Filters);

                if (activeMainForm == null)
                {
                    return;
                }

                if (activeMainForm.ReferenceEditorFilterSet.Filters.Count == 1)
                {
                    if (activeMainForm.ReferenceEditorFilterSet.Filters[0].Category != null)
                    {
                        var filter = new KnowledgeItemFilter(activeMainForm.ReferenceEditorFilterSet.Filters[0].Category);
                        var list   = new List <KnowledgeItemFilter> {
                            filter
                        };
                        activeMainForm.KnowledgeOrganizerFilterSet.Filters.ReplaceBy(list);
                    }
                    else if (activeMainForm.ReferenceEditorFilterSet.Filters[0].Keyword != null)
                    {
                        var filter = new KnowledgeItemFilter(activeMainForm.ReferenceEditorFilterSet.Filters[0].Keyword);
                        var list   = new List <KnowledgeItemFilter> {
                            filter
                        };
                        activeMainForm.KnowledgeOrganizerFilterSet.Filters.ReplaceBy(list);
                    }
                }
            }
            finally
            {
                _eventsSuspended = eventsSuspended;
            }
        }
Esempio n. 2
0
    public static void Main()
    {
        //****************************************************************************************************************
        // Select Knowledge Items without Entity Links (Annotations)
        // 1.0 - 2020-07-28
        //
        //
        // EDIT HERE
        // Variables to be changed by user


        // DO NOT EDIT BELOW THIS LINE
        // ****************************************************************************************************************

        if (Program.ProjectShells.Count == 0)
        {
            return;                                                     //no project open
        }
        //reference to active Project
        Project activeProject = Program.ActiveProjectShell.Project;

        List <KnowledgeItem> allKis = activeProject.AllKnowledgeItems.ToList();

        List <KnowledgeItem> noEntityLink = new List <KnowledgeItem>();

        try
        {
            foreach (KnowledgeItem ki in allKis)
            {
                if (ki.QuotationType == QuotationType.None || ki.QuotationType == QuotationType.Highlight)
                {
                    continue;
                }
                if (ki.EntityLinks == null || ki.EntityLinks.Count() == 0)
                {
                    noEntityLink.Add(ki);
                }
            }


            if (noEntityLink.Count > 0)
            {
                noEntityLink = noEntityLink.Distinct().ToList();
                KnowledgeItemFilter        kiFilter  = new KnowledgeItemFilter(noEntityLink, "Knowledge items without entity links", false);
                List <KnowledgeItemFilter> kiFilters = new List <KnowledgeItemFilter>();
                kiFilters.Add(kiFilter);
                Program.ActiveProjectShell.PrimaryMainForm.KnowledgeOrganizerFilterSet.Filters.ReplaceBy(kiFilters);
            }
        }
        catch (Exception e)
        {
            DebugMacro.WriteLine("An error occurred: " + e.Message);
        }
        finally
        {
            if (noEntityLink.Count == 0)
            {
                MessageBox.Show("No such KI found.", "Macro", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(string.Format("{0} reference(s) in new selection", noEntityLink.Count), "Macro", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }