Files
tustu/app/com/efiAnalytics/ui/DataHistoryRenderer.java
johndoe6345789 e17cdf49b3 Add wizard UI components and functionality
- 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).
2026-01-11 07:05:02 +00:00

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
*/