// 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 = '';
Blockscad.Toolbox.adv += Blockscad.Toolbox.cat_3D;
Blockscad.Toolbox.adv += Blockscad.Toolbox.cat2D;
Blockscad.Toolbox.adv += Blockscad.Toolbox.catTransform;
Blockscad.Toolbox.adv += Blockscad.Toolbox.catSetOps;
Blockscad.Toolbox.adv += Blockscad.Toolbox.catMathLogic;
Blockscad.Toolbox.adv += Blockscad.Toolbox.catLoops;
Blockscad.Toolbox.adv += Blockscad.Toolbox.catOther;
Blockscad.Toolbox.sim = '';
Blockscad.Toolbox.sim += Blockscad.Toolbox.cat_3D_sim;
// Blockscad.Toolbox.sim += Blockscad.Toolbox.cat2D;
Blockscad.Toolbox.sim += Blockscad.Toolbox.catTransform_sim;
Blockscad.Toolbox.sim += Blockscad.Toolbox.catSetOps_sim;
Blockscad.Toolbox.sim += Blockscad.Toolbox.catMathLogic_sim;
//Blockscad.Toolbox.sim += Blockscad.Toolbox.catLoops_sim;
Blockscad.Toolbox.sim += Blockscad.Toolbox.catOther_sim;
}