Christopher, thanks for the help! I will try to add this extension point today, and make an example plugin for it - I think that will be a perfect exercise to make sure I understand how this stuff works.
-- Morten On 13/11/2007, Christopher Oezbek <[EMAIL PROTECTED]> wrote: > Hi, > yes that would be a perfect candidate for an extension-point. > > To add this as a new extension-point, you need to declare this > extension-point in the plugin.xml of the core plugin: > > <extension-point id="PushToApplication"> > <parameter-def type="string" id="pushToApp" > custom-data="<classname of the interface that plugin > providers need to > implement>" /> > <!-- optionally other parameters (we currently do not use any > of these > for anything) > <parameter-def type="string" id="name" /> > <parameter-def type="string" id="description" > multiplicity="none-or-one" /> > --> > </extension-point> > > Then you need to re-run the plugin code generator "ant generate", which > will re-create the helper class in "net.sf.jabref.plugin.core.generated" > so that it includes a method > > getPushToApplicationExtensions() which returns a list of all PushToTalk > extensions registered with the system. > > This list then can be used like this (here an example what we do with the > entry fetcher extensions): > > /* > * Load fetchers that are plug-in extensions > */ > JabRefPlugin jabrefPlugin = > JabRefPlugin.getInstance(PluginCore.getManager()); > if (jabrefPlugin != null){ > for (EntryFetcherExtension ext : > jabrefPlugin.getEntryFetcherExtensions()){ > EntryFetcher fetcher = ext.getEntryFetcher(); > if (fetcher != null){ > fetchers.add(fetcher); > } > } > } > > // and later... > > for (EntryFetcher fetcher : fetchers){ > GeneralFetcher generalFetcher = new GeneralFetcher(sidePaneManager, > this, fetcher); > web.add(generalFetcher.getAction()); > fetcherActions.add(generalFetcher.getAction()); > } > > Hope this helps, > Christopher > > On Tue, 13 Nov 2007 09:33:45 +0100, Morten Omholt Alver > <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > it's occured to me that the net.sf.jabref.external.PushToApplication > > interface would be a good candidate for a plugin extension point. This > > interface defines the operation of sending a citation to an external > > application, and we already have implementations for Gnuserv/Emacs, > > Vim, WinEdt, Lyx/Kile and LatexEditor. It's probably fairly simple to > > develop implementations for other apps as well, so this could be a > > very useful way to use the plugin framework. > > > > I'm not sure if the interface needs any modifications - probably the > > pushEntries() method should have additional references to the > > BibtexDatabase and MetaData to ensure that all necessary information > > is available. > > > > > > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Jabref-devel mailing list Jabref-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jabref-devel