From 4c43f5864d246ab72b8272d7a965c3bffcfd7efe Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Fri, 12 Jun 2020 16:13:02 -0400 Subject: [PATCH] add visual marker when cam operation is enabled --- src/kiri/init.js | 12 ++++++------ src/kiri/main.js | 1 + src/kiri/ui.js | 6 ++++++ src/mode/cam/driver.js | 10 ++++++++++ web/kiri/index.css | 10 ++++++++++ 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/kiri/init.js b/src/kiri/init.js index 1b79f126..19509995 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -1292,7 +1292,7 @@ sliceSupportNozzle: UC.newSelect(LANG.sp_nozl_s, {title:LANG.sp_nozl_l, modes:FDM, expert:true}, "extruders"), sliceSupportEnable: UC.newBoolean(LANG.enable, onBooleanClick, {modes:FDM}), - roughing: UC.newGroup(LANG.cr_menu, null, {modes:CAM}), + roughing: UC.newGroup(LANG.cr_menu, null, {modes:CAM, marker:true}), roughingTool: UC.newSelect(LANG.cc_tool, {modes:CAM}), roughingSpindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, modes:CAM}), roughingOver: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.1,1.0), modes:CAM}), @@ -1304,7 +1304,7 @@ camPocketOnlyRough: UC.newBoolean(LANG.cc_pock_s, onBooleanClick, {title:LANG.cc_pock_l, modes:CAM}), roughingOn: UC.newBoolean(LANG.enable, onBooleanClick, {modes:CAM}), - finishing: UC.newGroup(LANG.cf_menu, null, {modes:CAM}), + finishing: UC.newGroup(LANG.cf_menu, null, {modes:CAM, marker:true}), finishingTool: UC.newSelect(LANG.cc_tool, {modes:CAM}), finishingSpindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, modes:CAM}), finishingOver: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.05,1.0), modes:CAM}), @@ -1318,7 +1318,7 @@ finishingYOn: UC.newBoolean(LANG.cf_liny_s, onBooleanClick, {title:LANG.cf_liny_l, modes:CAM}), finishCurvesOnly: UC.newBoolean(LANG.cf_curv_s, onBooleanClick, {title:LANG.cf_curv_l, modes:CAM}), - drilling: UC.newGroup(LANG.cd_menu, null, {modes:CAM}), + drilling: UC.newGroup(LANG.cd_menu, null, {modes:CAM, marker:true}), drillTool: UC.newSelect(LANG.cc_tool, {modes:CAM}), drillSpindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, modes:CAM}), drillDown: UC.newInput(LANG.cd_plpr_s, {title:LANG.cd_plpr_l, convert:UC.toFloat, modes:CAM}), @@ -1327,19 +1327,19 @@ drillLift: UC.newInput(LANG.cd_lift_s, {title:LANG.cd_lift_l, convert:UC.toFloat, modes:CAM}), drillingOn: UC.newBoolean(LANG.enable, onBooleanClick, {modes:CAM}), - camSep1: UC.newGroup(null, null, {modes:CAM, class:"set-sep"}), - output: UC.newGroup(LANG.fr_menu, null, {modes:FDM}), outputRaftSpacing: UC.newInput(LANG.fr_spac_s, {title:LANG.fr_spac_l, convert:UC.toFloat, bound:UC.bound(0.0,3.0), modes:FDM}), outputRaft: UC.newBoolean(LANG.enable, onBooleanClick, {title:LANG.fr_nabl_l, modes:FDM}), - camTabs: UC.newGroup(LANG.ct_menu, null, {modes:CAM}), + camTabs: UC.newGroup(LANG.ct_menu, null, {modes:CAM, marker:true}), camTabsAngle: UC.newInput(LANG.ct_angl_s, {title:LANG.ct_angl_l, convert:UC.toInt, bound:UC.bound(0,360), modes:CAM}), camTabsCount: UC.newInput(LANG.ct_numb_s, {title:LANG.ct_numb_l, convert:UC.toInt, bound:UC.bound(1,20), modes:CAM}), camTabsWidth: UC.newInput(LANG.ct_wdth_s, {title:LANG.ct_wdth_l, convert:UC.toFloat, bound:UC.bound(0.1,100), modes:CAM}), camTabsHeight: UC.newInput(LANG.ct_hght_s, {title:LANG.ct_hght_l, convert:UC.toFloat, bound:UC.bound(0.1,100), modes:CAM}), camTabsOn: UC.newBoolean(LANG.enable, onBooleanClick, {title:LANG.ct_nabl_l, modes:CAM}), + camSep1: UC.newGroup(null, null, {modes:CAM, class:"set-sep"}), + camStock: UC.newGroup(LANG.cs_menu, null, {modes:CAM}), camStockX: UC.newInput(LANG.cs_wdth_s, {title:LANG.cs_wdth_l, convert:UC.toFloat, bound:UC.bound(0,9999), modes:CAM}), camStockY: UC.newInput(LANG.cs_dpth_s, {title:LANG.cs_dpth_l, convert:UC.toFloat, bound:UC.bound(0,9999), modes:CAM}), diff --git a/src/kiri/main.js b/src/kiri/main.js index 1da6e39a..8e3b2635 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -1459,6 +1459,7 @@ settings.controller.view = view; } SDB.setItem('ws-settings', JSON.stringify(settings)); + API.event.emit('settings.saved', settings); } function settingsImport(data, ask) { diff --git a/src/kiri/ui.js b/src/kiri/ui.js index b101cf8d..6885e6ec 100644 --- a/src/kiri/ui.js +++ b/src/kiri/ui.js @@ -128,6 +128,12 @@ addTo = lastDiv; } + if (opt.marker) { + let marker = row.marker = DOC.createElement('div'); + marker.setAttribute('class', 'marker'); + row.appendChild(marker); + } + div.appendChild(row); if (label) { link = DOC.createElement('a'); diff --git a/src/mode/cam/driver.js b/src/mode/cam/driver.js index 830f5436..6d0411c1 100644 --- a/src/mode/cam/driver.js +++ b/src/mode/cam/driver.js @@ -54,6 +54,16 @@ $('set-tools').style.display = isCAM ? '' : 'none'; kiri.space.platform.setColor(isCAM ? 0xeeeeee : 0xcccccc); }); + api.event.on("settings.saved", (settings) => { + let proc = settings.process; + api.ui.camTabs.marker.style.display = proc.camTabsOn ? 'flex' : 'none'; + api.ui.roughing.marker.style.display = proc.roughingOn ? 'flex' : 'none'; + api.ui.drilling.marker.style.display = proc.drillingOn ? 'flex' : 'none'; + api.ui.finishing.marker.style.display = + proc.finishingOn || + proc.finishingXOn || + proc.finishingYOn ? 'flex' : 'none'; + }); } function getToolById(settings, id) { diff --git a/web/kiri/index.css b/web/kiri/index.css index 34aaf1c0..d1d83185 100644 --- a/web/kiri/index.css +++ b/web/kiri/index.css @@ -882,6 +882,16 @@ th, tr, td { margin-right: 5px; padding: 5px; } +.marker { + xdisplay: none; + position:absolute; + border-radius: 2px; + background-color: rgba(0,0,0,0.25); + bottom: 1px; + left: 1px; + width: 4px; + height: 4px; +} #layers .var-row { border-radius: 10px; background-color: #ddd;