annotate src/uk/ac/qmul/eecs/ccmi/xmlparser/DiagramUpdater.java @ 1:66b3a838feca logging tip

Added logging of user interaction
author Fiore Martin <fiore@eecs.qmul.ac.uk>
date Tue, 12 Feb 2013 15:31:48 +0000
parents e0ee6ac3a45f
children
rev   line source
fiore@0 1 /*
fiore@0 2 CCmI Diagram Editor for Android
fiore@0 3
fiore@0 4 Copyright (C) 2012 Queen Mary University of London (http://ccmi.eecs.qmul.ac.uk/)
fiore@0 5
fiore@0 6 This program is free software: you can redistribute it and/or modify
fiore@0 7 it under the terms of the GNU General Public License as published by
fiore@0 8 the Free Software Foundation, either version 3 of the License, or
fiore@0 9 (at your option) any later version.
fiore@0 10
fiore@0 11 This program is distributed in the hope that it will be useful,
fiore@0 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
fiore@0 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fiore@0 14 GNU General Public License for more details.
fiore@0 15
fiore@0 16 You should have received a copy of the GNU General Public License
fiore@0 17 along with this program. If not, see <http://www.gnu.org/licenses/>.
fiore@0 18 */
fiore@0 19 package uk.ac.qmul.eecs.ccmi.xmlparser;
fiore@0 20
fiore@0 21 import java.util.List;
fiore@0 22
fiore@0 23 /**
fiore@0 24 *
fiore@0 25 * This interface must be implemented by classes who implement a strategy for changing the diagram model.
fiore@0 26 * Doing this through an interface allows interchangeability of strategies.
fiore@0 27 * This comes handy for eventual further implementations of a network-based real time sharing system. So
fiore@0 28 * the network client can implement this interface and, instead of directly changing the diagram, it can send
fiore@0 29 * messages to a server and change it accordingly to the server reply.
fiore@0 30 * All in a transparent way to the classes which are in charge of editing the diagram.
fiore@0 31 *
fiore@0 32 */
fiore@0 33 public interface DiagramUpdater {
fiore@0 34
fiore@0 35 public void addNode(Node node);
fiore@0 36
fiore@0 37 public void addEdge(Edge edge);
fiore@0 38
fiore@0 39 public void addProperty(Node node, NodeProperty nodeProperty, String proertyValue);
fiore@0 40
fiore@0 41 public void rename(HierarchyItem item, String newName);
fiore@0 42
fiore@0 43 public void delete(HierarchyItem item);
fiore@0 44
fiore@0 45 public void setLabel(EdgeNode node, String label);
fiore@0 46
fiore@0 47 public void setArrowHead(EdgeNode node, String arrowHead);
fiore@0 48
fiore@0 49 public void setModifiers(PropertyValue propertyValue, List<Integer> modifiers);
fiore@0 50
fiore@0 51 }