This forum is read-only - Please use our new Citavi Forum instead.
Dieses Forum dient nur zur Recherche - Bitte nutzen Sie das neue Citavi Forum für Ihre Fragen.

Kontextmenü Befehl hinzufügen

Installationsanleitung und allgemeine Informationen zu Citavi Add-Ons

Kontextmenü Befehl hinzufügen

Postby jay-squared » 2016-08-16 18:20

Liebes Citavi-Team,

ich wollte dem Kontextmenü der EntityLinks eines Titels einen Befehl hinzufügen, welcher die erste verknüpfte Location des EntityLinks aufruft. Der Befehl als solches ist kein Problem, das kriege ich hin, aber ich sehe noch nicht ganz, wie ich dem Kontextmenü was hinzufügen kann. Das Ganze wird auf dem Screenshot ersichtlich. Statt des schicken roten Xs in der Toolbar (also das ganz rechts, nicht das, was eh schon da ist) würde ich gerne einen Befehl in das Kontextmenü einfügen (am liebsten an dritter Stelle, am allerliebsten mit eigenem Keyboard-Combo Strg+Shift+Enter), weiß aber nicht wie.

Capture.PNG


Hier ist mein Versuch, der damit endet, dass der Befehl in der Toolbar landet:

Code: Select all
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using SwissAcademic.Citavi;
using SwissAcademic.Citavi.Shell;

namespace BornheimsToolbox
{
    class CrossReferenceOpen
        :
        CitaviAddOn
    {
        public override AddOnHostingForm HostingForm
        {
            get { return AddOnHostingForm.MainForm; }
        }

        protected override void OnHostingFormLoaded(System.Windows.Forms.Form hostingForm)
        {
            MainForm mainForm = (MainForm)hostingForm;

            if (mainForm.ActiveWorkspace == MainFormWorkspace.ReferenceEditor)
            {
                var buttonOne = mainForm.GetReferenceEditorSourceEntityLinksCommandbarManager().GetCommandbar(MainFormReferenceEditorSourceEntityLinksCommandbarId.Toolbar).AddCommandbarButton("CrossReferenceOpen", "Open the First Location Attached to this Reference");

                var buttonTwo = mainForm.GetReferenceEditorTargetEntityLinksCommandbarManager().GetCommandbar(MainFormReferenceEditorTargetEntityLinksCommandbarId.Toolbar).AddCommandbarButton("CrossReferenceOpen", "Open the First Location Attached to this Reference");

                base.OnHostingFormLoaded(hostingForm);
            }
        }

        protected override void OnBeforePerformingCommand(SwissAcademic.Controls.BeforePerformingCommandEventArgs e)
        {
            switch (e.Key)
            {
                case "CrossReferenceOpen":
                    {
                        e.Handled = true;

                        var crossReferenceOpener = new CrossReferenceOpener();
                        bool handled;
                        var mainForm = (MainForm)e.Form;

                        crossReferenceOpener.CrossReferenceOpen();
                    }
                    break;
            }
            base.OnBeforePerformingCommand(e);
        }
    }
}


Beste Grüße und vielen Dank
JJ
jay-squared
Citavi Expert
 

Re: Kontextmenü Befehl hinzufügen

Postby Peter Meurer » 2016-08-17 12:34

Lieber JJ

Ich muss hier auf meine Antwort auf dieses Posting verweisen. Evt. liest "Lutze" mit und kann Ihnen einen Tipp geben - das fände ich für alle Seiten prima.

Freundliche Grüsse
Peter
Peter Meurer
Citavi Customer Service
 

Re: Kontextmenü Befehl hinzufügen

Postby lutzeslife » 2016-09-12 17:16

Hallo,

Ist das Problem noch aktuell?

Gruß

Daniel
lutzeslife
 

Re: Kontextmenü Befehl hinzufügen

Postby lutzeslife » 2016-09-13 18:03

Frage wurde geklärt!
lutzeslife
 


Return to Über Citavi Add-Ons