*/
public Finder()
{
+ this(null,null);
+ focusfixed=false;
+ }
+ public Finder(AlignViewport viewport, AlignmentPanel alignPanel)
+ {
+ av = viewport;
+ ap = alignPanel;
+ focusfixed=true;
frame = new JInternalFrame();
frame.setContentPane(this);
frame.setLayer(JLayeredPane.PALETTE_LAYER);
doSearch(true);
}
}
+ /**
+ * do we only search a given alignment view ?
+ */
+ private boolean focusfixed;
/**
+ * checks that av and ap are valid, and if not,
* gets the topmost alignment window and sets av and ap accordingly
*
* @return false if no alignment window was found
*/
boolean getFocusedViewport()
{
+ if (focusfixed || Desktop.desktop==null)
+ {
+ if (ap!=null && av!=null)
+ {
+ return true;
+ }
+ // we aren't in a desktop environment, so give up now.
+ return false;
+ }
// now checks further down the window stack to fix bug
// https://mantis.lifesci.dundee.ac.uk/view.php?id=36008
JInternalFrame[] frames = Desktop.desktop.getAllFrames();