Mercurial > hg > ccmiandroid
diff src/uk/ac/qmul/eecs/ccmi/xmlparser/DiagramUpdater.java @ 0:e0ee6ac3a45f
first import
author | Fiore Martin <fiore@eecs.qmul.ac.uk> |
---|---|
date | Thu, 13 Dec 2012 20:00:21 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/uk/ac/qmul/eecs/ccmi/xmlparser/DiagramUpdater.java Thu Dec 13 20:00:21 2012 +0000 @@ -0,0 +1,51 @@ +/* + CCmI Diagram Editor for Android + + Copyright (C) 2012 Queen Mary University of London (http://ccmi.eecs.qmul.ac.uk/) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ +package uk.ac.qmul.eecs.ccmi.xmlparser; + +import java.util.List; + +/** + * + * This interface must be implemented by classes who implement a strategy for changing the diagram model. + * Doing this through an interface allows interchangeability of strategies. + * This comes handy for eventual further implementations of a network-based real time sharing system. So + * the network client can implement this interface and, instead of directly changing the diagram, it can send + * messages to a server and change it accordingly to the server reply. + * All in a transparent way to the classes which are in charge of editing the diagram. + * + */ +public interface DiagramUpdater { + + public void addNode(Node node); + + public void addEdge(Edge edge); + + public void addProperty(Node node, NodeProperty nodeProperty, String proertyValue); + + public void rename(HierarchyItem item, String newName); + + public void delete(HierarchyItem item); + + public void setLabel(EdgeNode node, String label); + + public void setArrowHead(EdgeNode node, String arrowHead); + + public void setModifiers(PropertyValue propertyValue, List<Integer> modifiers); + +}