mirror of
https://github.com/johndoe6345789/tustu.git
synced 2026-04-24 13:45:00 +00:00
- Implement WizardCancelActionListener to handle cancellation actions. - Create WizardDialog for managing dialog windows with window listener. - Add WizardDialogCallback for handling dialog callbacks. - Introduce WizardNextActionListener for handling next actions in the wizard. - Develop WizardPanel to manage the wizard's layout and navigation. - Implement WizardRunnable to run wizard actions in a separate thread. - Define WizardStepCallback interface for step callbacks in the wizard. - Create YAxisSelectorLayoutRunnable for managing layout updates. - Add YAxisSelectorPanel for selecting Y-axis options in the UI. - Remove unused interfaces and classes (cP, cT, co, cx, dx, eR, eU, ev).
237 lines
7.4 KiB
Java
237 lines
7.4 KiB
Java
package com.efiAnalytics.ui;
|
|
|
|
import bH.X;
|
|
import java.awt.BasicStroke;
|
|
import java.awt.Color;
|
|
import java.awt.Font;
|
|
import java.awt.Graphics;
|
|
import java.awt.Graphics2D;
|
|
import java.awt.GraphicsConfiguration;
|
|
import java.awt.GraphicsDevice;
|
|
import java.awt.GraphicsEnvironment;
|
|
import java.awt.Image;
|
|
import java.awt.Insets;
|
|
import java.awt.Stroke;
|
|
import java.awt.image.BufferedImage;
|
|
import java.util.ArrayList;
|
|
import javax.swing.JComponent;
|
|
|
|
public class DataHistoryRenderer {
|
|
ArrayList a = new ArrayList();
|
|
|
|
JComponent b = null;
|
|
|
|
Image c = null;
|
|
|
|
int d = 2;
|
|
|
|
Font e = null;
|
|
|
|
Font f = null;
|
|
|
|
Font g = null;
|
|
|
|
Insets h = null;
|
|
|
|
Stroke i = new BasicStroke(2.0F, 1, 2);
|
|
|
|
public dm(JComponent paramJComponent) {
|
|
this.b = paramJComponent;
|
|
}
|
|
|
|
public void a(Graphics paramGraphics) {
|
|
d(paramGraphics);
|
|
c(paramGraphics);
|
|
}
|
|
|
|
private void c(Graphics paramGraphics) {
|
|
Insets insets = c();
|
|
for (byte b1 = 0; b1 < this.a.size(); b1++) {
|
|
cy cy = this.a.get(b1);
|
|
double[] arrayOfDouble = b(cy);
|
|
int[] arrayOfInt1 = new int[arrayOfDouble.length + 2];
|
|
int[] arrayOfInt2 = new int[arrayOfDouble.length + 2];
|
|
int j = this.b.getWidth();
|
|
int k = this.b.getHeight() - insets.top - insets.bottom;
|
|
for (byte b = 1; b < arrayOfInt2.length - 1; b++) {
|
|
arrayOfInt1[b] = j - insets.right - (b - 1) * this.d;
|
|
double d = (arrayOfDouble[b - 1] - cy.c()) / (cy.d() - cy.c());
|
|
if (d > 1.0D) {
|
|
arrayOfInt2[b] = insets.top;
|
|
} else if (d < 0.0D) {
|
|
arrayOfInt2[b] = this.b.getHeight() - insets.bottom;
|
|
} else {
|
|
arrayOfInt2[b] = this.b.getHeight() - (int)(k * d) - insets.bottom;
|
|
}
|
|
}
|
|
arrayOfInt1[0] = arrayOfInt1[1];
|
|
arrayOfInt1[arrayOfInt1.length - 1] = arrayOfInt1[arrayOfInt1.length - 2];
|
|
arrayOfInt2[0] = k + insets.top;
|
|
arrayOfInt2[arrayOfInt2.length - 1] = k + insets.top;
|
|
paramGraphics.setColor(cy.e());
|
|
((Graphics2D)paramGraphics).setStroke(this.i);
|
|
paramGraphics.drawPolyline(arrayOfInt1, arrayOfInt2, arrayOfInt1.length);
|
|
}
|
|
Font font = d();
|
|
Color color = new Color(0, 0, 0, 128);
|
|
int i = this.b.getHeight() - insets.bottom - font.getSize();
|
|
for (byte b2 = 0; b2 < this.a.size(); b2++) {
|
|
cy cy = this.a.get(b2);
|
|
String str = X.a(cy.a(0));
|
|
int j = this.b.getWidth() - paramGraphics.getFontMetrics(font).stringWidth(str) - insets.right - 6;
|
|
if (str != null) {
|
|
paramGraphics.setColor(color);
|
|
paramGraphics.fillRect(j, i - font.getSize(), paramGraphics.getFontMetrics(font).stringWidth(str), font.getSize());
|
|
paramGraphics.setColor(cy.e());
|
|
paramGraphics.drawString(str, j, i);
|
|
}
|
|
i -= font.getSize();
|
|
}
|
|
}
|
|
|
|
private double[] b(cy paramcy) {
|
|
Insets insets = c();
|
|
int i = 1 + (this.b.getWidth() - insets.left - insets.right) / this.d;
|
|
double[] arrayOfDouble = null;
|
|
int j = 0;
|
|
synchronized (paramcy) {
|
|
j = (paramcy.size() > i && i > 0) ? i : paramcy.size();
|
|
arrayOfDouble = new double[j];
|
|
for (byte b = 0; b < j; b++)
|
|
arrayOfDouble[b] = paramcy.a(b);
|
|
}
|
|
if (arrayOfDouble.length == 0) {
|
|
arrayOfDouble = new double[1];
|
|
arrayOfDouble[0] = 0.0D;
|
|
}
|
|
return arrayOfDouble;
|
|
}
|
|
|
|
private void d(Graphics paramGraphics) {
|
|
if (this.c == null || this.b.getWidth() != this.c.getWidth(null) || this.b.getHeight() != this.c.getHeight(null)) {
|
|
GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
|
|
GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice();
|
|
GraphicsConfiguration graphicsConfiguration = graphicsDevice.getDefaultConfiguration();
|
|
BufferedImage bufferedImage = null;
|
|
Graphics graphics = null;
|
|
bufferedImage = graphicsConfiguration.createCompatibleImage(this.b.getWidth(), this.b.getHeight(), 2);
|
|
graphics = bufferedImage.getGraphics();
|
|
this.c = bufferedImage;
|
|
a(this.d + this.b.getWidth() / this.d);
|
|
}
|
|
b(paramGraphics);
|
|
}
|
|
|
|
protected void b(Graphics paramGraphics) {
|
|
paramGraphics.setColor(this.b.getBackground());
|
|
paramGraphics.fillRect(0, 0, this.b.getWidth(), this.b.getHeight());
|
|
Insets insets = c();
|
|
byte b1 = 40;
|
|
double d1 = 1.0D;
|
|
boolean bool1 = false;
|
|
if (this.b.getHeight() < 160) {
|
|
b1 = 20;
|
|
bool1 = true;
|
|
}
|
|
int i;
|
|
for (i = 2; this.b.getHeight() / i > b1; i *= 2)
|
|
d1 = this.b.getHeight() / i / this.b.getHeight();
|
|
double d2 = d1;
|
|
boolean bool2 = true;
|
|
while (d2 <= 1.0D) {
|
|
bool2 = bool1 ? (!bool2 ? true : false) : true;
|
|
a(paramGraphics, d2, bool2);
|
|
d2 += d1;
|
|
}
|
|
Font font = e();
|
|
int j = 3 + insets.left;
|
|
int k;
|
|
for (k = 0; k < this.a.size(); k++) {
|
|
cy cy = this.a.get(k);
|
|
String str = X.b(cy.d(), cy.b());
|
|
paramGraphics.setColor(cy.e());
|
|
paramGraphics.drawString(str, j, font.getSize() + insets.top);
|
|
j = j + this.b.getFontMetrics(font).stringWidth(str) + 4;
|
|
}
|
|
font = d();
|
|
k = insets.top + font.getSize();
|
|
for (byte b2 = 0; b2 < this.a.size(); b2++) {
|
|
cy cy = this.a.get(b2);
|
|
String str = cy.f();
|
|
if (cy.g() != null && !cy.g().equals(""))
|
|
str = str + "(" + cy.g() + ")";
|
|
j = this.b.getWidth() - paramGraphics.getFontMetrics(font).stringWidth(str) - insets.right - 4;
|
|
paramGraphics.setColor(cy.e());
|
|
if (str != null)
|
|
paramGraphics.drawString(str, j, k);
|
|
k += font.getSize();
|
|
}
|
|
paramGraphics.setColor(Color.LIGHT_GRAY);
|
|
paramGraphics.drawRect(insets.left, insets.top, this.b.getWidth() - insets.left - insets.right - 1, this.b.getHeight() - insets.top - insets.bottom - 1);
|
|
}
|
|
|
|
private void a(Graphics paramGraphics, double paramDouble, boolean paramBoolean) {
|
|
Insets insets = c();
|
|
int i = insets.left;
|
|
int j = this.b.getWidth() - insets.left - insets.right;
|
|
int k = (int)Math.round((this.b.getHeight() - insets.top - insets.bottom) * paramDouble) + insets.top;
|
|
paramGraphics.setColor(Color.LIGHT_GRAY);
|
|
paramGraphics.drawLine(i, k, j + i, k);
|
|
int m = 3 + i;
|
|
Font font = e();
|
|
paramGraphics.setFont(font);
|
|
for (byte b = 0; b < this.a.size(); b++) {
|
|
if (paramBoolean) {
|
|
cy cy = this.a.get(b);
|
|
String str = X.b(cy.d() - paramDouble * (cy.d() - cy.c()), cy.b());
|
|
paramGraphics.setColor(cy.e());
|
|
paramGraphics.drawString(str, m, k - 2);
|
|
m = m + this.b.getFontMetrics(font).stringWidth(str) + 4;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void a(int paramInt) {
|
|
for (cy cy : this.a)
|
|
cy.c(paramInt);
|
|
}
|
|
|
|
public void a() {
|
|
this.c = null;
|
|
this.e = null;
|
|
this.f = null;
|
|
this.h = null;
|
|
}
|
|
|
|
public void a(cy paramcy) {
|
|
this.a.add(paramcy);
|
|
}
|
|
|
|
public int b() {
|
|
return this.a.size();
|
|
}
|
|
|
|
private Font d() {
|
|
if (this.e == null)
|
|
this.e = new Font(this.b.getFont().getName(), 1, this.b.getFont().getSize());
|
|
return this.e;
|
|
}
|
|
|
|
private Font e() {
|
|
if (this.f == null)
|
|
this.f = new Font(d().getName(), 0, d().getSize());
|
|
return this.f;
|
|
}
|
|
|
|
public Insets c() {
|
|
if (this.h == null)
|
|
this.h = this.b.getInsets();
|
|
return this.h;
|
|
}
|
|
}
|
|
|
|
|
|
/* Location: /home/rewrich/Downloads/TunerStudioMS/TunerStudioMS/!/com/efiAnalytics/ui/dm.class
|
|
* Java compiler version: 8 (52.0)
|
|
* JD-Core Version: 1.1.3
|
|
*/ |