view nodejs/examples/scene/mainmenu.js @ 1340:10d5f06f7566

Fix issue of shouting error when removing a node. - It shout a Python traceback message when removing a node that is referenced by a svg:use node. - when the node been removed, the node would be duplicated. The duplication was used to replace the svg:use one. - The ID of inserted duplication is the same as duplicated node, and modified to a new and unique ID. - Original design of domview_monitor can not handle it. - It is resolved by changing domview_monitor._id2node from single mapping to multiple mapping one.
author Thinker K.F. Li <thinker@codemud.net>
date Sun, 06 Feb 2011 23:12:48 +0800
parents 380464725e75
children
line wrap: on
line source

// -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*-
// vim: sw=4:ts=8:sts=4
var svg = require("svg");
var mbapp = require("mbapp");
var sys=require("sys");
var animate=require("animate");
var fs = require("fs");
/**
 *   We will fetch the EPG file from the server and fetch all images required for the main category from it.
 *   If these files are cached, we will not fetch it again. Otherwise, we will fetch them. The EPG class is
 *   responsible for the cache management.
 */
function MainMenu(app) 
{
    var self = this;
    this.n = 1;
    this.app = app;
    self.init(app);
}
MainMenu.prototype.init=function(app)
{
    var self = this;
    app.loadSVG("mbtest.svg");

    app.addKeyListener(mbapp.KEY_LEFT, function() { self.key_left();});
    app.addKeyListener(mbapp.KEY_RIGHT, function() { self.key_right();});
    app.addKeyListener(mbapp.KEY_UP, function() {self.key_up();});
    app.addKeyListener(mbapp.KEY_DOWN, function() {self.key_down();});
    app.addKeyListener(mbapp.KEY_ENTER, function() {self.key_enter();});
    app.changeScene(this.n);
}

MainMenu.prototype.key_left=function () 
{
   this.n = this.n - 1;
   this.app.changeScene(this.n);
   sys.puts("scene "+this.n);
}

MainMenu.prototype.key_right=function() 
{
   this.n = this.n + 1;
   this.app.changeScene(this.n);
   sys.puts("scene "+this.n);
}

MainMenu.prototype.key_up=function() 
{
}


MainMenu.prototype.key_down=function () 
{
}

MainMenu.prototype.key_enter=function() 
{
}

exports.MainMenu=MainMenu;