mirror of
https://github.com/johndoe6345789/tustu.git
synced 2026-04-27 15:15:30 +00:00
- Implemented BinTableFocusListener to manage focus events in BinTableView. - Created BinTableKeyListener to handle key events and trigger updates. - Added BinTableRefreshRunner and BinTableUpdateRunner for background processing. - Introduced BinTableSelectionRunner to manage selection changes in the table. - Developed BinTableToggleListener for toggling table states. - Implemented BrowserLauncher for opening URLs and files in the default browser. - Created ChartClickHandler and ChartMouseHandler for interactive chart features. - Added ChartDataPoint and ChartDataSeriesManager for managing chart data. - Introduced DataGapRange for handling data gaps in charts. - Created DoubleValueListener interface for double value callbacks. - Implemented HexByteTextArea for displaying and editing hex byte data. - Developed LineChartComponent for rendering line charts. - Added NavigationListener interface for navigation events. - Created SimpleCallback interface for simple callback mechanisms. - Implemented TableSelectionInfo interface for managing table selection states. - Developed TargetIndicatorComponent for visualizing target indicators. - Added TextFieldSelectAllListener to select all text in text fields on focus.
191 lines
5.0 KiB
Java
191 lines
5.0 KiB
Java
package com.efiAnalytics.ui;
|
|
|
|
import java.awt.BasicStroke;
|
|
import java.awt.Color;
|
|
import java.awt.Font;
|
|
import java.awt.Graphics;
|
|
import java.awt.Graphics2D;
|
|
import java.awt.Insets;
|
|
import java.awt.RenderingHints;
|
|
import java.awt.Stroke;
|
|
import javax.swing.BorderFactory;
|
|
import javax.swing.JComponent;
|
|
|
|
public class TargetIndicatorComponent extends JComponent {
|
|
int a = eJ.a(3);
|
|
|
|
Stroke b = new BasicStroke(this.a);
|
|
|
|
private double h = Double.NaN;
|
|
|
|
private double i = Double.NaN;
|
|
|
|
private double j = Double.NaN;
|
|
|
|
private double k = Double.NaN;
|
|
|
|
private double l = Double.NaN;
|
|
|
|
private double m = Double.NaN;
|
|
|
|
private double n = Double.NaN;
|
|
|
|
private double o = Double.NaN;
|
|
|
|
private Color p = Color.LIGHT_GRAY;
|
|
|
|
Color c = Color.RED;
|
|
|
|
Color d = new Color(0, 0, 255, 220);
|
|
|
|
Color e = Color.CYAN;
|
|
|
|
private String q = null;
|
|
|
|
double f = 0.1D;
|
|
|
|
Font g = new Font("Dialog", 0, 12);
|
|
|
|
public aR() {
|
|
setBorder(BorderFactory.createLoweredBevelBorder());
|
|
}
|
|
|
|
public void paint(Graphics paramGraphics) {
|
|
Graphics2D graphics2D = (Graphics2D)paramGraphics;
|
|
Insets insets = getInsets();
|
|
graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
|
graphics2D.setStroke(this.b);
|
|
Stroke stroke = graphics2D.getStroke();
|
|
int i = getWidth() - insets.left - insets.right;
|
|
int j = getHeight() - insets.top - insets.bottom;
|
|
int k = i * 2 / 3;
|
|
int m = j * 2 / 3;
|
|
boolean bool = b();
|
|
if (bool) {
|
|
paramGraphics.setColor(this.c);
|
|
} else {
|
|
paramGraphics.setColor(this.p);
|
|
}
|
|
paramGraphics.fillRect(insets.left, insets.top, i, j);
|
|
if (this.q != null && !this.q.isEmpty()) {
|
|
int n = getFontMetrics(this.g).stringWidth(this.q);
|
|
paramGraphics.setFont(this.g);
|
|
paramGraphics.setColor(Color.BLACK);
|
|
paramGraphics.drawString(this.q, (getWidth() - n) / 2, this.g.getSize());
|
|
}
|
|
if (!Double.isNaN(this.l) && !Double.isNaN(this.m)) {
|
|
int n;
|
|
int i1;
|
|
if (bool) {
|
|
paramGraphics.setColor(this.e);
|
|
} else {
|
|
paramGraphics.setColor(this.d);
|
|
}
|
|
if (this.l < this.n) {
|
|
double d = 0.5D * (this.l - this.h) / (this.n - this.h);
|
|
n = (int)(insets.left + Math.round(d * i));
|
|
} else {
|
|
double d = 0.5D + 0.5D * (this.l - this.n) / (this.i - this.n);
|
|
n = (int)(insets.left + Math.round(d * i));
|
|
}
|
|
if (this.m < this.o) {
|
|
double d = 1.0D - 0.5D * (this.m - this.j) / (this.o - this.j);
|
|
i1 = (int)(insets.top + Math.round(d * j));
|
|
} else {
|
|
double d = 0.5D - 0.5D * (this.m - this.o) / (this.k - this.o);
|
|
i1 = (int)(insets.top + Math.round(d * j));
|
|
}
|
|
paramGraphics.drawOval(n - k / 2, i1 - m / 2, k, m);
|
|
paramGraphics.drawLine(insets.left, i1, n - k / 2, i1);
|
|
paramGraphics.drawLine(n + k / 2 + 1, i1, getWidth() - insets.right, i1);
|
|
if (i1 - m / 2 > insets.top)
|
|
paramGraphics.drawLine(n, insets.top, n, i1 - m / 2);
|
|
if (i1 + m / 2 < getHeight() - insets.bottom)
|
|
paramGraphics.drawLine(n, i1 + m / 2 + 1, n, getHeight() - insets.bottom);
|
|
}
|
|
graphics2D.setStroke(stroke);
|
|
super.paint(paramGraphics);
|
|
}
|
|
|
|
private boolean b() {
|
|
double d1;
|
|
double d2;
|
|
if (this.l < this.n) {
|
|
d1 = 0.5D * (this.l - this.h) / (this.n - this.h);
|
|
} else {
|
|
d1 = 0.5D + (this.l - this.n) / (this.i - this.n);
|
|
}
|
|
if (this.m < this.o) {
|
|
d2 = 1.0D - 0.5D * (this.m - this.j) / (this.o - this.j);
|
|
} else {
|
|
d2 = 0.5D - 0.5D * (this.m - this.o) / (this.k - this.o);
|
|
}
|
|
return (Math.abs(0.5D - d1) < this.f && Math.abs(0.5D - d2) < this.f);
|
|
}
|
|
|
|
public void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
|
|
this.g = new Font("Dialog", 0, paramInt4 * 4 / 5);
|
|
super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4);
|
|
}
|
|
|
|
public void a(double paramDouble) {
|
|
this.h = paramDouble;
|
|
}
|
|
|
|
public void b(double paramDouble) {
|
|
this.i = paramDouble;
|
|
}
|
|
|
|
public void c(double paramDouble) {
|
|
this.j = paramDouble;
|
|
}
|
|
|
|
public void d(double paramDouble) {
|
|
this.k = paramDouble;
|
|
}
|
|
|
|
public void e(double paramDouble) {
|
|
this.l = paramDouble;
|
|
}
|
|
|
|
public void f(double paramDouble) {
|
|
this.m = paramDouble;
|
|
}
|
|
|
|
public void g(double paramDouble) {
|
|
this.n = paramDouble;
|
|
}
|
|
|
|
public void h(double paramDouble) {
|
|
this.o = paramDouble;
|
|
}
|
|
|
|
public void a(Color paramColor) {
|
|
this.p = paramColor;
|
|
}
|
|
|
|
public void a(String paramString) {
|
|
this.q = paramString;
|
|
}
|
|
|
|
public void a() {
|
|
this.h = Double.NaN;
|
|
this.i = Double.NaN;
|
|
this.j = Double.NaN;
|
|
this.k = Double.NaN;
|
|
this.l = Double.NaN;
|
|
this.m = Double.NaN;
|
|
this.n = Double.NaN;
|
|
this.o = Double.NaN;
|
|
this.q = null;
|
|
this.p = Color.LIGHT_GRAY;
|
|
setBackground(this.p);
|
|
repaint();
|
|
}
|
|
}
|
|
|
|
|
|
/* Location: /home/rewrich/Downloads/TunerStudioMS/TunerStudioMS/!/com/efiAnalytics/ui/aR.class
|
|
* Java compiler version: 8 (52.0)
|
|
* JD-Core Version: 1.1.3
|
|
*/ |