diff --git a/core/resources/pix/componenticons/altimeter_dark-small.png b/core/resources/pix/componenticons/altimeter_dark-small.png
new file mode 100644
index 000000000..3506a26e5
Binary files /dev/null and b/core/resources/pix/componenticons/altimeter_dark-small.png differ
diff --git a/core/resources/pix/componenticons/battery_dark-small.png b/core/resources/pix/componenticons/battery_dark-small.png
new file mode 100644
index 000000000..72b498ebd
Binary files /dev/null and b/core/resources/pix/componenticons/battery_dark-small.png differ
diff --git a/core/resources/pix/componenticons/deployment-charge_dark-small.png b/core/resources/pix/componenticons/deployment-charge_dark-small.png
new file mode 100644
index 000000000..cadf1807c
Binary files /dev/null and b/core/resources/pix/componenticons/deployment-charge_dark-small.png differ
diff --git a/core/resources/pix/componenticons/ellipticalfin_dark-large.png b/core/resources/pix/componenticons/ellipticalfin_dark-large.png
new file mode 100644
index 000000000..cb186f3eb
Binary files /dev/null and b/core/resources/pix/componenticons/ellipticalfin_dark-large.png differ
diff --git a/core/resources/pix/componenticons/ellipticalfin_dark-small.png b/core/resources/pix/componenticons/ellipticalfin_dark-small.png
new file mode 100644
index 000000000..ea25386e4
Binary files /dev/null and b/core/resources/pix/componenticons/ellipticalfin_dark-small.png differ
diff --git a/core/resources/pix/componenticons/flight-comp_dark-small.png b/core/resources/pix/componenticons/flight-comp_dark-small.png
new file mode 100644
index 000000000..658443a1f
Binary files /dev/null and b/core/resources/pix/componenticons/flight-comp_dark-small.png differ
diff --git a/core/resources/pix/componenticons/freeformfin_dark-large.png b/core/resources/pix/componenticons/freeformfin_dark-large.png
new file mode 100644
index 000000000..a1f1e694d
Binary files /dev/null and b/core/resources/pix/componenticons/freeformfin_dark-large.png differ
diff --git a/core/resources/pix/componenticons/freeformfin_dark-small.png b/core/resources/pix/componenticons/freeformfin_dark-small.png
new file mode 100644
index 000000000..ddcb3f2aa
Binary files /dev/null and b/core/resources/pix/componenticons/freeformfin_dark-small.png differ
diff --git a/core/resources/pix/componenticons/launchlug_dark-large.png b/core/resources/pix/componenticons/launchlug_dark-large.png
new file mode 100644
index 000000000..faba92982
Binary files /dev/null and b/core/resources/pix/componenticons/launchlug_dark-large.png differ
diff --git a/core/resources/pix/componenticons/launchlug_dark-small.png b/core/resources/pix/componenticons/launchlug_dark-small.png
new file mode 100644
index 000000000..e3296b66b
Binary files /dev/null and b/core/resources/pix/componenticons/launchlug_dark-small.png differ
diff --git a/core/resources/pix/componenticons/mass_dark-large.png b/core/resources/pix/componenticons/mass_dark-large.png
new file mode 100644
index 000000000..e41e1f590
Binary files /dev/null and b/core/resources/pix/componenticons/mass_dark-large.png differ
diff --git a/core/resources/pix/componenticons/mass_dark-small.png b/core/resources/pix/componenticons/mass_dark-small.png
new file mode 100644
index 000000000..192e767ea
Binary files /dev/null and b/core/resources/pix/componenticons/mass_dark-small.png differ
diff --git a/core/resources/pix/componenticons/parachute_dark-large.png b/core/resources/pix/componenticons/parachute_dark-large.png
new file mode 100644
index 000000000..bcdc3b9d4
Binary files /dev/null and b/core/resources/pix/componenticons/parachute_dark-large.png differ
diff --git a/core/resources/pix/componenticons/parachute_dark-small.png b/core/resources/pix/componenticons/parachute_dark-small.png
new file mode 100644
index 000000000..b837e4ece
Binary files /dev/null and b/core/resources/pix/componenticons/parachute_dark-small.png differ
diff --git a/core/resources/pix/componenticons/pods_dark-large.png b/core/resources/pix/componenticons/pods_dark-large.png
new file mode 100644
index 000000000..a88920e9a
Binary files /dev/null and b/core/resources/pix/componenticons/pods_dark-large.png differ
diff --git a/core/resources/pix/componenticons/pods_dark-small.png b/core/resources/pix/componenticons/pods_dark-small.png
new file mode 100644
index 000000000..8f9ad6d22
Binary files /dev/null and b/core/resources/pix/componenticons/pods_dark-small.png differ
diff --git a/core/resources/pix/componenticons/recovery-hardware_dark-small.png b/core/resources/pix/componenticons/recovery-hardware_dark-small.png
new file mode 100644
index 000000000..b3eb482b9
Binary files /dev/null and b/core/resources/pix/componenticons/recovery-hardware_dark-small.png differ
diff --git a/core/resources/pix/componenticons/shockcord_dark-large.png b/core/resources/pix/componenticons/shockcord_dark-large.png
new file mode 100644
index 000000000..437f56a49
Binary files /dev/null and b/core/resources/pix/componenticons/shockcord_dark-large.png differ
diff --git a/core/resources/pix/componenticons/shockcord_dark-small.png b/core/resources/pix/componenticons/shockcord_dark-small.png
new file mode 100644
index 000000000..c673df524
Binary files /dev/null and b/core/resources/pix/componenticons/shockcord_dark-small.png differ
diff --git a/core/resources/pix/componenticons/streamer_dark-large.png b/core/resources/pix/componenticons/streamer_dark-large.png
new file mode 100644
index 000000000..734c726bc
Binary files /dev/null and b/core/resources/pix/componenticons/streamer_dark-large.png differ
diff --git a/core/resources/pix/componenticons/streamer_dark-small.png b/core/resources/pix/componenticons/streamer_dark-small.png
new file mode 100644
index 000000000..a0ac436d2
Binary files /dev/null and b/core/resources/pix/componenticons/streamer_dark-small.png differ
diff --git a/core/resources/pix/componenticons/tracker_dark-small.png b/core/resources/pix/componenticons/tracker_dark-small.png
new file mode 100644
index 000000000..1af0e0588
Binary files /dev/null and b/core/resources/pix/componenticons/tracker_dark-small.png differ
diff --git a/core/resources/pix/componenticons/tubefin-large.png b/core/resources/pix/componenticons/tubefin-large.png
index 76120e258..5de7272a5 100644
Binary files a/core/resources/pix/componenticons/tubefin-large.png and b/core/resources/pix/componenticons/tubefin-large.png differ
diff --git a/core/resources/pix/componenticons/tubefin-small.png b/core/resources/pix/componenticons/tubefin-small.png
index 334bad233..addf83b3f 100644
Binary files a/core/resources/pix/componenticons/tubefin-small.png and b/core/resources/pix/componenticons/tubefin-small.png differ
diff --git a/install4j/23.09/openrocket-23.09.install4j b/install4j/23.09/openrocket-23.09.install4j
index e609e716c..fd9c9dcc8 100644
--- a/install4j/23.09/openrocket-23.09.install4j
+++ b/install4j/23.09/openrocket-23.09.install4j
@@ -29,7 +29,7 @@
-
+
diff --git a/swing/resources/datafiles/examples/A 3D printable model rocket.ork b/swing/resources/datafiles/examples/A 3D printable model rocket.ork
index 4b3a2bbea..7c1ff65d8 100644
Binary files a/swing/resources/datafiles/examples/A 3D printable model rocket.ork and b/swing/resources/datafiles/examples/A 3D printable model rocket.ork differ
diff --git a/swing/src/net/sf/openrocket/gui/main/ComponentIcons.java b/swing/src/net/sf/openrocket/gui/main/ComponentIcons.java
index d5e9b3a28..39dd7ec91 100644
--- a/swing/src/net/sf/openrocket/gui/main/ComponentIcons.java
+++ b/swing/src/net/sf/openrocket/gui/main/ComponentIcons.java
@@ -9,6 +9,8 @@ import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
+import net.sf.openrocket.gui.util.GUIUtil;
+import net.sf.openrocket.gui.util.UITheme;
import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.rocketcomponent.AxialStage;
import net.sf.openrocket.rocketcomponent.BodyTube;
@@ -41,77 +43,138 @@ public class ComponentIcons {
private static final String SMALL_SUFFIX = "-small.png";
private static final String LARGE_SUFFIX = "-large.png";
+ // Component image file keys
+ private static String noseCone;
+ private static String bodyTube;
+ private static String transition;
+ private static String trapezoidFinSet;
+ private static String ellipticalFinSet;
+ private static String freeformFinSet;
+ private static String tubeFinSet;
+ private static String launchLug;
+ private static String railButton;
+ private static String innerTube;
+ private static String tubeCoupler;
+ private static String centeringRing;
+ private static String bulkhead;
+ private static String engineBlock;
+ private static String parachute;
+ private static String streamer;
+ private static String shockCord;
+ private static String mass;
+ private static String stage;
+ private static String boosters;
+ private static String pods;
+
+ private static String mass_altimeter;
+ private static String mass_battery;
+ private static String mass_deployment_charge;
+ private static String mass_payload;
+ private static String mass_flight_comp;
+ private static String mass_recovery_hardware;
+ private static String mass_tracker;
+
private static final HashMap, ImageIcon> SMALL_ICONS = new HashMap, ImageIcon>();
private static final HashMap, ImageIcon> LARGE_ICONS = new HashMap, ImageIcon>();
private static final HashMap, ImageIcon> DISABLED_ICONS = new HashMap, ImageIcon>();
private static final HashMap MASS_COMPONENT_SMALL_ICONS = new HashMap();
static {
+ initColors();
+
// // Nose cone
- load("nosecone", trans.get("ComponentIcons.Nosecone"), NoseCone.class);
+ load(noseCone, trans.get("ComponentIcons.Nosecone"), NoseCone.class);
// // Body tube
- load("bodytube", trans.get("ComponentIcons.Bodytube"), BodyTube.class);
+ load(bodyTube, trans.get("ComponentIcons.Bodytube"), BodyTube.class);
//// Transition
- load("transition", trans.get("ComponentIcons.Transition"), Transition.class);
+ load(transition, trans.get("ComponentIcons.Transition"), Transition.class);
//// Trapezoidal fin set
- load("trapezoidfin", trans.get("ComponentIcons.Trapezoidalfinset"), TrapezoidFinSet.class);
+ load(trapezoidFinSet, trans.get("ComponentIcons.Trapezoidalfinset"), TrapezoidFinSet.class);
//// Elliptical fin set
- load("ellipticalfin", trans.get("ComponentIcons.Ellipticalfinset"), EllipticalFinSet.class);
+ load(ellipticalFinSet, trans.get("ComponentIcons.Ellipticalfinset"), EllipticalFinSet.class);
//// Freeform fin set
- load("freeformfin", trans.get("ComponentIcons.Freeformfinset"), FreeformFinSet.class);
+ load(freeformFinSet, trans.get("ComponentIcons.Freeformfinset"), FreeformFinSet.class);
//// Tube fin set
- load("tubefin", trans.get("ComponentIcons.Tubefinset"), TubeFinSet.class);
+ load(tubeFinSet, trans.get("ComponentIcons.Tubefinset"), TubeFinSet.class);
//// Launch lug
- load("launchlug", trans.get("ComponentIcons.Launchlug"), LaunchLug.class);
+ load(launchLug, trans.get("ComponentIcons.Launchlug"), LaunchLug.class);
//// Rail Button
- load("railbutton", trans.get("ComponentIcons.RailButton"), RailButton.class);
+ load(railButton, trans.get("ComponentIcons.RailButton"), RailButton.class);
//// Inner tube
- load("innertube", trans.get("ComponentIcons.Innertube"), InnerTube.class);
+ load(innerTube, trans.get("ComponentIcons.Innertube"), InnerTube.class);
//// Tube coupler
- load("tubecoupler", trans.get("ComponentIcons.Tubecoupler"), TubeCoupler.class);
+ load(tubeCoupler, trans.get("ComponentIcons.Tubecoupler"), TubeCoupler.class);
//// Centering ring
- load("centeringring", trans.get("ComponentIcons.Centeringring"), CenteringRing.class);
+ load(centeringRing, trans.get("ComponentIcons.Centeringring"), CenteringRing.class);
//// Bulkhead
- load("bulkhead", trans.get("ComponentIcons.Bulkhead"), Bulkhead.class);
+ load(bulkhead, trans.get("ComponentIcons.Bulkhead"), Bulkhead.class);
// // Engine block
- load("engineblock", trans.get("ComponentIcons.Engineblock"),
+ load(engineBlock, trans.get("ComponentIcons.Engineblock"),
EngineBlock.class);
// // Parachute
- load("parachute", trans.get("ComponentIcons.Parachute"),
+ load(parachute, trans.get("ComponentIcons.Parachute"),
Parachute.class);
// // Streamer
- load("streamer", trans.get("ComponentIcons.Streamer"), Streamer.class);
+ load(streamer, trans.get("ComponentIcons.Streamer"), Streamer.class);
// // Shock cord
- load("shockcord", trans.get("ComponentIcons.Shockcord"),
+ load(shockCord, trans.get("ComponentIcons.Shockcord"),
ShockCord.class);
- load("mass", trans.get("ComponentIcons.Masscomponent"),
+ load(mass, trans.get("ComponentIcons.Masscomponent"),
MassComponent.class);
// // Component Assemblies
- load("stage", trans.get("ComponentIcons.Stage"),
+ load(stage, trans.get("ComponentIcons.Stage"),
AxialStage.class);
- load("boosters", trans.get("ComponentIcons.Boosters"),
+ load(boosters, trans.get("ComponentIcons.Boosters"),
ParallelStage.class);
- load("pods", trans.get("ComponentIcons.Pods"),
+ load(pods, trans.get("ComponentIcons.Pods"),
PodSet.class);
// // Mass components
- loadMassTypeIcon("mass", trans.get("ComponentIcons.Masscomponent"),
- MassComponentType.MASSCOMPONENT);
- loadMassTypeIcon("altimeter", trans.get("ComponentIcons.Altimeter"),
- MassComponentType.ALTIMETER);
- loadMassTypeIcon("battery", trans.get("ComponentIcons.Battery"),
- MassComponentType.BATTERY);
- loadMassTypeIcon("deployment-charge",
- trans.get("ComponentIcons.Deploymentcharge"),
+ loadMassTypeIcon(mass, trans.get("ComponentIcons.Masscomponent"), MassComponentType.MASSCOMPONENT);
+ loadMassTypeIcon(mass_altimeter, trans.get("ComponentIcons.Altimeter"), MassComponentType.ALTIMETER);
+ loadMassTypeIcon(mass_battery, trans.get("ComponentIcons.Battery"), MassComponentType.BATTERY);
+ loadMassTypeIcon(mass_deployment_charge, trans.get("ComponentIcons.Deploymentcharge"),
MassComponentType.DEPLOYMENTCHARGE);
- loadMassTypeIcon("payload", trans.get("ComponentIcons.Payload"),
- MassComponentType.PAYLOAD);
- loadMassTypeIcon("flight-comp",
- trans.get("ComponentIcons.Flightcomputer"),
- MassComponentType.FLIGHTCOMPUTER);
- loadMassTypeIcon("recovery-hardware",
- trans.get("ComponentIcons.Recoveryhardware"),
- MassComponentType.RECOVERYHARDWARE);
- loadMassTypeIcon("tracker", trans.get("ComponentIcons.Tracker"),
- MassComponentType.TRACKER);
+ loadMassTypeIcon(mass_payload, trans.get("ComponentIcons.Payload"), MassComponentType.PAYLOAD);
+ loadMassTypeIcon(mass_flight_comp,
+ trans.get("ComponentIcons.Flightcomputer"), MassComponentType.FLIGHTCOMPUTER);
+ loadMassTypeIcon(mass_recovery_hardware,
+ trans.get("ComponentIcons.Recoveryhardware"), MassComponentType.RECOVERYHARDWARE);
+ loadMassTypeIcon(mass_tracker, trans.get("ComponentIcons.Tracker"), MassComponentType.TRACKER);
+ }
+
+ private static void initColors() {
+ updateColors();
+ UITheme.Theme.addUIThemeChangeListener(ComponentIcons::updateColors);
+ }
+
+ private static void updateColors() {
+ noseCone = GUIUtil.getUITheme().getComponentIconNoseCone();
+ bodyTube = GUIUtil.getUITheme().getComponentIconBodyTube();
+ transition = GUIUtil.getUITheme().getComponentIconTransition();
+ trapezoidFinSet = GUIUtil.getUITheme().getComponentIconTrapezoidFinSet();
+ ellipticalFinSet = GUIUtil.getUITheme().getComponentIconEllipticalFinSet();
+ freeformFinSet = GUIUtil.getUITheme().getComponentIconFreeformFinSet();
+ tubeFinSet = GUIUtil.getUITheme().getComponentIconTubeFinSet();
+ launchLug = GUIUtil.getUITheme().getComponentIconLaunchLug();
+ railButton = GUIUtil.getUITheme().getComponentIconRailButton();
+ innerTube = GUIUtil.getUITheme().getComponentIconInnerTube();
+ tubeCoupler = GUIUtil.getUITheme().getComponentIconTubeCoupler();
+ centeringRing = GUIUtil.getUITheme().getComponentIconCenteringRing();
+ bulkhead = GUIUtil.getUITheme().getComponentIconBulkhead();
+ engineBlock = GUIUtil.getUITheme().getComponentIconEngineBlock();
+ parachute = GUIUtil.getUITheme().getComponentIconParachute();
+ streamer = GUIUtil.getUITheme().getComponentIconStreamer();
+ shockCord = GUIUtil.getUITheme().getComponentIconShockCord();
+ mass = GUIUtil.getUITheme().getComponentIconMass();
+ stage = GUIUtil.getUITheme().getComponentIconStage();
+ boosters = GUIUtil.getUITheme().getComponentIconBoosters();
+ pods = GUIUtil.getUITheme().getComponentIconPods();
+ mass_altimeter = GUIUtil.getUITheme().getComponentIconMassAltimeter();
+ mass_battery = GUIUtil.getUITheme().getComponentIconMassBattery();
+ mass_deployment_charge = GUIUtil.getUITheme().getComponentIconMassDeploymentCharge();
+ mass_payload = GUIUtil.getUITheme().getComponentIconMassPayload();
+ mass_flight_comp = GUIUtil.getUITheme().getComponentIconMassFlightComp();
+ mass_recovery_hardware = GUIUtil.getUITheme().getComponentIconMassRecoveryHardware();
+ mass_tracker = GUIUtil.getUITheme().getComponentIconMassTracker();
}
private static void load(String filename, String name,
diff --git a/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java b/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java
index 7cf764261..72e2fff73 100644
--- a/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java
+++ b/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java
@@ -790,6 +790,11 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
cgy = cg.y * Math.cos(rotation) + cg.z*Math.sin(rotation);
}
+ // We need to flip the y coordinate if we are in top view
+ if (figure.getCurrentViewType() == RocketPanel.VIEW_TYPE.TopView) {
+ cgy = -cgy;
+ }
+
double length = curConfig.getLength();
double diameter = Double.NaN;
diff --git a/swing/src/net/sf/openrocket/gui/util/UITheme.java b/swing/src/net/sf/openrocket/gui/util/UITheme.java
index f733501d6..e672fdf4a 100644
--- a/swing/src/net/sf/openrocket/gui/util/UITheme.java
+++ b/swing/src/net/sf/openrocket/gui/util/UITheme.java
@@ -12,19 +12,16 @@ import org.slf4j.LoggerFactory;
import javax.swing.BorderFactory;
import javax.swing.Icon;
-import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.border.Border;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.atomic.AtomicReference;
public class UITheme {
private static final Translator trans = Application.getTranslator();
@@ -88,6 +85,36 @@ public class UITheme {
void formatScriptTextArea(RSyntaxTextArea textArea);
+ // Rocket component icons
+ String getComponentIconNoseCone();
+ String getComponentIconBodyTube();
+ String getComponentIconTransition();
+ String getComponentIconTrapezoidFinSet();
+ String getComponentIconEllipticalFinSet();
+ String getComponentIconFreeformFinSet();
+ String getComponentIconTubeFinSet();
+ String getComponentIconLaunchLug();
+ String getComponentIconRailButton();
+ String getComponentIconInnerTube();
+ String getComponentIconTubeCoupler();
+ String getComponentIconCenteringRing();
+ String getComponentIconBulkhead();
+ String getComponentIconEngineBlock();
+ String getComponentIconParachute();
+ String getComponentIconStreamer();
+ String getComponentIconShockCord();
+ String getComponentIconMass();
+ String getComponentIconStage();
+ String getComponentIconBoosters();
+ String getComponentIconPods();
+ String getComponentIconMassAltimeter();
+ String getComponentIconMassBattery();
+ String getComponentIconMassDeploymentCharge();
+ String getComponentIconMassPayload();
+ String getComponentIconMassFlightComp();
+ String getComponentIconMassRecoveryHardware();
+ String getComponentIconMassTracker();
+
// Static list of listeners
static List themeChangeListeners = new ArrayList<>();
@@ -365,6 +392,119 @@ public class UITheme {
log.warn("Unable to load RSyntaxTextArea theme", ioe);
}
}
+
+ @Override
+ public String getComponentIconNoseCone() {
+ return "nosecone";
+ }
+ @Override
+ public String getComponentIconBodyTube() {
+ return "bodytube";
+ }
+ @Override
+ public String getComponentIconTransition() {
+ return "transition";
+ }
+ @Override
+ public String getComponentIconTrapezoidFinSet() {
+ return "trapezoidfin";
+ }
+ @Override
+ public String getComponentIconEllipticalFinSet() {
+ return "ellipticalfin";
+ }
+ @Override
+ public String getComponentIconFreeformFinSet() {
+ return "freeformfin";
+ }
+ @Override
+ public String getComponentIconTubeFinSet() {
+ return "tubefin";
+ }
+ @Override
+ public String getComponentIconLaunchLug() {
+ return "launchlug";
+ }
+ @Override
+ public String getComponentIconRailButton() {
+ return "railbutton";
+ }
+ @Override
+ public String getComponentIconInnerTube() {
+ return "innertube";
+ }
+ @Override
+ public String getComponentIconTubeCoupler() {
+ return "tubecoupler";
+ }
+ @Override
+ public String getComponentIconCenteringRing() {
+ return "centeringring";
+ }
+ @Override
+ public String getComponentIconBulkhead() {
+ return "bulkhead";
+ }
+ @Override
+ public String getComponentIconEngineBlock() {
+ return "engineblock";
+ }
+ @Override
+ public String getComponentIconParachute() {
+ return "parachute";
+ }
+ @Override
+ public String getComponentIconStreamer() {
+ return "streamer";
+ }
+ @Override
+ public String getComponentIconShockCord() {
+ return "shockcord";
+ }
+ @Override
+ public String getComponentIconMass() {
+ return "mass";
+ }
+ @Override
+ public String getComponentIconStage() {
+ return "stage";
+ }
+ @Override
+ public String getComponentIconBoosters() {
+ return "boosters";
+ }
+ @Override
+ public String getComponentIconPods() {
+ return "pods";
+ }
+ @Override
+ public String getComponentIconMassAltimeter() {
+ return "altimeter";
+ }
+ @Override
+ public String getComponentIconMassBattery() {
+ return "battery";
+ }
+ @Override
+ public String getComponentIconMassDeploymentCharge() {
+ return "deployment-charge";
+ }
+ @Override
+ public String getComponentIconMassPayload() {
+ return "payload";
+ }
+ @Override
+ public String getComponentIconMassFlightComp() {
+ return "flight-comp";
+ }
+ @Override
+ public String getComponentIconMassRecoveryHardware() {
+ return "recovery-hardware";
+ }
+ @Override
+ public String getComponentIconMassTracker() {
+ return "tracker";
+ }
},
/*
Dark theme
@@ -599,6 +739,119 @@ public class UITheme {
log.warn("Unable to load RSyntaxTextArea theme", ioe);
}
}
+
+ @Override
+ public String getComponentIconNoseCone() {
+ return "nosecone";
+ }
+ @Override
+ public String getComponentIconBodyTube() {
+ return "bodytube";
+ }
+ @Override
+ public String getComponentIconTransition() {
+ return "transition";
+ }
+ @Override
+ public String getComponentIconTrapezoidFinSet() {
+ return "trapezoidfin";
+ }
+ @Override
+ public String getComponentIconEllipticalFinSet() {
+ return "ellipticalfin_dark";
+ }
+ @Override
+ public String getComponentIconFreeformFinSet() {
+ return "freeformfin_dark";
+ }
+ @Override
+ public String getComponentIconTubeFinSet() {
+ return "tubefin";
+ }
+ @Override
+ public String getComponentIconLaunchLug() {
+ return "launchlug_dark";
+ }
+ @Override
+ public String getComponentIconRailButton() {
+ return "railbutton";
+ }
+ @Override
+ public String getComponentIconInnerTube() {
+ return "innertube";
+ }
+ @Override
+ public String getComponentIconTubeCoupler() {
+ return "tubecoupler";
+ }
+ @Override
+ public String getComponentIconCenteringRing() {
+ return "centeringring";
+ }
+ @Override
+ public String getComponentIconBulkhead() {
+ return "bulkhead";
+ }
+ @Override
+ public String getComponentIconEngineBlock() {
+ return "engineblock";
+ }
+ @Override
+ public String getComponentIconParachute() {
+ return "parachute_dark";
+ }
+ @Override
+ public String getComponentIconStreamer() {
+ return "streamer_dark";
+ }
+ @Override
+ public String getComponentIconShockCord() {
+ return "shockcord_dark";
+ }
+ @Override
+ public String getComponentIconMass() {
+ return "mass_dark";
+ }
+ @Override
+ public String getComponentIconStage() {
+ return "stage";
+ }
+ @Override
+ public String getComponentIconBoosters() {
+ return "boosters";
+ }
+ @Override
+ public String getComponentIconPods() {
+ return "pods_dark";
+ }
+ @Override
+ public String getComponentIconMassAltimeter() {
+ return "altimeter_dark";
+ }
+ @Override
+ public String getComponentIconMassBattery() {
+ return "battery_dark";
+ }
+ @Override
+ public String getComponentIconMassDeploymentCharge() {
+ return "deployment-charge_dark";
+ }
+ @Override
+ public String getComponentIconMassPayload() {
+ return "payload";
+ }
+ @Override
+ public String getComponentIconMassFlightComp() {
+ return "flight-comp_dark";
+ }
+ @Override
+ public String getComponentIconMassRecoveryHardware() {
+ return "recovery-hardware_dark";
+ }
+ @Override
+ public String getComponentIconMassTracker() {
+ return "tracker_dark";
+ }
},
/*
High-contrast dark theme
@@ -1075,6 +1328,119 @@ public class UITheme {
public void formatScriptTextArea(RSyntaxTextArea textArea) {
getCurrentTheme().formatScriptTextArea(textArea);
}
+
+ @Override
+ public String getComponentIconNoseCone() {
+ return getCurrentTheme().getComponentIconNoseCone();
+ }
+ @Override
+ public String getComponentIconBodyTube() {
+ return getCurrentTheme().getComponentIconBodyTube();
+ }
+ @Override
+ public String getComponentIconTransition() {
+ return getCurrentTheme().getComponentIconTransition();
+ }
+ @Override
+ public String getComponentIconTrapezoidFinSet() {
+ return getCurrentTheme().getComponentIconTrapezoidFinSet();
+ }
+ @Override
+ public String getComponentIconEllipticalFinSet() {
+ return getCurrentTheme().getComponentIconEllipticalFinSet();
+ }
+ @Override
+ public String getComponentIconFreeformFinSet() {
+ return getCurrentTheme().getComponentIconFreeformFinSet();
+ }
+ @Override
+ public String getComponentIconTubeFinSet() {
+ return getCurrentTheme().getComponentIconTubeFinSet();
+ }
+ @Override
+ public String getComponentIconLaunchLug() {
+ return getCurrentTheme().getComponentIconLaunchLug();
+ }
+ @Override
+ public String getComponentIconRailButton() {
+ return getCurrentTheme().getComponentIconRailButton();
+ }
+ @Override
+ public String getComponentIconInnerTube() {
+ return getCurrentTheme().getComponentIconInnerTube();
+ }
+ @Override
+ public String getComponentIconTubeCoupler() {
+ return getCurrentTheme().getComponentIconTubeCoupler();
+ }
+ @Override
+ public String getComponentIconCenteringRing() {
+ return getCurrentTheme().getComponentIconCenteringRing();
+ }
+ @Override
+ public String getComponentIconBulkhead() {
+ return getCurrentTheme().getComponentIconBulkhead();
+ }
+ @Override
+ public String getComponentIconEngineBlock() {
+ return getCurrentTheme().getComponentIconEngineBlock();
+ }
+ @Override
+ public String getComponentIconParachute() {
+ return getCurrentTheme().getComponentIconParachute();
+ }
+ @Override
+ public String getComponentIconStreamer() {
+ return getCurrentTheme().getComponentIconStreamer();
+ }
+ @Override
+ public String getComponentIconShockCord() {
+ return getCurrentTheme().getComponentIconShockCord();
+ }
+ @Override
+ public String getComponentIconMass() {
+ return getCurrentTheme().getComponentIconMass();
+ }
+ @Override
+ public String getComponentIconStage() {
+ return getCurrentTheme().getComponentIconStage();
+ }
+ @Override
+ public String getComponentIconBoosters() {
+ return getCurrentTheme().getComponentIconBoosters();
+ }
+ @Override
+ public String getComponentIconPods() {
+ return getCurrentTheme().getComponentIconPods();
+ }
+ @Override
+ public String getComponentIconMassAltimeter() {
+ return getCurrentTheme().getComponentIconMassAltimeter();
+ }
+ @Override
+ public String getComponentIconMassBattery() {
+ return getCurrentTheme().getComponentIconMassBattery();
+ }
+ @Override
+ public String getComponentIconMassDeploymentCharge() {
+ return getCurrentTheme().getComponentIconMassDeploymentCharge();
+ }
+ @Override
+ public String getComponentIconMassPayload() {
+ return getCurrentTheme().getComponentIconMassPayload();
+ }
+ @Override
+ public String getComponentIconMassFlightComp() {
+ return getCurrentTheme().getComponentIconMassFlightComp();
+ }
+ @Override
+ public String getComponentIconMassRecoveryHardware() {
+ return getCurrentTheme().getComponentIconMassRecoveryHardware();
+ }
+ @Override
+ public String getComponentIconMassTracker() {
+ return getCurrentTheme().getComponentIconMassTracker();
+ }
}
}