You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
2.7 KiB
128 lines
2.7 KiB
|
|
var MousePosX = null;
|
|
var MousePosY = null;
|
|
|
|
|
|
//
|
|
// init all variables with the class givin
|
|
$(document).ready(function() {
|
|
// debug ("init");
|
|
|
|
$(".GUIwindow").each( function (i) {
|
|
gWindowDragElement(this);
|
|
});
|
|
|
|
document.addEventListener('mousemove', onMouseUpdate, false);
|
|
document.addEventListener('mouseenter', onMouseUpdate, false);
|
|
|
|
});
|
|
|
|
|
|
function onMouseUpdate(e) {
|
|
MousePosX = e.pageX;
|
|
MousePosY = e.pageY;
|
|
}
|
|
|
|
function getMouseX() {
|
|
return MousePosX;
|
|
}
|
|
|
|
function getMouseY() {
|
|
return MousePosY;
|
|
}
|
|
|
|
|
|
|
|
//
|
|
//
|
|
function gAddEventListener (id, eventname, callback) {
|
|
var obj = document.getElementById(id);
|
|
|
|
if (obj) obj.addEventListener(eventname, callback);
|
|
};
|
|
|
|
|
|
//
|
|
// get the text between Text1 and Text2
|
|
function getTextBetween(fulltext, text1, text2) {
|
|
var end1 = text1.length;
|
|
var start2 = fulltext.length-text2.length;
|
|
|
|
if (end1 < start2) {
|
|
return fulltext.substr(text1.length, start2-end1);
|
|
}
|
|
else return "";
|
|
};
|
|
|
|
|
|
|
|
//
|
|
// Context Menus
|
|
function gContextmenuCreate(title) {
|
|
let cm = document.getElementById("ContextMenu");
|
|
if (cm) {
|
|
let parent = cm.parentNode;
|
|
parent.removeChild(cm);
|
|
}
|
|
|
|
debug("create Contextmenu:" + title);
|
|
|
|
var head = document.createElement("div");
|
|
head.setAttribute("id", "ConextMenuHead");
|
|
head.setAttribute("class", "GUIcontextmenuHead");
|
|
head.innerHTML = title;
|
|
|
|
var ul = document.createElement("ul");
|
|
ul.setAttribute("id", "ContextMenuElements");
|
|
ul.setAttribute("class", "GUIcontextmenuElements");
|
|
|
|
var client = document.createElement("div");
|
|
client.setAttribute("id", "ContextMenuClient");
|
|
client.setAttribute("class", "GUIcontextmenuClient");
|
|
client.setAttribute("style", "max-height: 400px; max-width:150px;");
|
|
client.innerHTML = "";
|
|
client.appendChild (ul);
|
|
|
|
cm = document.createElement("div");
|
|
cm.setAttribute("id", "ContextMenu");
|
|
cm.setAttribute("class", "GUIcontextmenu");
|
|
cm.appendChild (head);
|
|
cm.appendChild (client);
|
|
|
|
document.body.appendChild(cm);
|
|
cm.style.top = getMouseY();
|
|
cm.style.left = getMouseX();
|
|
|
|
return cm;
|
|
};
|
|
|
|
|
|
function gContextmenuAdd(text, callback_function, value) {
|
|
let ul = document.getElementById("ContextMenuElements");
|
|
|
|
if (ul) {
|
|
let li = document.createElement("li");
|
|
|
|
li.innerHTML = text;
|
|
li.value = value;
|
|
if (typeof callback_function === 'object' && callback_function !== null) {
|
|
li.addEventListener("click", callback_function);
|
|
debug ("add event listener.");
|
|
}
|
|
else {
|
|
debug ("add event listener.");
|
|
}
|
|
|
|
ul.appendChild(li);
|
|
}
|
|
};
|
|
|
|
|
|
function gContextmenuClose() {
|
|
let cm = document.getElementById("ContextMenu");
|
|
if (cm) {
|
|
let parent = cm.parentNode;
|
|
parent.removeChild(cm);
|
|
}
|
|
};
|