Suppressed warnings where the thing warned about is intentional
[Mograsim.git] / LogicUI / src / era / mi / gui / model / components / GUIComponent.java
index e266afb..b8f49f3 100644 (file)
@@ -17,10 +17,10 @@ public abstract class GUIComponent
        private final List<Pin> pins;
        protected final List<Pin> pinsUnmodifiable;
 
-       private final List<Consumer<GUIComponent>> componentChangedListeners;
-       private final List<Consumer<GUIComponent>> componentMovedListeners;
-       private final List<Consumer<Pin>> pinAddedListeners;
-       private final List<Consumer<Pin>> pinRemovedListeners;
+       private final List<Consumer<? super GUIComponent>> componentLookChangedListeners;
+       private final List<Consumer<? super GUIComponent>> componentMovedListeners;
+       private final List<Consumer<? super Pin>> pinAddedListeners;
+       private final List<Consumer<? super Pin>> pinRemovedListeners;
 
        public GUIComponent(ViewModel model)
        {
@@ -29,7 +29,7 @@ public abstract class GUIComponent
                this.pins = new ArrayList<>();
                this.pinsUnmodifiable = Collections.unmodifiableList(pins);
 
-               this.componentChangedListeners = new ArrayList<>();
+               this.componentLookChangedListeners = new ArrayList<>();
                this.componentMovedListeners = new ArrayList<>();
                this.pinAddedListeners = new ArrayList<>();
                this.pinRemovedListeners = new ArrayList<>();
@@ -62,6 +62,7 @@ public abstract class GUIComponent
         * Called when this component is clicked. Absolute coordinates of the click are given. Returns true if this component consumed this
         * click.
         */
+       @SuppressWarnings({ "static-method", "unused" }) // this method is inteded to be overridden
        public boolean clicked(double x, double y)
        {
                return false;
@@ -76,21 +77,21 @@ public abstract class GUIComponent
        }
 
        // @formatter:off
-       public void addComponentChangedListener   (Consumer<GUIComponent> listener) {componentChangedListeners.add   (listener);}
-       public void addComponentMovedListener     (Consumer<GUIComponent> listener) {componentMovedListeners  .add   (listener);}
-       public void addPinAddedListener           (Consumer<Pin         > listener) {pinAddedListeners        .add   (listener);}
-       public void addPinRemovedListener         (Consumer<Pin         > listener) {pinRemovedListeners      .add   (listener);}
-
-       public void removeComponentChangedListener(Consumer<GUIComponent> listener) {componentChangedListeners.remove(listener);}
-       public void removeComponentMovedListener  (Consumer<GUIComponent> listener) {componentMovedListeners  .remove(listener);}
-       public void removePinAddedListener        (Consumer<Pin         > listener) {pinAddedListeners        .remove(listener);}
-       public void removePinRemovedListener      (Consumer<Pin         > listener) {pinRemovedListeners      .remove(listener);}
-
-       private void callComponentChangedListeners(     ) {componentChangedListeners.forEach(l -> l.accept(this));}
-       private void callComponentMovedListeners  (     ) {componentMovedListeners  .forEach(l -> l.accept(this));}
-       private void callPinAddedListeners        (Pin p) {pinAddedListeners        .forEach(l -> l.accept(p   ));}
-       private void callPinRemovedListeners      (Pin p) {pinRemovedListeners      .forEach(l -> l.accept(p   ));}
-       // @formatter:on
+       public void addComponentLookChangedListener   (Consumer<? super GUIComponent> listener) {componentLookChangedListeners.add   (listener);}
+       public void addComponentMovedListener         (Consumer<? super GUIComponent> listener) {componentMovedListeners      .add   (listener);}
+       public void addPinAddedListener               (Consumer<? super Pin         > listener) {pinAddedListeners            .add   (listener);}
+       public void addPinRemovedListener             (Consumer<? super Pin         > listener) {pinRemovedListeners          .add   (listener);}
+                                                  
+       public void removeComponentLookChangedListener(Consumer<? super GUIComponent> listener) {componentLookChangedListeners.remove(listener);}
+       public void removeComponentMovedListener      (Consumer<? super GUIComponent> listener) {componentMovedListeners      .remove(listener);}
+       public void removePinAddedListener            (Consumer<? super Pin         > listener) {pinAddedListeners            .remove(listener);}
+       public void removePinRemovedListener          (Consumer<? super Pin         > listener) {pinRemovedListeners          .remove(listener);}
+
+       protected void callComponentLookChangedListeners(     ) {componentLookChangedListeners.forEach(l -> l.accept(this));}
+       private   void callComponentMovedListeners      (     ) {componentMovedListeners      .forEach(l -> l.accept(this));}
+       private   void callPinAddedListeners            (Pin p) {pinAddedListeners            .forEach(l -> l.accept(p   ));}
+       private   void callPinRemovedListeners          (Pin p) {pinRemovedListeners          .forEach(l -> l.accept(p   ));}
+       // @form  atter:on
 
        /**
         * Render this component to the given gc.
@@ -101,7 +102,7 @@ public abstract class GUIComponent
        {
                bounds.width = width;
                bounds.height = height;
-               callComponentChangedListeners();
+               callComponentLookChangedListeners();
        }
 
        protected void addPin(Pin pin)