<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Hi Curtis,<br>
    <br>
    Looks like a good start. Is NetBeans going to be required for IJ2?
    It would be nice, esp. for CellProfiler, to have some static method
    that would find the plugin finders, but if NetBeans is in, the code
    to do so ourselves does not look too complex.<br>
    <br>
    --Lee<br>
    <br>
    On 11/22/2010 6:52 PM, Curtis Rueden wrote:
    <blockquote
      cite="mid:AANLkTim7j3VRZ9Qi8Dazx-97y_X2Q31wh8oDc1196CYh@mail.gmail.com"
      type="cite">Hi Grant et. al,<br>
      <br>
      Today Rick &amp; I added a simple plugin discovery mechanism to
      the ImageJ2 codebase. This is a work in progress. The idea is to
      have an interface, PluginFinder, that provides a method,
      findPlugins(List&lt;PluginEntry&gt; plugins), for populating a
      list with discovered plugins. The IJ1 compatibility layer can have
      an Ij1PluginFinder that discovers IJ1 plugins, and the ImageJ2
      code can have an Ij2PluginFinder (or whatever) for discovering any
      additional plugins of various types.<br>
      <br>
      Here is what we have so far:<br>
      <br>
      In ij2-common:<br>
        + imagej.plugin.PluginEntry -- very simple data structure for a
      single plugin entry, including plugin class name, and associated
      menu entry<br>
        + imagej.plugin.PluginFinder -- interface for anything capable
      of discovering ImageJ plugins -- has one method:
      findPlugins(List&lt;PluginEntry&gt; plugins)<br>
      <br>
      In ij1-bridge:<br>
        + imagej.ij1bridge.plugin.Ij1PluginFinder -- implementation for
      discovering ImageJ 1.x plugins -- delegates to ij.Menus where
      possible<br>
      <br>
      In ijx:<br>
        + ijx.plugin.IjxPluginFinder -- currently a dummy implementation
      that just populates a single fake plugin entry -- eventually will
      discover ImageJ 2.x plugins<br>
      <br>
      Tester class (in ijx):<br>
        + ijx.plugin.PluginDiscovery -- obtains all implementations of
      PluginFinder interface (using NB Lookup), discovers all available
      plugins and prints out the list<br>
      <br>
      Again, this is a work in progress. The goal is have a very simple,
      encapsulated way of querying for plugins without any assumptions
      about GUIs, etc. The PluginEntry in particular will need to be
      fleshed out with more details—e.g., there is no way to express the
      arg string needed by many IJ1 plugins/commands, no way to link an
      image icon for use with a toolbar, and no way to express order for
      menus or toolbars.<br>
      <br>
      More later; comments welcome any time.<br>
      <br>
      -Curtis<br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
ImageJ-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ImageJ-devel@imagejdev.org">ImageJ-devel@imagejdev.org</a>
<a class="moz-txt-link-freetext" href="http://imagejdev.org/mailman/listinfo/imagej-devel">http://imagejdev.org/mailman/listinfo/imagej-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>