/**
 * GraphView:
 * 
 * Defines a prototype for GraphView implementations.
 * 
 */
var GraphView = function(){};
GraphView.prototype = {

	/*
	 * 
	 */
	initialize: function( model, frameLeft, frameTop ) {

		this['nodes'] = {};

		// Store properties of edges (ie: visibility)
		this['edges'] = {};

		this['model'] = model;
		this['frameLeft'] = frameLeft;
		this['frameTop'] = frameTop;
	},

	/*
	 * 
	 * @throws "Method not implemented."
	 */
	drawNodes: function() {
		throw( "addNode: Method not implemented.")
	},
	
	/*
	 * 
	 * @throws "Method not implemented."
	 */
	drawEdges: function() {
		throw( "addEdge: Method not implemented.")
	},

	/*
	 * 
	 * @throws "Method not implemented."
	 */
	drawNode: function() {
		throw( "addNode: Method not implemented.")
	},
	
	/*
	 * 
	 * @throws "Method not implemented."
	 */
	drawEdge: function() {
		throw( "addEdge: Method not implemented.")
	},		

	/*
	 * Add a node to the Graph. This method must be overriden.
	 * 
	 * @throws "Method not implemented."
	 */
	addNode: function() {
		throw( "addNode: Method not implemented.")
	},
	
	/*
	 * Add a new edge to the Graph. This method must be overriden.
	 * 
	 * @throws "Method not implemented."
	 */
	addEdge: function() {
		throw( "addEdge: Method not implemented.")
	}
}