package art.client.GUI.components.devices.window.colors.rtz32.tables.incompatibilities; import art.library.gui.flat.FlatButton; import art.library.gui.flat.FlatPanel; import art.library.gui.flat.FlatTableInput; import art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Group; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; public class DiagramIncompatibilities extends FlatPanel { private RTZ32_ControllerConfiguration configuration = null; private FlatTableInput table1 = null; private Color color = new FlatPanel().getLook().background; public DiagramIncompatibilities (RTZ32_ControllerConfiguration configuration) { reload(configuration); } public void reload(RTZ32_ControllerConfiguration configuration) { this.configuration = configuration; this.removeAll(); this.setLayout(new BorderLayout()); this.add(new DiagramColumns(), BorderLayout.NORTH); this.add(new DiagramRows(), BorderLayout.WEST); this.add(new Diagram(), BorderLayout.CENTER); } private class DiagramColumns extends FlatButton { private DiagramColumns() { setPreferredSize(new Dimension(0,72)); } public void paint (Graphics g) { try { Graphics2D g2 = (Graphics2D)g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB); g2.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); int w = getWidth(); int h = getHeight(); g2.setBackground(color); g2.clearRect(0, 0, w, h); Font font = new FlatButton().getLook().font; g2.setColor(new FlatButton().getLook().colorForeground); double dx = (double)(w - 72) / ((double)configuration.rtz32.groups.length); dx = Math.min(72, dx); for (int i=0; i