Merge pull request #2300 from SiboVG/issue-2298

[#2208] Fix manufacturers' list in dark theme
This commit is contained in:
Sibo Van Gool 2023-08-21 01:33:23 +02:00 committed by GitHub
commit 381822ae81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 83 deletions

View File

@ -1,5 +1,6 @@
package net.sf.openrocket.gui.dialogs.motor.thrustcurve; package net.sf.openrocket.gui.dialogs.motor.thrustcurve;
import java.awt.Color;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.ArrayList; import java.util.ArrayList;
@ -16,6 +17,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JSpinner; import javax.swing.JSpinner;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder; import javax.swing.border.TitledBorder;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
@ -144,26 +146,25 @@ public abstract class MotorFilterPanel extends JPanel {
// Manufacturer selection // Manufacturer selection
JPanel sub = new JPanel(new MigLayout("fill")); JPanel sub = new JPanel(new MigLayout("fill"));
TitledBorder border = BorderFactory.createTitledBorder(trans.get("TCurveMotorCol.MANUFACTURER")); Border templateBorder = GUIUtil.getUITheme().getBorder();
TitledBorder border = BorderFactory.createTitledBorder(templateBorder);
border.setTitle(trans.get("TCurveMotorCol.MANUFACTURER"));
GUIUtil.changeFontStyle(border, Font.BOLD); GUIUtil.changeFontStyle(border, Font.BOLD);
sub.setBorder(border); sub.setBorder(border);
this.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); this.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
List<Manufacturer> manufacturers = new ArrayList<Manufacturer>(); List<Manufacturer> manufacturers = new ArrayList<>(allManufacturers);
for (Manufacturer m : allManufacturers) {
manufacturers.add(m);
}
Collections.sort(manufacturers, new Comparator<Manufacturer>() { manufacturers.sort(new Comparator<Manufacturer>() {
@Override @Override
public int compare(Manufacturer o1, Manufacturer o2) { public int compare(Manufacturer o1, Manufacturer o2) {
return o1.getSimpleName().compareTo( o2.getSimpleName()); return o1.getSimpleName().compareTo(o2.getSimpleName());
} }
}); });
manufacturerCheckList = new CheckList.Builder().<Manufacturer>build(); manufacturerCheckList = new CheckList.Builder().build();
manufacturerCheckList.setData(manufacturers); manufacturerCheckList.setData(manufacturers);
manufacturerCheckList.setUncheckedItems(unselectedManusFromPreferences); manufacturerCheckList.setUncheckedItems(unselectedManusFromPreferences);
@ -184,7 +185,12 @@ public abstract class MotorFilterPanel extends JPanel {
} }
}); });
sub.add(new JScrollPane(manufacturerCheckList.getList()), "grow, pushy, wrap"); JScrollPane scrollPane = new JScrollPane(manufacturerCheckList.getList());
Border border1 = GUIUtil.getUITheme().getBorder();
if (border1 != null) {
scrollPane.setBorder(border1);
}
sub.add(scrollPane, "grow, pushy, wrap");
JButton clearMotors = new SelectColorButton(trans.get("TCMotorSelPan.btn.checkNone")); JButton clearMotors = new SelectColorButton(trans.get("TCMotorSelPan.btn.checkNone"));
clearMotors.addActionListener( new ActionListener() { clearMotors.addActionListener( new ActionListener() {
@ -213,7 +219,8 @@ public abstract class MotorFilterPanel extends JPanel {
// Total Impulse selection // Total Impulse selection
{ {
sub = new JPanel(new MigLayout("fill")); sub = new JPanel(new MigLayout("fill"));
border = BorderFactory.createTitledBorder(trans.get("TCurveMotorCol.TOTAL_IMPULSE")); border = BorderFactory.createTitledBorder(templateBorder);
border.setTitle(trans.get("TCurveMotorCol.TOTAL_IMPULSE"));
GUIUtil.changeFontStyle(border, Font.BOLD); GUIUtil.changeFontStyle(border, Font.BOLD);
sub.setBorder(border); sub.setBorder(border);
@ -240,7 +247,8 @@ public abstract class MotorFilterPanel extends JPanel {
// Motor Dimensions // Motor Dimensions
sub = new JPanel(new MigLayout("fill")); sub = new JPanel(new MigLayout("fill"));
TitledBorder diameterTitleBorder = BorderFactory.createTitledBorder(trans.get("TCMotorSelPan.MotorSize")); TitledBorder diameterTitleBorder = BorderFactory.createTitledBorder(templateBorder);
diameterTitleBorder.setTitle(trans.get("TCMotorSelPan.MotorSize"));
GUIUtil.changeFontStyle(diameterTitleBorder, Font.BOLD); GUIUtil.changeFontStyle(diameterTitleBorder, Font.BOLD);
sub.setBorder(diameterTitleBorder); sub.setBorder(diameterTitleBorder);

View File

@ -159,6 +159,7 @@ class MotorInformationPanel extends JPanel {
comment = new JTextArea(5, 5); comment = new JTextArea(5, 5);
comment.setBorder(GUIUtil.getUITheme().getBorder());
GUIUtil.changeFontSize(comment, -2); GUIUtil.changeFontSize(comment, -2);
withCommentFont = comment.getFont(); withCommentFont = comment.getFont();
noCommentFont = withCommentFont.deriveFont(Font.ITALIC); noCommentFont = withCommentFont.deriveFont(Font.ITALIC);

View File

@ -45,6 +45,7 @@ import javax.swing.event.RowSorterListener;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter; import javax.swing.table.TableRowSorter;
import net.sf.openrocket.gui.util.UITheme;
import net.sf.openrocket.util.StateChangeListener; import net.sf.openrocket.util.StateChangeListener;
import org.jfree.chart.ChartColor; import org.jfree.chart.ChartColor;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -332,11 +333,10 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec
// Number of motors // Number of motors
{ {
nrOfMotorsLabel = new JLabel(); nrOfMotorsLabel = new StyledLabel(-2f, StyledLabel.Style.ITALIC);
nrOfMotorsLabel.setToolTipText(trans.get("TCMotorSelPan.lbl.ttip.nrOfMotors")); nrOfMotorsLabel.setToolTipText(trans.get("TCMotorSelPan.lbl.ttip.nrOfMotors"));
updateNrOfMotors(); updateNrOfMotors();
nrOfMotorsLabel.setForeground(Color.darkGray); nrOfMotorsLabel.setForeground(GUIUtil.getUITheme().getDimTextColor());
nrOfMotorsLabel.setFont(new Font(Font.SANS_SERIF, Font.ITALIC, 11));
panel.add(nrOfMotorsLabel, "gapleft para, spanx, wrap"); panel.add(nrOfMotorsLabel, "gapleft para, spanx, wrap");
sorter.addRowSorterListener(new RowSorterListener() { sorter.addRowSorterListener(new RowSorterListener() {
@Override @Override

View File

@ -33,10 +33,8 @@ package net.sf.openrocket.gui.util;
import java.awt.Color; import java.awt.Color;
import java.awt.Component; import java.awt.Component;
import java.awt.Rectangle;
import java.io.Serializable; import java.io.Serializable;
import javax.swing.DefaultListCellRenderer;
import javax.swing.Icon; import javax.swing.Icon;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import javax.swing.JList; import javax.swing.JList;
@ -49,7 +47,7 @@ import javax.swing.border.EmptyBorder;
public class CheckListRenderer extends JCheckBox implements ListCellRenderer, Serializable { public class CheckListRenderer extends JCheckBox implements ListCellRenderer, Serializable {
private static final Border NO_FOCUS_BORDER = new EmptyBorder(1, 1, 1, 1); private static final Border NO_FOCUS_BORDER = new EmptyBorder(1, 1, 1, 1);
private static final Border SAFE_NO_FOCUS_BORDER = NO_FOCUS_BORDER; // may change in the feature private static final Border SAFE_NO_FOCUS_BORDER = NO_FOCUS_BORDER; // may change in the future
/** /**
* Constructs a default renderer object for an item in a list. * Constructs a default renderer object for an item in a list.
@ -162,66 +160,4 @@ public class CheckListRenderer extends JCheckBox implements ListCellRenderer, Se
} }
} }
// Methods below are overridden for performance reasons.
@Override
public void validate() {
}
@Override
public void invalidate() {
}
@Override
public void repaint() {
}
@Override
public void revalidate() {
}
@Override
public void repaint(long tm, int x, int y, int width, int height) {
}
@Override
public void repaint(Rectangle r) {
}
@Override
public void firePropertyChange(String propertyName, byte oldValue, byte newValue) {
}
@Override
public void firePropertyChange(String propertyName, char oldValue, char newValue) {
}
@Override
public void firePropertyChange(String propertyName, short oldValue, short newValue) {
}
@Override
public void firePropertyChange(String propertyName, int oldValue, int newValue) {
}
@Override
public void firePropertyChange(String propertyName, long oldValue, long newValue) {
}
@Override
public void firePropertyChange(String propertyName, float oldValue, float newValue) {
}
@Override
public void firePropertyChange(String propertyName, double oldValue, double newValue) {
}
@Override
public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {
}
@SuppressWarnings("serial")
public static class UIResource extends DefaultListCellRenderer implements javax.swing.plaf.UIResource {
}
} }