*/
package jalview.gui;
-import jalview.jbgui.GWebserviceInfo;
-import jalview.util.MessageManager;
-import jalview.ws.WSClientI;
-
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.image.BufferedImage;
+import java.util.Locale;
import java.util.Vector;
import javax.swing.JComponent;
import javax.swing.JTextArea;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
+import javax.swing.event.InternalFrameAdapter;
+import javax.swing.event.InternalFrameEvent;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.StyleSheet;
+import jalview.jbgui.GWebserviceInfo;
+import jalview.util.ChannelProperties;
+import jalview.util.MessageManager;
+import jalview.ws.WSClientI;
+
/**
* Base class for web service client thread and gui TODO: create StAX parser to
* extract html body content reliably when preparing html formatted job statuses
Image image;
- int angle = 0;
+ float angle = 0f;
String title = "";
{
super.setVisible(aFlag);
frame.setVisible(aFlag);
- };
+ }
JTabbedPane subjobs = null;
boolean makeVisible)
{
frame = new JInternalFrame();
+ frame.setFrameIcon(null);
frame.setContentPane(this);
Desktop.addInternalFrame(frame, title, makeVisible, width, height);
frame.setClosable(false);
this.title = title;
setInfoText(info);
- java.net.URL url = getClass()
- .getResource("/images/Jalview_Logo_small_with_border.png");
- image = java.awt.Toolkit.getDefaultToolkit().createImage(url);
+ image = ChannelProperties.getImage("rotatable_logo.48");
MediaTracker mt = new MediaTracker(this);
mt.addImage(image, 0);
Thread thread = new Thread(ap);
thread.start();
final WebserviceInfo thisinfo = this;
- frame.addInternalFrameListener(
- new javax.swing.event.InternalFrameAdapter()
- {
- @Override
- public void internalFrameClosed(
- javax.swing.event.InternalFrameEvent evt)
- {
- // System.out.println("Shutting down webservice client");
- WSClientI service = thisinfo.getthisService();
- if (service != null && service.isCancellable())
- {
- service.cancelJob();
- }
- };
- });
+ frame.addInternalFrameListener(new InternalFrameAdapter()
+ {
+ @Override
+ public void internalFrameClosed(InternalFrameEvent evt)
+ {
+ // jalview.bin.Console.outPrintln("Shutting down webservice client");
+ WSClientI service = thisinfo.getthisService();
+ if (service != null && service.isCancellable())
+ {
+ service.cancelJob();
+ }
+ }
+ });
frame.validate();
}
{
return null;
}
- String lowertxt = text.toLowerCase();
+ String lowertxt = text.toLowerCase(Locale.ROOT);
int htmlpos = leaveFirst ? -1 : lowertxt.indexOf("<body");
int htmlend = leaveLast ? -1 : lowertxt.indexOf("</body");
{
return "";
}
- String lowertxt = text.toLowerCase();
+ String lowertxt = text.toLowerCase(Locale.ROOT);
int htmlpos = lowertxt.indexOf("<body");
int htmlend = lowertxt.indexOf("</body");
int doctype = lowertxt.indexOf("<!doctype");
* DOCUMENT ME!
*/
@Override
-protected void cancel_actionPerformed(ActionEvent e)
+ protected void cancel_actionPerformed(ActionEvent e)
{
if (!serviceIsCancellable)
{
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
@Override
- public void run()
+ public void run()
{
JvOptionPane.showInternalMessageDialog(Desktop.desktop, message,
title, JvOptionPane.WARNING_MESSAGE);
{
startTime = System.currentTimeMillis();
- float invSpeed = 30f;
+ float invSpeed = 15f;
+ float factor = 1f;
while (currentStatus < STATE_STOPPED_OK)
{
if (currentStatus == STATE_QUEUING)
{
invSpeed = 25f;
+ factor = 1f;
}
else if (currentStatus == STATE_RUNNING)
{
invSpeed = 10f;
+ factor = (float) (0.5 + 1.5
+ * (0.5 - (0.5 * Math.sin(3.14159 / 180 * (angle + 45)))));
}
try
{
Thread.sleep(50);
- int units = (int) ((System.currentTimeMillis() - startTime)
- / invSpeed);
- double factor = 0.5
- + 1.5 * (0.5
- - (0.5 * Math.sin(Math.toRadians(angle + 45))));
- angle += units * factor;
+ float delta = (System.currentTimeMillis() - startTime) / invSpeed;
+ angle += delta * factor;
angle %= 360;
startTime = System.currentTimeMillis();
while (angle < 360)
{
+ float invSpeed = 5f;
+ float factor = 1f;
try
{
Thread.sleep(25);
- int units = (int) ((System.currentTimeMillis() - startTime)
- / 5f);
- angle += units;
+ float delta = (System.currentTimeMillis() - startTime) / invSpeed;
+ angle += delta * factor;
startTime = System.currentTimeMillis();
if (angle >= 360)
if (image != null)
{
int x = image.getWidth(this) / 2, y = image.getHeight(this) / 2;
- g.rotate(Math.toRadians(angle), x, y);
+ g.rotate(3.14159 / 180 * (angle), x, y);
g.drawImage(image, 0, 0, this);
- g.rotate(-Math.toRadians(angle), x, y);
+ g.rotate(-3.14159 / 180 * (angle), x, y);
}
}
@Override
- public void paintComponent(Graphics g1)
+ public void paintComponent(Graphics g1)
{
drawPanel();
}
@Override
-public void hyperlinkUpdate(HyperlinkEvent e)
+ public void hyperlinkUpdate(HyperlinkEvent e)
{
Desktop.hyperlinkUpdate(e);
}