mypackage_wrt/preview/script/lib/menuItem.js
author victorp@symbian.org
Fri, 30 Apr 2010 15:01:03 +0100
changeset 42 20be4dd42b12
permissions -rwxr-xr-x
My package widget code
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     1
/*
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     2
	Function 	:	MenuItem()
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     3
	Argument	:	Void
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     4
	Returns		:	Void
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     5
	Description	:	Constructor Function creates a Menu object to the WINDOW
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     6
*/
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     7
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     8
function MenuItem(name, id)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     9
{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    10
	this.id = id;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    11
	this.name = name;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    12
	this.isDimmed = false;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    13
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    14
	this.items = [];
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    15
	this.index = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    16
	this.parent = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    17
	this.type = 'MenuItem';
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    18
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    19
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    20
	//	Event triggers
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    21
	this.onSelect = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    22
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    23
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    24
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    25
/*
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    26
	Function 	:	MenuItem.append(MenuItem)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    27
	Argument	:	Menu Object
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    28
	Returns		:	Void
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    29
	Description	:	Function appends childMenuItem to a MenuItem
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    30
*/
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    31
MenuItem.prototype.append = function(childMenuItem)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    32
{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    33
	if( (childMenuItem != null) && (childMenuItem.type == 'MenuItem'))
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    34
	{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    35
		childMenuItem.parent = this;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    36
		this.items[childMenuItem.id] = childMenuItem;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    37
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    38
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    39
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    40
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    41
/*
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    42
	Function 	:	MenuItem.remove()
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    43
	Argument	:	Menu Object
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    44
	Returns		:	Void
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    45
	Description	:	Function Removes childMenuItem and its children from the parent menu item.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    46
*/
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    47
MenuItem.prototype.remove = function(childMenuItem)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    48
{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    49
	if((childMenuItem != null) && (childMenuItem.type == 'MenuItem'))
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    50
	{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    51
		var i = this.search(childMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    52
		if(i > -1)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    53
			this.items.splice(i, 1);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    54
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    55
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    56
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    57
/*
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    58
	Function 	:	MenuItem.remove()
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    59
	Argument	:	Menu Object
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    60
	Returns		:	Void
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    61
	Description	:	If flag is true the MenuItem is hidden and if flag is false the item is shown.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    62
*/
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    63
MenuItem.prototype.setDimmed = function(flag)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    64
{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    65
	this.isDimmed = flag;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    66
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    67
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    68
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    69
/*
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    70
	Function 	:	MenuItem.search()
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    71
	Argument	:	MenuItem Object
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    72
	Returns		:	Integer
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    73
	Description	:	Function Replace oldMenuItem with newMenuItem
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    74
*/
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    75
MenuItem.prototype.search = function(MenuItem)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    76
{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    77
		var flag = false;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    78
		for(var i in this.items)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    79
		{
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    80
			if(this.items[i].id == MenuItem.id)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    81
			{	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    82
				flag = true; 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    83
				break; 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    84
			}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    85
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    86
		if(flag)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    87
			return i;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    88
		else
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    89
			return -1;		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    90
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    91
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    92
//	make TRUE menuItem.js script loaded
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    93
window.parent.NOKIA.scriptsLoaded.menuItem = true;