diff --git a/Inquirer.js b/Inquirer.js index f66edfe..e11c3dd 100644 --- a/Inquirer.js +++ b/Inquirer.js @@ -1,5 +1,5 @@ /* - * Web Inquirer V 0.3 + * Web Inquirer V 0.4 * Copyright 2016 XWolfOverride@gmail.com * * Permission is hereby granted, free of charge, to any person obtaining a copy of this @@ -24,7 +24,7 @@ var icon = "data:image/gif;base64,R0lGODlhIAAgAKECADIyMjMzM////////yH5BAEKAAIALAAAAAAgACAAAAJulI8Zke2PFoC0LlZzW7qf633XGGHeiJqcaKWgsQov5JLvTNeYq+kM36vBUJNgaujDiVDIpLK58ylIiiU0NjWVZscHgAuUUXPOpfbhjD1bwmFIrHsvv+3Qrd4Byzda7N7h9zclmEOIFmgolgj4VgAAOw==", // bugico = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAWlBMVEUkJSMuMC01NzQ+Pz1HSEZPUU5YWldfYV5pa2h6e3iOkI2YmpeipKGpq6ifwFWqxma4urezzHa50YHJy8jC1pLL3aLS4K3a3NnZ5rvo6+fn8NXv8+L19/D9//y9fxQqAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+EBBAwFN28edE4AAABVaVRYdENvbW1lbnQAAAAAAENvcHlyaWdodCBJTkNPUlMgR21iSCAod3d3Lmljb25leHBlcmllbmNlLmNvbSkgLSBVbmxpY2Vuc2VkIHByZXZpZXcgaW1hZ2VYrophAAAC6UlEQVRYw+2X2barIAxA0U5qK2jFAor//5uXSUUS2q5z1n07vNhC2JCYSbL8cpA/wAeAGswQPwc0xI3qO4BWcPVs95/gvNYQIAhpgGBtATcw3RLSpgBtRYdU8oLeQNhZlQCUnazDny7YrfM2uK8Hh+fDTopUBavuOfwuH+4xlB5QdP5vEU69xdfaAMOONT8fQg012UY1CNGuV1HxraK3UGw6XEhm+BveYw0igNWh3OyJD6fD1WqF+EG7glUeYJdFEWsQe6I1WTG8BdjVMn6JB8DNvXTjY12R2X9HnDMCqNPqSxmCebl6UWatFHgwmdtdl4XzoGcyrHav3rp3IXLRqEq9SEqf5qQq3X8xao+UjstyEvlwNgZglNLePMX9FJ1e203cLDEn9CYfvKgdTLqgaWsDKa6NM4xkbol/SCheyiBek4+8zh04yz4sUP0WMNN9sHHywrNk0bR8C+jpYbDcXBZAEWGWTM5vAHMiSzGAzAH8i4aAdM46GgSI7lrAw5zJKdSrvLRJSmtc9tWprNUXm6z3akH29N0sE5CdELsYI7hse90BPvt1OABOjiFlXFeA338WNpCgxSGAL9qnzUo7gK+ANp+Cl0BfC0J9bmXTEEioHi4fc+S2GUAgNAZQ7zWJI7cN8QkAPrvfDGDYaxrHZMcMwFW4u7VBV3fBKaBs/wZgNrZJLEB1WUavTDBN3wFeWcD8HUDmwxkDPCkWYWg4KyjMQEKyhtVoYVGnFhoBA0hTdwQEmLJUwYTA0BzRuDKVAEzRNS2M/AwYF20KX6HTjBQcugc5jYELtD74j4C1b5kBAGaIQ0dHou7ihnhjCuBrAiqOABHqPwiIWSNePEQ6kEgDhYTUNCNRoEmaVF3jsvXEcSmU0zG97D10GQOcBu3eJjAMwOZjt9ylAIEF9ktiMWg9IbTmZLvT/dirhI08ZLTx2BaYNqxKHAl+2EgbWtyatJcafAyJbz555rHvOePTb77atP77cv3/gH8Wkk7NciByTQAAAABJRU5ErkJggg==", // - VERSION = "0.3"; // + VERSION = "0.4"; // // Locals var inq = this, inqapp; diff --git a/Merger.js b/Merger.js index ba64f86..e292415 100644 --- a/Merger.js +++ b/Merger.js @@ -104,6 +104,7 @@ if (!menu) { menu = core.mkTag("div"); menu.setAttribute("id", "Merger::Menu"); + menu._zLayer = 10; getDesktop().appendChild(menu); menu.style.merge({ position: "absolute", @@ -572,7 +573,7 @@ mdata = def[key]; if (typeof mdata == "function") { if (this[key]) - def[key].super=this[key].bind(this); + def[key].super = this[key].bind(this); this[key] = def[key]; } else { var fname = "set" + key[0].toUpperCase() + key.substring(1); @@ -595,6 +596,25 @@ position: "absolute", }, anchor: { top: true, right: false, bottom: false, left: true }, + bringToFront: function () { + var p, els, i, l; + p = this.parentNode; + if (!p) + return; + els = [].slice.apply(p.children, [0]); + els.sort(function (a, b) { + if (a == this) + return 1; + if (b == this) + return -1; + return Number(a.style.zIndex) - Number(b.style.zIndex); + }.bind(this)) + for (i in els) { + l = els[i]._zLayer || 0; + els[i].style.zIndex = Number(i) + 1 + (l * 100000); + } + } + }, def)); if (c.onControlCreate) c.onControlCreate(); @@ -658,7 +678,8 @@ border: "1px solid " + sys.color.frame, fontFamily: "Arial", fontSize: "14px", - } + }, + _zLayer: 2, }); core.getDesktop().appendChild(client); } @@ -807,6 +828,7 @@ this._textNode.textContent = title; }, onmousedown: function (e) { + //this.parentControl.bringToFront(); DragNDrop.drag(this.parentControl, e.offsetX, e.offsetY); }, onmouseup: function (e) { @@ -834,6 +856,16 @@ def.top = val; this.style.top = val + "px"; }, + setVisible: function (vis) { + arguments.callee.super(vis); + if (vis) { + this.bringToFront(); + if (this.top === undefined) + this.setTop((document.body.clientHeight - this.height) / 2); + if (this.left === undefined) + this.setLeft((document.body.clientWidth - this.width) / 2); + } + }, style: { backgroundColor: "white", border: "1px solid " + sys.color.frame, @@ -847,15 +879,10 @@ if (close === undefined || close) this.hide(); }, + onmousedown: function () { + this.bringToFront(); + }, }, def)); - w._setVisible = w.setVisible; - w.setVisible = function (vis) { - this._setVisible(vis); - if (this.top === undefined) - this.setTop((document.body.clientHeight - this.height) / 2); - if (this.left === undefined) - this.setLeft((document.body.clientWidth - this.width) / 2); - } def.width = dw; def.height = dh; w.client = w.content.client; @@ -989,7 +1016,7 @@ */ function dropdown(id, def, listMode) { if (listMode) - def.size=2; + def.size = 2; var c = control(listMode ? "list" : "dropdown", id, core.mkDefinition({ setItems: function (items) { this.clear();