From 2deec18072c7b6fec19313443f0fc4029f69e866 Mon Sep 17 00:00:00 2001 From: peteruithoven Date: Wed, 28 Aug 2013 18:33:25 +0200 Subject: [PATCH] Settings improvements --- css/settings.css | 26 ++++-- css/settingsPopup.css | 6 +- js/SettingsWindow.js | 64 ++++++++++++--- js/canvasDrawing_v01.js | 2 +- settings.html | 176 ++++++++++++++-------------------------- 5 files changed, 140 insertions(+), 134 deletions(-) diff --git a/css/settings.css b/css/settings.css index 135d31e..b24b6c9 100644 --- a/css/settings.css +++ b/css/settings.css @@ -16,8 +16,10 @@ body,th,td { } fieldset { width: 600px; - border: 1px solid black; - border-radius: 10px; + border: 1px solid rgb(187, 187, 187); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; margin-bottom: 20px; /*padding-left: 20px;*/ } @@ -29,16 +31,22 @@ label { display: inline-block; } textarea { - border-radius: 10px; + border: 1px solid rgb(144, 192, 255); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; } -input[type="text"] { - border: 1px solid black; +input[type="text"], input[type="number"] { + border: 1px solid rgb(144, 192, 255); margin-right: 5px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; } -input[type="text"].small { +input[type="text"].small, input[type="number"].small { width: 50px; } -input[type="text"].large { +input[type="text"].large,input[type="number"].large { width: 250px; } legend { @@ -58,3 +66,7 @@ textarea.gcode { display: none; margin-top: 5px; } +form small { + margin: 3px 0 0 0; + display: block; +} diff --git a/css/settingsPopup.css b/css/settingsPopup.css index 58156d9..52fcd3d 100644 --- a/css/settingsPopup.css +++ b/css/settingsPopup.css @@ -47,7 +47,11 @@ div.content > div { } div.content > div.settings { - border: 1px solid #333; + border: 1px solid rgb(187, 187, 187); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + width: 660px; overflow: scroll; max-height: 368px; diff --git a/js/SettingsWindow.js b/js/SettingsWindow.js index 64644cf..b736bee 100644 --- a/js/SettingsWindow.js +++ b/js/SettingsWindow.js @@ -57,6 +57,7 @@ function SettingsWindow() { self.saveSettings(); self.hideSettings(); } + this.showSettings = function() { console.log("f:showSettings()"); @@ -71,6 +72,7 @@ function SettingsWindow() { document.body.addEventListener('touchmove',prevent,false); }); } + this.loadSettings = function() { if (!communicateWithWifibox) { console.log(" communicateWithWifibox is false: settings aren't being loaded from wifibox...") @@ -96,6 +98,7 @@ function SettingsWindow() { self.retryLoadSettingsDelay = setTimeout(function() { self.loadSettings() },self.retryDelay); // retry after delay }); } + this.saveSettings = function(callback) { console.log("Settings:saveSettings"); @@ -103,12 +106,13 @@ function SettingsWindow() { $("#printersettings input").each( function(index,element) { var element = $(element); //populate settings are with values from html - if(element.attr("type") == "text") { + if(element.attr("type") == "text" || element.attr("type") == "number") { settings[element.attr('name')] = element.val(); } else if(element.attr("type") == "checkbox") { settings[element.attr('name')] = element.prop('checked') } }); + this.readForm(); if (communicateWithWifibox) { $.ajax({ @@ -142,22 +146,58 @@ function SettingsWindow() { }); } } + this.fillForm = function() { - //update html with loaded wifi settings - $("#ipaddress").attr('value', settings["network.ap.address"]); - $("#netmask").attr('value', settings["network.ap.netmask"]); - $("#ssid").attr('value', settings["network.ap.ssid"]); - - //update html with loaded printer settings - $("#printersettings input").each( function(index,element) { + console.log("SettingsWindow:fillForm"); + //fill form with loaded settings + var selects = this.form.find("select"); + selects.each( function(index,element) { + var element = $(element); + element.val(settings[element.attr('name')]); + }); + + var inputs = this.form.find("input"); + inputs.each( function(index,element) { var element = $(element); //console.log("printer setting input: ",index,element.attr("type"),element.attr('name')); //,element); - if(element.attr("type") == "text") { - element.val(settings[element.attr('name')]); - } else if(element.attr("type") == "checkbox") { - element.prop('checked', settings[element.attr('name')]); + switch(element.attr("type")) { + case "text": + case "number": + element.val(settings[element.attr('name')]); + break; + case "checkbox": + element.prop('checked', settings[element.attr('name')]); + break; } }); + + // TODO: textarea's + var textareas = this.form.find("textarea"); + console.log(textareas); + textareas.each( function(index,element) { + var element = $(element); + + console.log("printer setting textarea: ",index,element.attr('name')); //,element); + var value = settings[element.attr('name')]; + element.val(value); + console.log(" value: ",value); + }); + } + + this.readForm = function() { + console.log("SettingsWindow:readForm"); + // read settings from form + + // TODO: textarea's + var textareas = this.form.find("textarea"); + console.log(textareas); + textareas.each( function(index,element) { + var element = $(element); + console.log("printer textarea: ",index,element.attr('name')); //,element); + console.log(" val: ",element.val()); + settings[element.attr('name')] = element.val(); + }); + console.log(settings); } } diff --git a/js/canvasDrawing_v01.js b/js/canvasDrawing_v01.js index 0a6088f..599d4dc 100644 --- a/js/canvasDrawing_v01.js +++ b/js/canvasDrawing_v01.js @@ -301,7 +301,7 @@ function onCanvasMouseMove(e) { if (prevPoint.x != -1 || prevPoint.y != -1) { var dist = Math.sqrt(Math.pow((prevPoint.x - x), 2) + Math.pow((prevPoint.y - y), 2)); - if (dist > 5) { + if (dist > 5) { // replace by setting: doodle3d.simplify.minDistance _points.push([x, y, false]); adjustBounds(x, y) adjustPreviewTransformation(); diff --git a/settings.html b/settings.html index 249199a..3363123 100755 --- a/settings.html +++ b/settings.html @@ -10,156 +10,106 @@
-

- Not all fields are saveable at the moment -

-
3D printer - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - -
- - -
- -
+ +
Print settings - mm
- mm
- mm
- degrees C
+ mm
+ mm
+ mm
+ degrees C

- mm/s
- mm/s
+ mm/s
+ mm/s

-

-
-
+
+ * Continuously move platform while printing instead of once per layer
- mm
- mm
- mm/s
+
+ mm
+ mm
+ mm/s

+

+
+ Doodle3D settings + mm
+ px
+
+
Access point settings -
-
-
-
- * The macro %%MAC_ADDR_TAIL%% will be replaced by the last 6 digits of your Doodle3D Wi-Fi box's MAC address.
+
+
+
+ * The text %%MAC_ADDR_TAIL%% will be replaced by the last 6 digits of your Doodle3D Wi-Fi box's MAC address.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- GCODE settings
- + GCODE settings

-

-
-
- -
- Advanced settings - -
- -