From 187ed77fc029025604fd9f44b570fcc3f1d16244 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 2 Apr 2020 15:34:04 +0200 Subject: [PATCH] Arrangement Style Icon Added --- .../FunctionLibraries/CCXTFunctions.js | 7 ++++++ .../FunctionLibraries/NodeCloning.js | 3 ++- .../FunctionLibraries/ProtocolNode.js | 3 ++- FloatingSpace/FloatingObject.js | 23 ++++++++++++++++++ FloatingSpace/UiObjectConstructor.js | 24 +++++++++++++++++++ Globals.js | 6 +++++ 6 files changed, 64 insertions(+), 2 deletions(-) diff --git a/DesignSpace/Workspace/FunctionLibraries/CCXTFunctions.js b/DesignSpace/Workspace/FunctionLibraries/CCXTFunctions.js index f02a1733a..d09957234 100644 --- a/DesignSpace/Workspace/FunctionLibraries/CCXTFunctions.js +++ b/DesignSpace/Workspace/FunctionLibraries/CCXTFunctions.js @@ -52,6 +52,9 @@ function newCCXTFunctions () { newExchange.exchangeAssets.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_050X newExchange.exchangeMarkets.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_100X newExchange.exchangeAccounts.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_025X + newExchange.exchangeAssets.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR + newExchange.exchangeMarkets.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR + newExchange.exchangeAccounts.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR } } } @@ -114,6 +117,7 @@ function newCCXTFunctions () { newAsseet.code = '{ \n\"codeName\": \"' + name + '\"\n}' newAsseet.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_360 newAsseet.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_200X + newAsseet.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR } } } @@ -184,10 +188,13 @@ function newCCXTFunctions () { newMarket.code = '{ \n\"codeName\": \"' + name + '\"\n}' newMarket.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 newMarket.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_050X + newMarket.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR newMarket.baseAsset.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_45 newMarket.quotedAsset.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_45 newMarket.baseAsset.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_100X newMarket.quotedAsset.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_150X + newMarket.baseAsset.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR + newMarket.quotedAsset.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR newMarket.baseAsset.payload.referenceParent = baseAsset newMarket.quotedAsset.payload.referenceParent = quotedAsset diff --git a/DesignSpace/Workspace/FunctionLibraries/NodeCloning.js b/DesignSpace/Workspace/FunctionLibraries/NodeCloning.js index 72d458dcf..fce49b44f 100644 --- a/DesignSpace/Workspace/FunctionLibraries/NodeCloning.js +++ b/DesignSpace/Workspace/FunctionLibraries/NodeCloning.js @@ -146,7 +146,8 @@ function newNodeCloning () { isFrozen: (node.payload.floatingObject.isFrozen && node.payload.floatingObject.frozenManually), isCollapsed: (node.payload.floatingObject.isCollapsed && node.payload.floatingObject.collapsedManually), angleToParent: (node.payload.floatingObject.angleToParent), - distanceToParent: (node.payload.floatingObject.distanceToParent) + distanceToParent: (node.payload.floatingObject.distanceToParent), + arrangementStyle: (node.payload.floatingObject.arrangementStyle) }, uiObject: { isRunning: node.payload.uiObject.isRunning, diff --git a/DesignSpace/Workspace/FunctionLibraries/ProtocolNode.js b/DesignSpace/Workspace/FunctionLibraries/ProtocolNode.js index 4eaf8ec8c..3fff812a4 100644 --- a/DesignSpace/Workspace/FunctionLibraries/ProtocolNode.js +++ b/DesignSpace/Workspace/FunctionLibraries/ProtocolNode.js @@ -149,7 +149,8 @@ function newProtocolNode () { isFrozen: (node.payload.floatingObject.isFrozen && node.payload.floatingObject.frozenManually), isCollapsed: (node.payload.floatingObject.isCollapsed && node.payload.floatingObject.collapsedManually), angleToParent: (node.payload.floatingObject.angleToParent), - distanceToParent: (node.payload.floatingObject.distanceToParent) + distanceToParent: (node.payload.floatingObject.distanceToParent), + arrangementStyle: (node.payload.floatingObject.arrangementStyle) }, uiObject: { isRunning: node.payload.uiObject.isRunning, diff --git a/FloatingSpace/FloatingObject.js b/FloatingSpace/FloatingObject.js index 54d7544fc..cb96ec369 100644 --- a/FloatingSpace/FloatingObject.js +++ b/FloatingSpace/FloatingObject.js @@ -24,6 +24,7 @@ function newFloatingObject () { isFrozen: false, angleToParent: undefined, distanceToParent: undefined, + arrangementStyle: ARRANGEMENT_STYLE.CIRCULAR, isCollapsed: false, isParentCollapsed: false, frozenManually: false, @@ -33,6 +34,7 @@ function newFloatingObject () { getCollapseStatus: getCollapseStatus, getAngleToParent: getAngleToParent, getDistanceToParent: getDistanceToParent, + getArrangementStyle: getArrangementStyle, nearbyFloatingObjects: [], setPosition: setPosition, pinToggle: pinToggle, @@ -40,6 +42,7 @@ function newFloatingObject () { collapseToggle: collapseToggle, angleToParentToggle: angleToParentToggle, distanceToParentToggle: distanceToParentToggle, + arrangementStyleToggle: arrangementStyleToggle, physics: physics, invisiblePhysics: invisiblePhysics, initializeMass: initializeMass, @@ -153,6 +156,10 @@ function newFloatingObject () { return thisObject.distanceToParent } + function getArrangementStyle () { + return thisObject.arrangementStyle + } + function freezeToggle () { if (thisObject.isFrozen !== true) { thisObject.isFrozen = true @@ -222,6 +229,22 @@ function newFloatingObject () { return thisObject.distanceToParent } + function arrangementStyleToggle () { + switch (thisObject.arrangementStyle) { + case ARRANGEMENT_STYLE.CIRCULAR: + thisObject.arrangementStyle = ARRANGEMENT_STYLE.VERTICAL + break + case ARRANGEMENT_STYLE.VERTICAL: + thisObject.arrangementStyle = ARRANGEMENT_STYLE.HORIZONTAL + break + case ARRANGEMENT_STYLE.HORIZONTAL: + thisObject.arrangementStyle = ARRANGEMENT_STYLE.CIRCULAR + break + } + + return thisObject.arrangementStyle + } + function invisiblePhysics () { if (thisObject.payload.uiObject !== undefined) { thisObject.payload.uiObject.invisiblePhysics() diff --git a/FloatingSpace/UiObjectConstructor.js b/FloatingSpace/UiObjectConstructor.js index 38da1216d..450aef2a5 100644 --- a/FloatingSpace/UiObjectConstructor.js +++ b/FloatingSpace/UiObjectConstructor.js @@ -63,6 +63,9 @@ function newUiObjectConstructor () { if (payload.node.savedPayload.floatingObject.distanceToParent !== undefined) { floatingObject.distanceToParent = payload.node.savedPayload.floatingObject.distanceToParent } + if (payload.node.savedPayload.floatingObject.arrangementStyle !== undefined) { + floatingObject.arrangementStyle = payload.node.savedPayload.floatingObject.arrangementStyle + } } /* @@ -83,6 +86,7 @@ function newUiObjectConstructor () { if (closestSibling !== undefined) { floatingObject.angleToParent = closestSibling.payload.floatingObject.angleToParent floatingObject.distanceToParent = closestSibling.payload.floatingObject.distanceToParent + floatingObject.arrangementStyle = closestSibling.payload.floatingObject.arrangementStyle break } } @@ -98,6 +102,7 @@ function newUiObjectConstructor () { if (closestSibling !== undefined) { floatingObject.angleToParent = closestSibling.payload.floatingObject.angleToParent floatingObject.distanceToParent = closestSibling.payload.floatingObject.distanceToParent + floatingObject.arrangementStyle = closestSibling.payload.floatingObject.arrangementStyle break } } @@ -106,6 +111,7 @@ function newUiObjectConstructor () { if (closestSibling !== undefined) { floatingObject.angleToParent = closestSibling.payload.floatingObject.angleToParent floatingObject.distanceToParent = closestSibling.payload.floatingObject.distanceToParent + floatingObject.arrangementStyle = closestSibling.payload.floatingObject.arrangementStyle break } } @@ -120,6 +126,7 @@ function newUiObjectConstructor () { if (closestSibling !== undefined) { floatingObject.angleToParent = closestSibling.payload.floatingObject.angleToParent floatingObject.distanceToParent = closestSibling.payload.floatingObject.distanceToParent + floatingObject.arrangementStyle = closestSibling.payload.floatingObject.arrangementStyle break } } @@ -128,6 +135,7 @@ function newUiObjectConstructor () { if (closestSibling !== undefined) { floatingObject.angleToParent = closestSibling.payload.floatingObject.angleToParent floatingObject.distanceToParent = closestSibling.payload.floatingObject.distanceToParent + floatingObject.arrangementStyle = closestSibling.payload.floatingObject.arrangementStyle break } } @@ -138,6 +146,7 @@ function newUiObjectConstructor () { if (floatingObject.angleToParent === undefined) { floatingObject.angleToParent = payload.parentNode.payload.floatingObject.angleToParent floatingObject.distanceToParent = payload.parentNode.payload.floatingObject.distanceToParent + floatingObject.arrangementStyle = closestSibling.payload.floatingObject.arrangementStyle } } @@ -240,6 +249,21 @@ function newUiObjectConstructor () { ring: 1 } ) + menuItemsInitialValues.push( + { + action: 'change Arrangement Style', + actionFunction: floatingObject.arrangementStyleToggle, + actionStatus: floatingObject.getArrangementStyle, + currentStatus: true, + label: undefined, + visible: true, + icons: ['shapes-polygon', 'shapes-polygon-body', 'shapes-polygon-border'], + rawRadius: 12, + targetRadius: 0, + currentRadius: 0, + ring: 1 + } + ) menuItemsInitialValues.push( { action: 'Freeze / Unfreeze', diff --git a/Globals.js b/Globals.js index 4c4fd5ecc..341f9475e 100644 --- a/Globals.js +++ b/Globals.js @@ -72,6 +72,12 @@ const DISTANCE_TO_PARENT = { PARENT_200X: 5 } +const ARRANGEMENT_STYLE = { + CIRCULAR: 0, + VERTICAL: 1, + HORIZONTAL: 2 +} + /* User Interface Panels */ const UI_PANEL = {