Needs a lot of cleanup. Data has been de-duplicated, and where identical copies existed, one of them has been replaced with a symlink. Some files have been excluded, such as binaries, installers and debug dumps. Some of that may still be present.
145 lines
No EOL
4.3 KiB
JavaScript
145 lines
No EOL
4.3 KiB
JavaScript
//
|
|
// progressDialog.js
|
|
// examples/libraries
|
|
//
|
|
// Copyright 2014 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
|
|
progressDialog = (function () {
|
|
var that = {},
|
|
progressBackground,
|
|
progressMessage,
|
|
cancelButton,
|
|
displayed = false,
|
|
backgroundWidth = 300,
|
|
backgroundHeight = 100,
|
|
messageHeight = 32,
|
|
cancelWidth = 70,
|
|
cancelHeight = 32,
|
|
textColor = { red: 255, green: 255, blue: 255 },
|
|
textBackground = { red: 52, green: 52, blue: 52 },
|
|
backgroundUrl = toolIconUrl + "progress-background.svg",
|
|
windowDimensions;
|
|
|
|
progressBackground = Overlays.addOverlay("image", {
|
|
width: backgroundWidth,
|
|
height: backgroundHeight,
|
|
imageURL: backgroundUrl,
|
|
alpha: 0.9,
|
|
visible: false
|
|
});
|
|
|
|
progressMessage = Overlays.addOverlay("text", {
|
|
width: backgroundWidth - 40,
|
|
height: messageHeight,
|
|
text: "",
|
|
textColor: textColor,
|
|
backgroundColor: textBackground,
|
|
alpha: 0.9,
|
|
backgroundAlpha: 0.9,
|
|
visible: false
|
|
});
|
|
|
|
cancelButton = Overlays.addOverlay("text", {
|
|
width: cancelWidth,
|
|
height: cancelHeight,
|
|
text: "Cancel",
|
|
textColor: textColor,
|
|
backgroundColor: textBackground,
|
|
alpha: 0.9,
|
|
backgroundAlpha: 0.9,
|
|
visible: false
|
|
});
|
|
|
|
function move() {
|
|
var progressX,
|
|
progressY;
|
|
|
|
if (displayed) {
|
|
|
|
if (windowDimensions.x === Window.innerWidth && windowDimensions.y === Window.innerHeight) {
|
|
return;
|
|
}
|
|
windowDimensions.x = Window.innerWidth;
|
|
windowDimensions.y = Window.innerHeight;
|
|
|
|
progressX = (windowDimensions.x - backgroundWidth) / 2; // Center.
|
|
progressY = windowDimensions.y / 2 - backgroundHeight; // A little up from center.
|
|
|
|
Overlays.editOverlay(progressBackground, { x: progressX, y: progressY });
|
|
Overlays.editOverlay(progressMessage, { x: progressX + 20, y: progressY + 15 });
|
|
Overlays.editOverlay(cancelButton, {
|
|
x: progressX + backgroundWidth - cancelWidth - 20,
|
|
y: progressY + backgroundHeight - cancelHeight - 15
|
|
});
|
|
}
|
|
}
|
|
that.move = move;
|
|
|
|
that.onCancel = undefined;
|
|
|
|
function open(message) {
|
|
if (!displayed) {
|
|
windowDimensions = { x: 0, y : 0 };
|
|
displayed = true;
|
|
move();
|
|
Overlays.editOverlay(progressBackground, { visible: true });
|
|
Overlays.editOverlay(progressMessage, { visible: true, text: message });
|
|
Overlays.editOverlay(cancelButton, { visible: true });
|
|
} else {
|
|
throw new Error("open() called on progressDialog when already open");
|
|
}
|
|
}
|
|
that.open = open;
|
|
|
|
function isOpen() {
|
|
return displayed;
|
|
}
|
|
that.isOpen = isOpen;
|
|
|
|
function update(message) {
|
|
if (displayed) {
|
|
Overlays.editOverlay(progressMessage, { text: message });
|
|
} else {
|
|
throw new Error("update() called on progressDialog when not open");
|
|
}
|
|
}
|
|
that.update = update;
|
|
|
|
function close() {
|
|
if (displayed) {
|
|
Overlays.editOverlay(cancelButton, { visible: false });
|
|
Overlays.editOverlay(progressMessage, { visible: false });
|
|
Overlays.editOverlay(progressBackground, { visible: false });
|
|
displayed = false;
|
|
} else {
|
|
throw new Error("close() called on progressDialog when not open");
|
|
}
|
|
}
|
|
that.close = close;
|
|
|
|
function mousePressEvent(event) {
|
|
if (Overlays.getOverlayAtPoint({ x: event.x, y: event.y }) === cancelButton) {
|
|
if (typeof this.onCancel === "function") {
|
|
close();
|
|
this.onCancel();
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
that.mousePressEvent = mousePressEvent;
|
|
|
|
function cleanup() {
|
|
Overlays.deleteOverlay(cancelButton);
|
|
Overlays.deleteOverlay(progressMessage);
|
|
Overlays.deleteOverlay(progressBackground);
|
|
}
|
|
that.cleanup = cleanup;
|
|
|
|
return that;
|
|
}()); |