/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
public void dragFrame(JComponent f, int newX, int newY)
{
+ if (newY<0)
+ {
+ newY=0;
+ }
delegate.dragFrame(f, newX, newY);
}
public void resizeFrame(JComponent f, int newX, int newY, int newWidth,
int newHeight)
{
+ Rectangle b=desktop.getBounds();
+ if (newY<0)
+ {
+ newY=0;
+ }
delegate.resizeFrame(f, newX, newY, newWidth, newHeight);
}
//sp.getViewport().setView(desktop);
//getContentPane().add(sp, BorderLayout.CENTER);
getContentPane().add(desktop, BorderLayout.CENTER);
- desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
+ desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
+
// This line prevents Windows Look&Feel resizing all new windows to maximum
// if previous window was maximised
desktop.setDesktopManager(new MyDesktopManager(
new DefaultDesktopManager()));
+
Rectangle dims = getLastKnownDimensions("");
if (dims != null)
{
@Override
public void run()
{
+ Cache.log.debug("Starting news thread.");
+
jvnews = new BlogReader(me);
showNews.setVisible(true);
+ Cache.log.debug("Completed news thread.");
}
}).start();
}
});
- this.addMouseListener(new MouseAdapter()
+ MouseAdapter ma;
+ this.addMouseListener(ma=new MouseAdapter()
{
public void mousePressed(MouseEvent evt)
{
}
}
});
+ desktop.addMouseListener(ma);
+
this.addFocusListener(new FocusListener()
{
void showNews(boolean visible)
{
{
- jvnews.setVisible(visible);
+ Cache.log.debug((visible?"Showing":"Hiding")+" news.");
showNews.setSelected(visible);
- if (visible)
+ if (visible && !jvnews.isVisible())
{
- jvnews.refreshNews();
- jvnews.toFront();
- // try real hard to get focus when the news is first opened
new Thread(new Runnable() {
@Override
public void run()
{
- while (jvnews.isVisible() && !jvnews.requestFocusInWindow())
- {
- try { Thread.sleep(50); } catch (InterruptedException x) {};
- }
-
+ long instance=System.currentTimeMillis();
+ Desktop.instance.setProgressBar("Refreshing news", instance);
+ jvnews.refreshNews();
+ Desktop.instance.setProgressBar(null, instance);
+ jvnews.showNews();
}
}).start();
}
}
}
}
-
}
/**
*/
public void relayerWindows()
{
- if (jvnews!=null && jvnews.isVisible())
- {
- jvnews.toFront();
- }
+
}
protected JMenuItem groovyShell;