mirror of
https://github.com/holub/mame
synced 2025-04-17 22: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-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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
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>';
|
||||
}
|
||||
|
||||
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('<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() {
|
||||
var url = 'ws://localhost:8080/foo';
|
||||
@ -95,16 +115,16 @@
|
||||
<div data-role="navbar" data-iconpos="top">
|
||||
<ul>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
@ -115,10 +135,10 @@
|
||||
<div data-role="navbar" data-iconpos="top">
|
||||
<ul>
|
||||
<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>
|
||||
<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>
|
||||
<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