Completely changed the structure and switched to Eclipse Plugin.
[Mograsim.git] / net.mograsim.logic.ui / src / net / mograsim / logic / ui / model / ViewModel.java
index 869f1a1..445810a 100644 (file)
@@ -8,7 +8,7 @@ import java.util.function.Consumer;
 import net.mograsim.logic.ui.model.components.GUIComponent;
 import net.mograsim.logic.ui.model.wires.GUIWire;
 
-public class ViewModel
+public class ViewModel implements Visitable
 {
        private final List<GUIComponent> components;
        private final List<GUIComponent> componentsUnmodifiable;
@@ -68,8 +68,8 @@ public class ViewModel
        }
 
        /**
-        * Adds the given component to the list of components and calls all componentAddedListeners. Don't call this method from application
-        * code as it is automatically called in GUIComponent::new.
+        * Adds the given wire to the list of wires and calls all wireAddedListeners. Don't call this method from application code as it is
+        * automatically called in GUIWire::new.
         */
        protected void wireCreated(GUIWire wire)
        {
@@ -82,8 +82,8 @@ public class ViewModel
        }
 
        /**
-        * Removes the given component from the list of components and calls all componentRemovedListeners. Don't call this method from
-        * application code as it is automatically called in GUIComponent::destroy.
+        * Removes the given wire from the list of wires and calls all wireRemovedListeners. Don't call this method from application code as it
+        * is automatically called in GUIWire::destroy.
         */
        protected void wireDestroyed(GUIWire wire)
        {
@@ -105,6 +105,12 @@ public class ViewModel
                return wiresUnmodifiable;
        }
 
+       @Override
+       public void accept(ModelVisitor mv)
+       {
+               mv.visit(this);
+       }
+
        // @formatter:off
        public void addComponentAddedListener     (Consumer<? super GUIComponent> listener) {componentAddedListeners  .add   (listener);}
        public void addComponentRemovedListener   (Consumer<? super GUIComponent> listener) {componentRemovedListeners.add   (listener);}