~azzar1/unity/add-show-desktop-key

233 by mattgiuca
Added a shaky implementation of EditArea as the text editor.
1
	
2
	EditAreaLoader.prototype.start_resize_area= function(){
3
		document.onmouseup= editAreaLoader.end_resize_area;
4
		document.onmousemove= editAreaLoader.resize_area;
5
		editAreaLoader.toggle(editAreaLoader.resize["id"]);		
6
		
7
		var textarea= editAreas[editAreaLoader.resize["id"]]["textarea"];
8
		var div= document.getElementById("edit_area_resize");
9
		if(!div){
10
			div= document.createElement("div");
11
			div.id="edit_area_resize";
12
			div.style.border="dashed #888888 1px";
13
		}
14
		var width= textarea.offsetWidth -2;
15
		var height= textarea.offsetHeight -2;
16
		/*if(this.nav['isGecko']){
17
			width-=2;
18
			height-=2;
19
		}*/
20
		
21
		div.style.display="block";
22
		div.style.width= width+"px";
23
		div.style.height= height+"px";
24
		var father= textarea.parentNode;
25
		father.insertBefore(div, textarea);
26
		
27
		textarea.style.display="none";
28
				
29
		editAreaLoader.resize["start_top"]= calculeOffsetTop(div);
30
		editAreaLoader.resize["start_left"]= calculeOffsetLeft(div);
31
32
		
33
		/*var next= textarea.nextSibling;
34
		if(next==null)
35
			father.appendChild(div);
36
		else
37
			father.insertBefore(div, next);*/
38
		
39
	};
40
	
41
	EditAreaLoader.prototype.end_resize_area= function(e){
42
		document.onmouseup="";
43
		document.onmousemove="";		
44
		
45
		var div= document.getElementById("edit_area_resize");		
46
		var textarea= editAreas[editAreaLoader.resize["id"]]["textarea"];
47
		var width= Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_width"], div.offsetWidth-4);
48
		var height= Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_height"], div.offsetHeight-4);
49
		if(editAreaLoader.nav['isIE']==6){
50
			width-=2;
51
			height-=2;	
52
		}
53
		textarea.style.width= width+"px";
54
		textarea.style.height= height+"px";
55
		div.style.display="none";
56
		textarea.style.display="inline";
57
		textarea.selectionStart= editAreaLoader.resize["selectionStart"];
58
		textarea.selectionEnd= editAreaLoader.resize["selectionEnd"];
59
		editAreaLoader.toggle(editAreaLoader.resize["id"]);
60
		
61
		return false;
62
	};
63
	
64
	EditAreaLoader.prototype.resize_area= function(e){		
65
		var allow= editAreas[editAreaLoader.resize["id"]]["settings"]["allow_resize"];
66
		if(allow=="both" || allow=="y")
67
		{
68
			new_y= getMouseY(e);
69
			var new_height= Math.max(20, new_y- editAreaLoader.resize["start_top"]);
70
			document.getElementById("edit_area_resize").style.height= new_height+"px";
71
		}
72
		if(allow=="both" || allow=="x")
73
		{
74
			new_x= getMouseX(e);
75
			var new_width= Math.max(20, new_x- editAreaLoader.resize["start_left"]);
76
			document.getElementById("edit_area_resize").style.width= new_width+"px";
77
		}
78
		//window.status="resize n_w: "+new_width+" new_h: "+new_height+ " new_y: "+new_y+" s_top: "+editAreaLoader.resize["start_top"];
79
		return false;
80
	};
81
	
82
/*	EditAreaLoader.prototype.full_screen= function(id, mode){
83
		if(mode=="on")	{
84
			//document.getElementById("frame_"+id).parentNode= document;
85
			document.body.appendChild(document.getElementById("frame_"+id));
86
			document.getElementById("frame_"+id).style.position= "absolute";			
87
			document.getElementById("frame_"+id).style.top="0px";
88
			document.getElementById("frame_"+id).style.left="0px";
89
			document.getElementById("frame_"+id).style.width= "100%";
90
			document.getElementById("frame_"+id).style.height= "100%";
91
		}else{
92
		
93
		}
94
	};	*/
95
	
96
	editAreaLoader.waiting_loading["resize_area.js"]= "loaded";