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

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);
}
};