X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FWebserviceInfo.java;h=2b85141b9052478d3af5bd20b84d7841597cf946;hb=6da8d6719f9cce1221134697277c3cdc7d560d0b;hp=f97f80854d2d99829438d612c1a451facf491a62;hpb=fbee8e851a60b04ed79ed0e21d9e5af6ee488c0e;p=jalview.git diff --git a/src/jalview/gui/WebserviceInfo.java b/src/jalview/gui/WebserviceInfo.java index f97f808..2b85141 100644 --- a/src/jalview/gui/WebserviceInfo.java +++ b/src/jalview/gui/WebserviceInfo.java @@ -346,6 +346,7 @@ public class WebserviceInfo extends GWebserviceInfo ap.setPreferredSize(new Dimension(60, 60)); titlePanel.add(ap, BorderLayout.WEST); titlePanel.add(titleText, BorderLayout.CENTER); + setStatus(currentStatus); Thread thread = new Thread(ap); thread.start(); @@ -792,24 +793,34 @@ protected void cancel_actionPerformed(ActionEvent e) BufferedImage offscreen; @Override - public void run() + public void run() { startTime = System.currentTimeMillis(); + float invSpeed = 30f; while (currentStatus < STATE_STOPPED_OK) { + if (currentStatus == STATE_QUEUING) + { + invSpeed = 25f; + } + else if (currentStatus == STATE_RUNNING) + { + invSpeed = 10f; + } try { Thread.sleep(50); int units = (int) ((System.currentTimeMillis() - startTime) - / 10f); + / invSpeed); angle += units; angle %= 360; startTime = System.currentTimeMillis(); if (currentStatus >= STATE_STOPPED_OK) { + park(); angle = 0; } @@ -822,13 +833,41 @@ protected void cancel_actionPerformed(ActionEvent e) cancel.setEnabled(false); } + public void park() + { + startTime = System.currentTimeMillis(); + + while (angle < 360) + { + try + { + Thread.sleep(25); + + int units = (int) ((System.currentTimeMillis() - startTime) + / 5f); + angle += units; + startTime = System.currentTimeMillis(); + + if (angle >= 360) + { + angle = 360; + } + + repaint(); + } catch (Exception ex) + { + } + } + + } + void drawPanel() { if (offscreen == null || offscreen.getWidth(this) != getWidth() || offscreen.getHeight(this) != getHeight()) { offscreen = new BufferedImage(getWidth(), getHeight(), - BufferedImage.TYPE_INT_ARGB); + BufferedImage.TYPE_INT_RGB); } Graphics2D g = (Graphics2D) offscreen.getGraphics();