X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2FGUIComponent.java;h=2c8324af5659bd3e5e12eb165564199b945bb681;hb=10ce5cc888d0b781069822cecd85e33e6be8f54b;hp=472798f1c8907056177ee9402e7f5c706df0de7c;hpb=189b56beb5a965581db6701449931e5cf760bb0b;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java index 472798f1..2c8324af 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java @@ -1,7 +1,6 @@ package net.mograsim.logic.ui.model.components; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -13,6 +12,7 @@ import java.util.function.Supplier; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.Visitable; import net.mograsim.logic.ui.model.wires.Pin; /** @@ -21,7 +21,7 @@ import net.mograsim.logic.ui.model.wires.Pin; * * @author Daniel Kirschten */ -public abstract class GUIComponent +public abstract class GUIComponent implements Visitable { /** * The model this component is a part of. @@ -33,9 +33,9 @@ public abstract class GUIComponent */ private final Map pinsByName; /** - * An unmodifiable view of {@link #pinsByName}.{@link Map#values() values()}. + * An unmodifiable view of {@link #pinsByName}. */ - protected final Collection pinsUnmodifiable; + protected final Map pinsUnmodifiable; private final List> componentMovedListeners; private final List> pinAddedListeners; @@ -44,7 +44,7 @@ public abstract class GUIComponent private final Runnable redrawListenerForSubcomponents; // Defines how the GUIComponent is referenced in SubmodelComponentParams - protected Supplier identifierDelegate = () -> "class:".concat(getClass().getCanonicalName()); + protected Supplier identifierDelegate = () -> getClass().getSimpleName(); // creation and destruction @@ -53,7 +53,7 @@ public abstract class GUIComponent this.model = model; this.bounds = new Rectangle(0, 0, 0, 0); this.pinsByName = new HashMap<>(); - this.pinsUnmodifiable = Collections.unmodifiableCollection(pinsByName.values()); + this.pinsUnmodifiable = Collections.unmodifiableMap(pinsByName); this.componentMovedListeners = new ArrayList<>(); this.pinAddedListeners = new ArrayList<>(); @@ -119,7 +119,7 @@ public abstract class GUIComponent * * @author Daniel Kirschten */ - public Collection getPins() + public Map getPins() { return pinsUnmodifiable; }