mirror of
https://github.com/holub/mame
synced 2025-06-09 06:13:04 +03:00
add sliders to settings page, and show current values (nw)
This commit is contained in:
parent
cb281a06a5
commit
ee73d34b8c
5
.gitattributes
vendored
5
.gitattributes
vendored
@ -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-black.png -text svneol=unset#image/png
|
||||||
web/css/images/icons-36-white.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/css/jquery.mobile.css svneol=native#text/css
|
||||||
|
web/driver.html svneol=native#text/html
|
||||||
web/favicon.ico -text
|
web/favicon.ico -text
|
||||||
|
web/image.html svneol=native#text/html
|
||||||
web/images/logo-mame-small.png -text svneol=unset#image/png
|
web/images/logo-mame-small.png -text svneol=unset#image/png
|
||||||
web/index.html svneol=native#text/html
|
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.js svneol=native#text/javascript
|
||||||
web/js/jquery.mobile.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
|
||||||
|
@ -107,35 +107,46 @@ int web_engine::json_slider_handler(struct mg_connection *conn)
|
|||||||
{
|
{
|
||||||
const slider_state *curslider;
|
const slider_state *curslider;
|
||||||
astring tempstring;
|
astring tempstring;
|
||||||
|
Json::Value array(Json::arrayValue);
|
||||||
|
|
||||||
/* add all sliders */
|
/* add all sliders */
|
||||||
for (curslider = ui_get_slider_list(); curslider != NULL; curslider = curslider->next)
|
for (curslider = ui_get_slider_list(); curslider != NULL; curslider = curslider->next)
|
||||||
{
|
{
|
||||||
INT32 curval = (*curslider->update)(machine(), curslider->arg, &tempstring, SLIDER_NOCHANGE);
|
INT32 curval = (*curslider->update)(machine(), curslider->arg, &tempstring, SLIDER_NOCHANGE);
|
||||||
printf("%d\n",curval);
|
Json::Value data;
|
||||||
/* UINT32 flags = 0;
|
data["description"] = curslider->description;
|
||||||
if (curval > curslider->minval)
|
data["minval"] = curslider->minval;
|
||||||
flags |= MENU_FLAG_LEFT_ARROW;
|
data["maxval"] = curslider->maxval;
|
||||||
if (curval < curslider->maxval)
|
data["defval"] = curslider->defval;
|
||||||
flags |= MENU_FLAG_RIGHT_ARROW;
|
data["incval"] = curslider->incval;
|
||||||
item_append(curslider->description, tempstring, flags, (void *)curslider);
|
data["curval"] = curval;
|
||||||
|
array.append(data);
|
||||||
if (menuless_mode)
|
|
||||||
break;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add all sliders */
|
/* add all sliders */
|
||||||
for (curslider = (slider_state*)machine().osd().get_slider_list(); curslider != NULL; curslider = curslider->next)
|
for (curslider = (slider_state*)machine().osd().get_slider_list(); curslider != NULL; curslider = curslider->next)
|
||||||
{
|
{
|
||||||
INT32 curval = (*curslider->update)(machine(), curslider->arg, &tempstring, SLIDER_NOCHANGE);
|
INT32 curval = (*curslider->update)(machine(), curslider->arg, &tempstring, SLIDER_NOCHANGE);
|
||||||
printf("%d\n",curval);
|
Json::Value data;
|
||||||
/*UINT32 flags = 0;
|
data["description"] = curslider->description;
|
||||||
if (curval > curslider->minval)
|
data["minval"] = curslider->minval;
|
||||||
flags |= MENU_FLAG_LEFT_ARROW;
|
data["maxval"] = curslider->maxval;
|
||||||
if (curval < curslider->maxval)
|
data["defval"] = curslider->defval;
|
||||||
flags |= MENU_FLAG_RIGHT_ARROW;
|
data["incval"] = curslider->incval;
|
||||||
item_append(curslider->description, tempstring, flags, (void *)curslider);*/
|
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;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
0
web/driver.html
Normal file
0
web/driver.html
Normal file
0
web/image.html
Normal file
0
web/image.html
Normal file
@ -26,9 +26,9 @@
|
|||||||
document.getElementById('main').innerHTML = '<center><img src="/screenshot.png"/></center>';
|
document.getElementById('main').innerHTML = '<center><img src="/screenshot.png"/></center>';
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadCommands()
|
function loadContent(htmlName)
|
||||||
{
|
{
|
||||||
$("#main").load('commands.html', function () {
|
$("#main").load(htmlName+'.html', function () {
|
||||||
$(this).trigger('create');
|
$(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('<label for="slider-mini">'+data[i].description +':</label>');
|
||||||
|
items.push('<input type="range" name="slider-mini" id="slider-mini" value="'+data[i].curval+'" min="'+data[i].minval+'" max="'+data[i].maxval+'" step=="'+data[i].incval+'" data-highlight="true" data-mini="true" />');
|
||||||
|
}
|
||||||
|
$('#main').html('');
|
||||||
|
$('#main').append(items.join('')).trigger('create');
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function (request, status, error) { alert(status + ", " + error); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function startWebSocket() {
|
function startWebSocket() {
|
||||||
var url = 'ws://localhost:8080/foo';
|
var url = 'ws://localhost:8080/foo';
|
||||||
@ -95,16 +115,16 @@
|
|||||||
<div data-role="navbar" data-iconpos="top">
|
<div data-role="navbar" data-iconpos="top">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="#page1" data-transition="fade" data-icon="bars">Driver</a>
|
<a href="javascript:loadContent('driver');" data-transition="fade" data-icon="bars">Driver</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#page1" data-transition="fade" data-icon="gear">Options</a>
|
<a href="javascript:loadContent('options');" data-transition="fade" data-icon="gear">Options</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#page1" data-transition="fade" data-icon="grid">Image</a>
|
<a href="javascript:loadContent('image');" data-transition="fade" data-icon="grid">Image</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:loadCommands();" data-transition="fade" data-icon="star">Commands</a>
|
<a href="javascript:loadContent('commands');" data-transition="fade" data-icon="star">Commands</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -115,10 +135,10 @@
|
|||||||
<div data-role="navbar" data-iconpos="top">
|
<div data-role="navbar" data-iconpos="top">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="#page1" data-transition="fade" data-icon="info">Info</a>
|
<a href="javascript:loadContent('info');" data-transition="fade" data-icon="info">Info</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#page1" data-transition="fade" data-icon="check">Logs</a>
|
<a href="javascript:loadContent('logs');" data-transition="fade" data-icon="check">Logs</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:takeScreenshot();" data-transition="fade" data-icon="search">Screenshot</a>
|
<a href="javascript:takeScreenshot();" data-transition="fade" data-icon="search">Screenshot</a>
|
||||||
|
0
web/info.html
Normal file
0
web/info.html
Normal file
0
web/logs.html
Normal file
0
web/logs.html
Normal file
1
web/options.html
Normal file
1
web/options.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<a href="javascript:executeSlider();" data-role="button">Slider</a>
|
Loading…
Reference in New Issue
Block a user