<div dir="ltr">Just a couple hints - although my name is on a lot of the files, that's from several years ago. Others are far more expert than I.<div><br></div><div>There are two projects that control the toolkit-specific aspects of the ui: <a href="https://github.com/imagej/imagej-ui-swing">https://github.com/imagej/imagej-ui-swing</a> and <a href="https://github.com/scijava/scijava-ui-swing">https://github.com/scijava/scijava-ui-swing</a></div><div><br></div><div>You might find far more of the bulk of the UI in scijava-ui-swing. Those are the generic parts, things like frames, menus and controls. The root of it all is org.scijava.ui.UserInterface - if you implement this interface and annotate it, it will be the one that's used if your jar is in the classpath instead of the Swing one: <a href="https://github.com/scijava/scijava-ui-swing/blob/master/src/main/java/org/scijava/ui/swing/sdi/SwingSDIUI.java#L59">https://github.com/scijava/scijava-ui-swing/blob/master/src/main/java/org/scijava/ui/swing/sdi/SwingSDIUI.java#L59</a></div><div>If you want your stuff to show up first, with the other jars being there already, you can develop a plugin with a higher priority (see the documentation for Plugin). For instance, if you want a new display viewer, just implement one derived from DisplayViewer, make its plugin priority higher than SwingSDIImageDisplayViewer and it wil be the one that's used. I thing that might be close to what you want to do.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 26, 2015 at 11:48 AM, Mongis Cyril <span dir="ltr"><<a href="mailto:cyril.mongis@googlemail.com" target="_blank">cyril.mongis@googlemail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hi everyone,<br><br></div>I'm currently embedding ImageJ in one my application but I use JavaFX for the user interface. I would like to channel the image windows, which are created and handled by ImageJ, to JavaFX elements. In other words, when a plugin wants to display an image, this image would be displayed in a JavaFX element. While JavaFX is relatively easy to handle, it's pretty hard to understand the structure of the ImageJ User Interface stack and the interactions between the classes that composes it. I know that the ImageDisplayService has a certain role but I have troubles to see when practical decisions (like drawing the image in a canvas, or adding a slider for the Z position, or changing the name of the window in the swing part) are taken. I looked in the imagej-ui-swing so I have an idea about the location of some events. But I also don't know how to signal ImageJ that there is an other UI connected to ImageJ/<br><br></div><div>Which class should I re-implement ? I guess I should re-implement the same classes as the ones implemented in the imagej-swing-ui module then, how to set it in the context ?<br></div><div><br></div><div>Is there any drawing that represent the UI interaction scheme ? ( when a image is opened for instance)<br><br></div><div>Is there any resources that would provide some base knowledge to better understand the UI stack.<br><br></div><div>I would of course commit my work to the community.<br><br></div><div>Cheers,<br><br></div><div>Cyril MONGIS<br></div></div>
<br>_______________________________________________<br>
ImageJ-devel mailing list<br>
<a href="mailto:ImageJ-devel@imagej.net">ImageJ-devel@imagej.net</a><br>
<a href="http://imagej.net/mailman/listinfo/imagej-devel" target="_blank">http://imagej.net/mailman/listinfo/imagej-devel</a><br>
<br></blockquote></div><br></div>