Merge pull request #7785 from imgntn/editicons

Re-add locking/visibility tools to edit.js
This commit is contained in:
Brad Hefta-Gaub 2016-04-28 16:27:34 -07:00
commit b72ac35e8e
4 changed files with 41 additions and 22 deletions

View file

@ -48,7 +48,7 @@ var entityListTool = EntityListTool();
selectionManager.addEventListener(function() {
selectionDisplay.updateHandles();
lightOverlayManager.updatePositions();
});
});
var toolIconUrl = Script.resolvePath("assets/images/tools/");
var toolHeight = 50;
@ -191,7 +191,7 @@ var toolBar = (function() {
});
activeButton = toolBar.addTool({
imageURL: toolIconUrl + "edit-01.svg",
imageURL: toolIconUrl + "edit-01.svg",
subImage: {
x: 0,
y: Tool.IMAGE_WIDTH,
@ -205,7 +205,7 @@ var toolBar = (function() {
}, true, false);
newModelButton = toolBar.addTool({
imageURL:toolIconUrl + "model-01.svg",
imageURL: toolIconUrl + "model-01.svg",
subImage: {
x: 0,
y: Tool.IMAGE_WIDTH,
@ -220,7 +220,7 @@ var toolBar = (function() {
});
newCubeButton = toolBar.addTool({
imageURL:toolIconUrl + "cube-01.svg",
imageURL: toolIconUrl + "cube-01.svg",
subImage: {
x: 0,
y: Tool.IMAGE_WIDTH,
@ -336,7 +336,9 @@ var toolBar = (function() {
if (active && !Entities.canAdjustLocks()) {
Window.alert(INSUFFICIENT_PERMISSIONS_ERROR_MSG);
} else {
Messages.sendLocalMessage("edit-events", JSON.stringify({enabled: active}));
Messages.sendLocalMessage("edit-events", JSON.stringify({
enabled: active
}));
isActive = active;
if (!isActive) {
entityListTool.setVisible(false);
@ -549,8 +551,16 @@ var toolBar = (function() {
type: "ParticleEffect",
isEmitting: true,
particleRadius: 0.1,
emitAcceleration: {x: 0, y: -1, z: 0},
accelerationSpread: {x: 5, y: 0, z: 5},
emitAcceleration: {
x: 0,
y: -1,
z: 0
},
accelerationSpread: {
x: 5,
y: 0,
z: 5
},
emitSpeed: 1,
lifespan: 1,
particleRadius: 0.025,
@ -563,7 +573,7 @@ var toolBar = (function() {
return false;
};
that.mouseReleaseEvent = function (event) {
that.mouseReleaseEvent = function(event) {
return false;
}
@ -604,7 +614,7 @@ var intersection;
var SCALE_FACTOR = 200.0;
function rayPlaneIntersection(pickRay, point, normal) { //
function rayPlaneIntersection(pickRay, point, normal) { //
//
// This version of the test returns the intersection of a line with a plane
//
@ -1207,7 +1217,9 @@ function toggleSelectedEntitiesLocked() {
var locked = !Entities.getEntityProperties(SelectionManager.selections[0], ["locked"]).locked;
for (var i = 0; i < selectionManager.selections.length; i++) {
var entityID = SelectionManager.selections[i];
Entities.editEntity(entityID, { locked: locked });
Entities.editEntity(entityID, {
locked: locked
});
}
entityListTool.sendUpdate();
selectionManager._update();
@ -1219,7 +1231,9 @@ function toggleSelectedEntitiesVisible() {
var visible = !Entities.getEntityProperties(SelectionManager.selections[0], ["visible"]).visible;
for (var i = 0; i < selectionManager.selections.length; i++) {
var entityID = SelectionManager.selections[i];
Entities.editEntity(entityID, { visible: visible });
Entities.editEntity(entityID, {
visible: visible
});
}
entityListTool.sendUpdate();
selectionManager._update();
@ -1554,8 +1568,7 @@ PropertiesTool = function(opts) {
data.properties.keyLight.direction.x * DEGREES_TO_RADIANS, data.properties.keyLight.direction.y * DEGREES_TO_RADIANS);
}
Entities.editEntity(selectionManager.selections[0], data.properties);
if (data.properties.name !== undefined || data.properties.modelURL !== undefined
|| data.properties.visible !== undefined || data.properties.locked !== undefined) {
if (data.properties.name !== undefined || data.properties.modelURL !== undefined || data.properties.visible !== undefined || data.properties.locked !== undefined) {
entityListTool.sendUpdate();
}
}
@ -1835,15 +1848,15 @@ entityListTool.webView.webEventReceived.connect(function(data) {
var data = JSON.parse(data);
if (data.type == "selectionUpdate") {
var ids = data.entityIds;
if(ids.length === 1) {
if (Entities.getEntityProperties(ids[0], "type").type === "ParticleEffect" ) {
if (ids.length === 1) {
if (Entities.getEntityProperties(ids[0], "type").type === "ParticleEffect") {
if (JSON.stringify(selectedParticleEntity) === JSON.stringify(ids[0])) {
// This particle entity is already selected, so return
return;
}
// Destroy the old particles web view first
particleExplorerTool.destroyWebView();
particleExplorerTool.createWebView();
particleExplorerTool.destroyWebView();
particleExplorerTool.createWebView();
var properties = Entities.getEntityProperties(ids[0]);
var particleData = {
messageType: "particle_settings",
@ -1855,7 +1868,7 @@ entityListTool.webView.webEventReceived.connect(function(data) {
particleExplorerTool.webView.webEventReceived.connect(function(data) {
var data = JSON.parse(data);
if (data.messageType === "page_loaded") {
particleExplorerTool.webView.emitScriptEvent(JSON.stringify(particleData));
particleExplorerTool.webView.emitScriptEvent(JSON.stringify(particleData));
}
});
} else {
@ -1864,4 +1877,4 @@ entityListTool.webView.webEventReceived.connect(function(data) {
}
}
}
});
});

View file

@ -58,7 +58,7 @@ var toolBar = (function() {
browseExamplesButton;
function initialize() {
toolBar = new ToolBar(0, 0, ToolBar.HORIXONTAL, "highfidelity.examples.toolbar", function(windowDimensions, toolbar) {
toolBar = new ToolBar(0, 0, ToolBar.HORIZONTAL, "highfidelity.examples.toolbar", function(windowDimensions, toolbar) {
return {
x: windowDimensions.x / 2,
y: windowDimensions.y

View file

@ -378,4 +378,4 @@
</div>
</div>
</body>
</html>
</html>

View file

@ -59,6 +59,8 @@ EntityListTool = function(opts) {
name: properties.name,
type: properties.type,
url: properties.type == "Model" ? properties.modelURL : "",
locked: properties.locked,
visible: properties.visible
});
}
@ -99,6 +101,10 @@ EntityListTool = function(opts) {
}
} else if (data.type == "delete") {
deleteSelectedEntities();
} else if (data.type == "toggleLocked") {
toggleSelectedEntitiesLocked();
} else if (data.type == "toggleVisible") {
toggleSelectedEntitiesVisible();
} else if (data.type === "radius") {
searchRadius = data.radius;
that.sendUpdate();
@ -112,4 +118,4 @@ EntityListTool = function(opts) {
});
return that;
};
};