From ee73d34b8c5126ba8fa77b345f4fea8c9130e6ab Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Mon, 19 Aug 2013 13:44:04 +0000 Subject: [PATCH] add sliders to settings page, and show current values (nw) --- .gitattributes | 5 +++++ src/emu/webengine.c | 47 ++++++++++++++++++++++++++++----------------- web/driver.html | 0 web/image.html | 0 web/index.html | 36 ++++++++++++++++++++++++++-------- web/info.html | 0 web/logs.html | 0 web/options.html | 1 + 8 files changed, 63 insertions(+), 26 deletions(-) create mode 100644 web/driver.html create mode 100644 web/image.html create mode 100644 web/info.html create mode 100644 web/logs.html create mode 100644 web/options.html diff --git a/.gitattributes b/.gitattributes index 16ec5f943a1..59599275b77 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8898,8 +8898,13 @@ web/css/images/icons-18-white.png -text svneol=unset#image/png web/css/images/icons-36-black.png -text svneol=unset#image/png web/css/images/icons-36-white.png -text svneol=unset#image/png web/css/jquery.mobile.css svneol=native#text/css +web/driver.html svneol=native#text/html web/favicon.ico -text +web/image.html svneol=native#text/html web/images/logo-mame-small.png -text svneol=unset#image/png web/index.html svneol=native#text/html +web/info.html svneol=native#text/html web/js/jquery.js svneol=native#text/javascript web/js/jquery.mobile.js svneol=native#text/javascript +web/logs.html svneol=native#text/html +web/options.html svneol=native#text/html diff --git a/src/emu/webengine.c b/src/emu/webengine.c index 9fc01630ee1..5b456311772 100644 --- a/src/emu/webengine.c +++ b/src/emu/webengine.c @@ -107,35 +107,46 @@ int web_engine::json_slider_handler(struct mg_connection *conn) { const slider_state *curslider; astring tempstring; - + Json::Value array(Json::arrayValue); + /* add all sliders */ for (curslider = ui_get_slider_list(); curslider != NULL; curslider = curslider->next) { INT32 curval = (*curslider->update)(machine(), curslider->arg, &tempstring, SLIDER_NOCHANGE); - printf("%d\n",curval); -/* UINT32 flags = 0; - if (curval > curslider->minval) - flags |= MENU_FLAG_LEFT_ARROW; - if (curval < curslider->maxval) - flags |= MENU_FLAG_RIGHT_ARROW; - item_append(curslider->description, tempstring, flags, (void *)curslider); - - if (menuless_mode) - break;*/ + Json::Value data; + data["description"] = curslider->description; + data["minval"] = curslider->minval; + data["maxval"] = curslider->maxval; + data["defval"] = curslider->defval; + data["incval"] = curslider->incval; + data["curval"] = curval; + array.append(data); } /* add all sliders */ for (curslider = (slider_state*)machine().osd().get_slider_list(); curslider != NULL; curslider = curslider->next) { INT32 curval = (*curslider->update)(machine(), curslider->arg, &tempstring, SLIDER_NOCHANGE); - printf("%d\n",curval); - /*UINT32 flags = 0; - if (curval > curslider->minval) - flags |= MENU_FLAG_LEFT_ARROW; - if (curval < curslider->maxval) - flags |= MENU_FLAG_RIGHT_ARROW; - item_append(curslider->description, tempstring, flags, (void *)curslider);*/ + Json::Value data; + data["description"] = curslider->description; + data["minval"] = curslider->minval; + data["maxval"] = curslider->maxval; + data["defval"] = curslider->defval; + data["incval"] = curslider->incval; + data["curval"] = curval; + array.append(data); } + Json::FastWriter writer; + const char *json = writer.write(array).c_str(); + // Send HTTP reply to the client + mg_printf(conn, + "HTTP/1.1 200 OK\r\n" + "Content-Type: application/json\r\n" + "Content-Length: %d\r\n" // Always set Content-Length + "\r\n" + "%s", + (int)strlen(json), json); + return 1; } diff --git a/web/driver.html b/web/driver.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/web/image.html b/web/image.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/web/index.html b/web/index.html index 0bfda89104d..087be401fd6 100644 --- a/web/index.html +++ b/web/index.html @@ -26,9 +26,9 @@ document.getElementById('main').innerHTML = '
'; } - function loadCommands() + function loadContent(htmlName) { - $("#main").load('commands.html', function () { + $("#main").load(htmlName+'.html', function () { $(this).trigger('create'); }); } @@ -44,6 +44,26 @@ }); } + function executeSlider() + { + $.ajax({ + url: "/json/slider", + cache: false, + dataType: "json", + success: function(data) { + var items = []; + for (var i in data) { + items.push(''); + items.push(''); + } + $('#main').html(''); + $('#main').append(items.join('')).trigger('create'); + + }, + error: function (request, status, error) { alert(status + ", " + error); } + }); + } + function startWebSocket() { var url = 'ws://localhost:8080/foo'; @@ -95,16 +115,16 @@
@@ -115,10 +135,10 @@