Add add/remove notification
authorBill Kuker <bkuker@billkuker.com>
Mon, 22 Nov 2010 13:36:50 +0000 (13:36 +0000)
committerBill Kuker <bkuker@billkuker.com>
Mon, 22 Nov 2010 13:36:50 +0000 (13:36 +0000)
gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java

index bcbb8ddc0da4f007996dafef1c41beb4d18a518d..28fed63b7ab2049bbc0b40565e9a491962288b23 100644 (file)
@@ -53,6 +53,10 @@ public abstract class MultiObjectEditor<OBJECT, EDITOR extends Component> extend
                this.noun = " " + noun.trim();\r
        }\r
        \r
+       protected void objectAdded(OBJECT o){}\r
+       \r
+       protected void objectRemoved(OBJECT o){}\r
+       \r
        protected final void addCreator(ObjectCreator c){\r
                creators.add(c);\r
        }\r
@@ -111,6 +115,7 @@ public abstract class MultiObjectEditor<OBJECT, EDITOR extends Component> extend
                editorToObject.remove(e);\r
                fileToEditor.remove(f);\r
                editorToFile.remove(e);\r
+               objectRemoved(o);\r
                remove(e);\r
        }\r
        \r
@@ -171,7 +176,8 @@ public abstract class MultiObjectEditor<OBJECT, EDITOR extends Component> extend
                                editorToObject.put(e, o);\r
                                fileToEditor.put(file, e);\r
                                editorToFile.put(e, file);\r
-                               addTab(file.getName(), e);                                                                      \r
+                               addTab(file.getName(), e);      \r
+                               objectAdded(o);\r
                        } catch (Exception e) {\r
                                errorDialog(e);\r
                        }\r
@@ -273,6 +279,7 @@ public abstract class MultiObjectEditor<OBJECT, EDITOR extends Component> extend
                editorToObject.put(e, o);\r
                addTab("new", e);\r
                dirty(o);\r
+               objectAdded(o);\r
        }\r
        \r
        public final void load(final File f) throws IOException{\r
@@ -283,6 +290,7 @@ public abstract class MultiObjectEditor<OBJECT, EDITOR extends Component> extend
                fileToEditor.put(f, e);\r
                editorToFile.put(e, f);\r
                addTab(f.getName(), e);\r
+               objectAdded(o);\r
        }\r
        \r
        public abstract EDITOR createEditor(final OBJECT o);\r