Enforce register in interface

This commit is contained in:
SiboVG 2024-01-24 01:41:55 +01:00
parent ac16bc5820
commit 131f26e1c5
7 changed files with 30 additions and 14 deletions

View File

@ -65,7 +65,7 @@ import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.StateChangeListener;
import net.sf.openrocket.gui.widgets.SelectColorButton;
public class AppearancePanel extends JPanel implements Invalidatable {
public class AppearancePanel extends JPanel implements Invalidatable, InvalidatingWidget {
private static final long serialVersionUID = 2709187552673202019L;
private static final Translator trans = Application.getTranslator();
@ -776,7 +776,8 @@ public class AppearancePanel extends JPanel implements Invalidatable {
});
}
protected void register(Invalidatable model) {
@Override
public void register(Invalidatable model) {
this.invalidatables.add(model);
}

View File

@ -29,7 +29,7 @@ import java.util.List;
/**
* Panel for configuring a component's duplication instances.
*/
public class InstancesPanel extends JPanel implements Invalidatable {
public class InstancesPanel extends JPanel implements Invalidatable, InvalidatingWidget {
private static final Translator trans = Application.getTranslator();
private final List<Invalidatable> invalidatables = new ArrayList<>();
@ -64,7 +64,8 @@ public class InstancesPanel extends JPanel implements Invalidatable {
}
}
protected void register(Invalidatable model) {
@Override
public void register(Invalidatable model) {
this.invalidatables.add(model);
}

View File

@ -0,0 +1,11 @@
package net.sf.openrocket.gui.configdialog;
import net.sf.openrocket.util.Invalidatable;
public interface InvalidatingWidget {
/**
* Register a model to be invalidated when this widget is invalidated.
* @param model the model to register
*/
void register(Invalidatable model);
}

View File

@ -27,7 +27,7 @@ import java.util.List;
/**
* Panel for configuring a component's material and finish properties.
*/
public class MaterialPanel extends JPanel implements Invalidatable {
public class MaterialPanel extends JPanel implements Invalidatable, InvalidatingWidget {
private static final Translator trans = Application.getTranslator();
private final List<Invalidatable> invalidatables = new ArrayList<>();
@ -108,7 +108,8 @@ public class MaterialPanel extends JPanel implements Invalidatable {
trans.get("MaterialPanel.lbl.ComponentFinish"), "Material", order);
}
protected void register(Invalidatable model) {
@Override
public void register(Invalidatable model) {
this.invalidatables.add(model);
}

View File

@ -31,13 +31,13 @@ import net.sf.openrocket.startup.Application;
import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.Invalidatable;
public class MotorConfig extends JPanel implements Invalidatable {
public class MotorConfig extends JPanel implements Invalidatable, InvalidatingWidget {
private static final long serialVersionUID = -4974509134239867067L;
private final MotorMount mount;
private static final Translator trans = Application.getTranslator();
private final List<Invalidatable> invalidatables = new ArrayList<>();
public MotorConfig(MotorMount motorMount, List<Component> order) {
super(new MigLayout("fillx"));
@ -144,7 +144,8 @@ public class MotorConfig extends JPanel implements Invalidatable {
}
}
protected void register(Invalidatable model) {
@Override
public void register(Invalidatable model) {
this.invalidatables.add(model);
}

View File

@ -28,7 +28,7 @@ import java.util.List;
/**
* Panel for configuring a component's placement relative to its parent.
*/
public class PlacementPanel extends JPanel implements Invalidatable {
public class PlacementPanel extends JPanel implements Invalidatable, InvalidatingWidget {
private static final Translator trans = Application.getTranslator();
private final List<Invalidatable> invalidatables = new ArrayList<>();
@ -69,7 +69,8 @@ public class PlacementPanel extends JPanel implements Invalidatable {
"w 100lp");
}
protected void register(Invalidatable model) {
@Override
public void register(Invalidatable model) {
this.invalidatables.add(model);
}

View File

@ -62,7 +62,7 @@ import net.sf.openrocket.startup.Preferences;
import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.Invalidatable;
public class RocketComponentConfig extends JPanel {
public class RocketComponentConfig extends JPanel implements InvalidatingWidget {
private static final long serialVersionUID = -2925484062132243982L;
private static final Translator trans = Application.getTranslator();
@ -1004,8 +1004,8 @@ public class RocketComponentConfig extends JPanel {
}
}
protected void register(Invalidatable model) {
@Override
public void register(Invalidatable model) {
this.invalidatables.add(model);
}