// make a toolbox namespace? Do I have to do this? // To-do - see if I can load the xml into a variable (like in blockscadpagestart()), and break it up into "blocks", "imported blocks", and "end". // then I could support simple and advanced block sets that keep any imported blocks across them. var Blockscad = Blockscad || {}; Blockscad.Toolbox = {}; // Blockscad.Msg = Blockscad.Msg || {}; Blockly = Blockly || {}; // for switching toolboxes, I need to know the current html category ids. Blockscad.Toolbox.catIDs = []; // shall I set some hues? // Blockscad.Toolbox.allcats = ['HEX_3D_PRIMITIVE','HEX_2D_PRIMITIVE','HEX_TRANSFORM', // 'HEX_SETOP', 'HEX_MATH','HEX_LOGIC','HEX_LOOP','HEX_ADVANCED', // 'HEX_VARIABLE','HEX_PROCEDURE']; Blockscad.Toolbox.allcats = ['HEX_3D_PRIMITIVE','HEX_2D_PRIMITIVE','HEX_TRANSFORM', 'HEX_SETOP', 'HEX_MATH','HEX_LOGIC','HEX_LOOP','HEX_TEXT', 'HEX_VARIABLE','HEX_PROCEDURE']; Blockscad.Toolbox.whichCatsInSimple = [0,2,3,4,8,9]; Blockscad.Toolbox.colorScheme = {}; Blockscad.Toolbox.colorScheme['one'] = // classic [ '#006205', // 3D '#209303', // 2D '#26549E', // Transform '#7450E2', // Set Ops '#0185E1', // Math '#BF6920', // Logic '#612485', // Loops '#727272', // Advanced (or Text) '#8C7149', // Variables '#900355']; // Modules Blockscad.Toolbox.colorScheme['two'] = // pale [ '#885ee3', // 3D '#82af5a', // 2D '#23901c', // Transform '#377eb8', // Set Ops '#ba9969', // Math '#afaf13', // Logic '#a66658', // Loops '#d761bf', // Advanced (or Text) '#999999', // Variables '#b02375']; // Modules Blockscad.Toolbox.catHex = []; Blockscad.Toolbox.simpCatHex = []; // set default color scheme Blockscad.Toolbox.setColorScheme = function(color_scheme) { // console.log(color_scheme); for (var i = 0; i < Blockscad.Toolbox.allcats.length; i++) { Blockscad.Toolbox[Blockscad.Toolbox.allcats[i]] = color_scheme[i]; Blockscad.Toolbox.catHex[i] = color_scheme[i]; } // console.log(Blockscad.Toolbox); } Blockscad.Toolbox.setCatColors = function() { if (Blockscad.Toolbox.catIDs.length < Blockscad.Toolbox.allcats.length) { // using simple toolbox for (var i=0; i < Blockscad.Toolbox.catIDs.length; i++) { // console.log("trying to find element: ",Blockscad.Toolbox.catIDs[i]); var element = document.getElementById(Blockscad.Toolbox.catIDs[i]); // console.log("toolbox element is:",element); element.style.background = Blockscad.Toolbox.catHex[Blockscad.Toolbox.whichCatsInSimple[i]]; } } else { for (var i=0; i < Blockscad.Toolbox.catIDs.length; i++) { // console.log("trying to find element: ",Blockscad.Toolbox.catIDs[i]); var element = document.getElementById(Blockscad.Toolbox.catIDs[i]); element.style.background = Blockscad.Toolbox.catHex[i]; // console.log("toolbox element is:",element); } } } Blockscad.Toolbox.createToolbox = function() { Blockscad.Toolbox.cat_3D = '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '4' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '8' + '' + '' + '' + '' + '16' + '' + '' + '' + ''; Blockscad.Toolbox.cat_3D_sim = '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + ''; Blockscad.Toolbox.cat2D = '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '10' + '' + '' + '' + ''; Blockscad.Toolbox.catTransform = '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + // '' + // '' + // '' + // '8' + // '' + // '' + // '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '' + '' + '#ffcc00' + '' + '' + '' + '' + '' + '' + '100' + '' + '' + '' + '' + '100' + '' + '' + '' + '' + '100' + '' + '' + '' + '' + '' + '' + '8' + '' + '' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '' + '' + '5' + '' + '' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + ''; Blockscad.Toolbox.catTransform_sim = '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '' + '' + '#ffcc00' + '' + '' + '' + '' + '' + '' + '8' + '' + '' + '' + ''; Blockscad.Toolbox.catSetOps= '' + '' + '' + '' + '' + ''; Blockscad.Toolbox.catSetOps_sim = '' + '' + '' + '' + ''; Blockscad.Toolbox.catMathLogic= '' + '' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '' + '' + '9' + '' + '' + '' + '' + '' + '' + '45' + '' + '' + '' + '' + '' + '' + '' + '0' + '' + '' + '' + '' + '' + '' + '3.1' + '' + '' + '' + '' + '' + '' + '64' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '50' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '100' + '' + '' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '100' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + ''; Blockscad.Toolbox.catMathLogic_sim= '' + '' + '' + '' + '' + '' + '' + '' + '1' + '' + '' + '' + '' + '100' + '' + '' + '' + ''; Blockscad.Toolbox.catLoops = '' + '' + '' + '' + '1' + ' ' + '' + '' + '' + '10' + '' + '' + '' + '' + '1' + '' + '' + '' + // '' + // '' + // '' + // '1' + // ' ' + // '' + // '' + // '' + // '10' + // '' + // '' + // '' + // '' + // '1' + // '' + // '' + // '' + ''; Blockscad.Toolbox.catOther = '' + '' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '10' + '' + '' + '' + '' + '2' + '' + '' + '' + '' + '' + '' + '' + 'abc' + '' + '' + '' + // '' + // '' + // '' + // '10' + // '' + // '' + // '' + // '' + // '5' + // '' + // '' + // '' + // '' + // '360' + // '' + // '' + // '' + // '' + // '180' + // '' + // '' + // '' + // '' + // '' + // '' + // '4' + // '' + // '' + // '' + // '' + // '1' + // '' + // '' + // '' + // '' + // '8' + // '' + // '' + // '' + // '' + // '3' + // '' + // '' + // '' + // '' + // '360' + // '' + // '' + // '' + // '' + '' + '' + '' + ''; Blockscad.Toolbox.catOther_sim = '' + '' + ''; Blockscad.Toolbox.adv = '