Added sliders

This commit is contained in:
Cooldude2606
2019-09-01 17:18:19 +01:00
parent 129610679e
commit 71b0e16bd0
101 changed files with 549 additions and 161 deletions

View File

@@ -348,7 +348,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -349,7 +349,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -376,7 +376,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -585,7 +585,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -349,7 +349,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -404,7 +404,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -460,7 +460,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -404,7 +404,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -320,7 +320,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -404,7 +404,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -376,7 +376,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -388,7 +388,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -500,7 +500,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -361,7 +361,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -388,7 +388,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -365,7 +365,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -360,7 +360,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -404,7 +404,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -458,7 +458,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -416,7 +416,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -611,7 +611,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -389,7 +389,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -360,7 +360,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -388,7 +388,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -321,7 +321,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -585,7 +585,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -557,7 +557,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -389,7 +389,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -443,7 +443,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -484,7 +484,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -569,7 +569,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -506,7 +506,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -237,7 +237,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -485,7 +485,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -294,7 +294,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -320,7 +320,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -442,7 +442,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -354,7 +354,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -338,7 +338,7 @@ see ./expcore/commands.lua for more details</p>
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -354,7 +354,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -416,7 +416,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -237,7 +237,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -240,7 +240,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -295,7 +295,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -812,7 +812,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -384,7 +384,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -414,7 +414,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -324,7 +324,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -414,7 +414,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -834,7 +834,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -292,7 +292,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -354,7 +354,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -388,7 +388,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -744,7 +744,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -384,7 +384,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -355,7 +355,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -684,7 +684,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1208,7 +1208,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1329,7 +1329,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1110,7 +1110,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -984,7 +984,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1039,7 +1039,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1465,7 +1465,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1413,7 +1413,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1972,7 +1972,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -369,6 +369,10 @@
<td class="name"><a href="#table_insert">table_insert(tbl[, start_index], tbl2)</a></td>
<td class="summary">Much faster method for inserting keys into a table</td>
</tr>
<tr>
<td class="name"><a href="#resolve_value">resolve_value(value)</a></td>
<td class="summary">Used to resolve a value that could also be a function returning that value</td>
</tr>
</tbody>
</table>
<!-- module section list end -->
@@ -2664,6 +2668,68 @@ Common.array_insert(tbl,<span class="number">500</span>,values) -- around <span
Common.table_insert(tbl,<span class="number">50</span>,tbl2)</code></pre>
<!-- usage end -->
</dd>
<dt>
<div class="divider divider-custom"></div>
<div class="block section-item-header">
<a href="#resolve_value" class="fragment-hashtag">#</a>
<span class="section-item-title" id="resolve_value">resolve_value(value)</span>
</div>
</dt>
<dd>
<div class="section-item-body">
<p class="section-item-summary">Used to resolve a value that could also be a function returning that value</p>
<p class="section-item-description"></p>
<!-- parameters start -->
<strong>Parameters:</strong>
<ul>
<li class="section-subitem-li">
<strong><em>value</em></strong>
<strong> : </strong>
(<span class="types"><span class="type">any</span></span>)
the value which you want to test is not nil and if it is a function then call the function
</li>
</ul>
<!-- parameters end -->
<!-- returns start -->
<strong>Returns:</strong>
<ul>
<li>
(<span class="types"><span class="type">any</span></span>)
<span class="return-text">the value given or returned by value if it is a function</span>
</li>
</ul>
<!-- returns end -->
<!-- see also start -->
<!-- see also end -->
<!-- usage start -->
<strong>Usage:</strong>
<pre class="code" data-lang="Lua"><code><span class="comment">-- Default value handling
</span><span class="comment">-- if default value is not a function then it is returned
</span><span class="comment">-- if it is a function then it is called with the first argument being self
</span><span class="keyword">local</span> value = Common.resolve_value(self.defaut_value,self)</code></pre>
<!-- usage end -->
</dd>
</dl>
@@ -2680,7 +2746,7 @@ Common.table_insert(tbl,<span class="number">50</span>,tbl2)</code></pre>
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -344,6 +344,10 @@ button:clone(<span class="string">'CustomButton'</span>)
<td class="name"><a href="#progress_bar">progress_bar</a></td>
<td class="summary">The basic checkbox element</td>
</tr>
<tr>
<td class="name"><a href="#slider">slider</a></td>
<td class="summary">The basic slider element</td>
</tr>
</tbody>
</table>
<table class="section-content-list">
@@ -777,7 +781,7 @@ Gui.clone_concept(<span class="string">'button'</span>,<span class="string">'spr
<li class="section-subitem-li">
<strong><em>on_state_change</em></strong>
<strong><em>on_state_changed</em></strong>
<strong> : </strong>
@@ -822,6 +826,22 @@ Gui.clone_concept(<span class="string">'button'</span>,<span class="string">'spr
<li class="section-subitem-li">
<strong><em>default</em></strong>
<strong> : </strong>
(<span class="types"><a class="type" href="http://lua-api.factorio.com/latest/Builtin-Types.html#boolean">boolean</a> or <a class="type" href="https://www.lua.org/pil/2.6.html">function</a></span>)
the default state of this checkbox, or a function which returns the default state
</li>
<li class="section-subitem-li">
<strong><em>use_radio</em></strong>
@@ -853,7 +873,7 @@ Gui.clone_concept(<span class="string">'button'</span>,<span class="string">'spr
Gui.clone_concept(<span class="string">'checkbox'</span>,<span class="string">'basic_checkbox'</span>)
:set_caption(<span class="string">'Basic Checkbox'</span>)
:set_tooltip(<span class="string">'Basic checkbox'</span>)
:on_state_change(<span class="keyword">function</span>(event)
:on_state_changed(<span class="keyword">function</span>(event)
event.player.<span class="global">print</span>(<span class="string">'Basic checkbox is now: '</span>..<span class="global">tostring</span>(event.element.state))
<span class="keyword">end</span>)</code></pre>
<!-- usage end -->
@@ -883,7 +903,7 @@ Gui.clone_concept(<span class="string">'checkbox'</span>,<span class="string">'b
<li class="section-subitem-li">
<strong><em>on_selection_change</em></strong>
<strong><em>on_selection_changed</em></strong>
<strong> : </strong>
@@ -898,7 +918,7 @@ Gui.clone_concept(<span class="string">'checkbox'</span>,<span class="string">'b
<li class="section-subitem-li">
<strong><em>default_selection</em></strong>
<strong><em>default</em></strong>
<strong> : </strong>
@@ -974,7 +994,7 @@ Gui.clone_concept(<span class="string">'checkbox'</span>,<span class="string">'b
</span><span class="keyword">local</span> static_dropdown =
Gui.clone_concept(<span class="string">'dropdown'</span>,<span class="string">'static_dropdown'</span>)
:set_static_items{<span class="string">'Option 1'</span>,<span class="string">'Option 2'</span>,<span class="string">'Option 3'</span>}
:on_selection_change(<span class="keyword">function</span>(event)
:on_selection_changed(<span class="keyword">function</span>(event)
<span class="keyword">local</span> value = Gui.get_dropdown_value(event.element)
event.player.<span class="global">print</span>(<span class="string">'Static dropdown is now: '</span>..value)
<span class="keyword">end</span>)</code></pre>
@@ -988,7 +1008,7 @@ Gui.clone_concept(<span class="string">'dropdown'</span>,<span class="string">'d
<span class="keyword">end</span>
<span class="keyword">return</span> items
<span class="keyword">end</span>)
:on_selection_change(<span class="keyword">function</span>(event)
:on_selection_changed(<span class="keyword">function</span>(event)
<span class="keyword">local</span> value = Gui.get_dropdown_value(event.element)
event.player.<span class="global">print</span>(<span class="string">'Dynamic dropdown is now: '</span>..value)
<span class="keyword">end</span>)</code></pre>
@@ -1019,7 +1039,7 @@ Gui.clone_concept(<span class="string">'dropdown'</span>,<span class="string">'d
<li class="section-subitem-li">
<strong><em>on_selection_change</em></strong>
<strong><em>on_selection_changed</em></strong>
<strong> : </strong>
@@ -1034,7 +1054,7 @@ Gui.clone_concept(<span class="string">'dropdown'</span>,<span class="string">'d
<li class="section-subitem-li">
<strong><em>default_selection</em></strong>
<strong><em>default</em></strong>
<strong> : </strong>
@@ -1077,7 +1097,7 @@ Gui.clone_concept(<span class="string">'dropdown'</span>,<span class="string">'d
<pre class="code" data-lang="Lua"><code><span class="comment">-- Making a basic elem button
</span><span class="keyword">local</span> basic_elem_button =
Gui.clone_concept(<span class="string">'elem_button'</span>,<span class="string">'basic_elembutton'</span>)
:on_selection_change(<span class="keyword">function</span>(event)
:on_selection_changed(<span class="keyword">function</span>(event)
event.player.<span class="global">print</span>(<span class="string">'Basic elem button is now: '</span>..event.element.elem_value)
<span class="keyword">end</span>)</code></pre>
<!-- usage end -->
@@ -1286,6 +1306,136 @@ Gui.clone_concept(<span class="string">'progress_bar'</span>,<span class="string
<span class="keyword">end</span>)</code></pre>
<!-- usage end -->
</dd>
<dt>
<div class="divider divider-custom"></div>
<div class="block section-item-header">
<a href="#slider" class="fragment-hashtag">#</a>
<span class="section-item-title" id="slider">slider</span>
</div>
</dt>
<dd>
<div class="section-item-body">
<p class="section-item-summary">The basic slider element</p>
<p class="section-item-description"></p>
<!-- parameters start -->
<strong>Properties / Events:</strong>
<ul>
<li class="section-subitem-li">
<strong><em>on_value_changed</em></strong>
<strong> : </strong>
fired when the value of the slider is changed
</li>
<li class="section-subitem-li">
<strong><em>value_step</em></strong>
<strong> : </strong>
(<span class="types"><a class="type" href="https://www.lua.org/pil/2.3.html">number</a></span>)
the minimum amount by which the value of the slider can be changed
</li>
<li class="section-subitem-li">
<strong><em>default</em></strong>
<strong> : </strong>
(<span class="types"><a class="type" href="https://www.lua.org/pil/2.3.html">number</a> or <a class="type" href="https://www.lua.org/pil/2.6.html">function</a></span>)
the default value of the slider or a function which returns the default value
</li>
<li class="section-subitem-li">
<strong><em>discrete_slider</em></strong>
<strong> : </strong>
(<span class="types"><a class="type" href="http://lua-api.factorio.com/latest/Builtin-Types.html#boolean">boolean</a></span>)
makes this slider a discrete slider (at time of writing unsure what this is)
</li>
<li class="section-subitem-li">
<strong><em>range</em></strong>
<strong> : </strong>
(<span class="types"><a class="type" href="https://www.lua.org/pil/2.3.html">number</a> or <a class="type" href="https://www.lua.org/pil/2.6.html">function</a></span>)
accepts two params the minimum and the maximum for this slider, or a single function to return both
</li>
</ul>
<!-- parameters end -->
<!-- returns start -->
<!-- returns end -->
<!-- see also start -->
<!-- see also end -->
<!-- usage start -->
<strong>Usage:</strong>
<pre class="code" data-lang="Lua"><code><span class="comment">-- Making a basic slider
</span><span class="keyword">local</span> basic_slider =
Gui.clone_concept(<span class="string">'slider'</span>,<span class="string">'basic_slider'</span>)
:set_range(<span class="number">1</span>,<span class="number">10</span>)
:on_value_changed(<span class="keyword">function</span>(event)
event.player.<span class="global">print</span>(<span class="string">'Basic slider is now: '</span>..event.element.slider_value)
<span class="keyword">end</span>)</code></pre>
<pre class="code" data-lang="Lua"><code><span class="comment">-- Making a discrete_slider
</span><span class="keyword">local</span> discrete_slider =
Gui.clone_concept(<span class="string">'slider'</span>,<span class="string">'discrete_slider'</span>)
:set_range(<span class="number">1</span>,<span class="number">10</span>)
:set_value_step(<span class="number">1</span>)
:set_discrete_slider(<span class="keyword">true</span>)
:on_value_changed(<span class="keyword">function</span>(event)
event.player.<span class="global">print</span>(<span class="string">'Interval slider is now: '</span>..event.element.slider_value)
<span class="keyword">end</span>)</code></pre>
<!-- usage end -->
</dd>
</dl>
<h3><span id="Dropdowns" class="section-title"><a href="#Dropdowns">Dropdowns </a></span></h3>
@@ -4285,12 +4435,12 @@ custom_button.update_data(<span class="number">1</span>,<span class="keyword">fu
Gui.get_concept(<span class="string">'checkbox'</span>):clone(<span class="string">'my_checkbox'</span>)
:set_caption(<span class="string">'My Checkbox'</span>)
:set_tooltip(<span class="string">'Clicking this check box will change it for everyone'</span>)
:on_state_change(<span class="keyword">function</span>(event)
:on_state_changed(<span class="keyword">function</span>(event)
<span class="keyword">local</span> element = event.element
event.concept.set_data(element,element.state) <span class="comment">-- Update the stored data to trigger an update of all other instances
</span><span class="keyword">end</span>)
:define_combined_store(<span class="keyword">function</span>(element,state) <span class="comment">-- We could add a category function here if we wanted to
</span> element.state = state <span class="keyword">or</span> <span class="keyword">false</span> <span class="comment">-- When you sync an instance this is what is called
</span> element.state = state <span class="keyword">or</span> <span class="keyword">false</span> <span class="comment">-- Note that the value passed may be nil if there is no stored value and no default set
</span><span class="keyword">end</span>)</code></pre>
<!-- usage end -->
@@ -4440,7 +4590,7 @@ Gui.get_concept(<span class="string">'CustomButton'</span>)
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1432,7 +1432,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -3152,7 +3152,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1145,7 +1145,7 @@ Store.register(team_scores,<span class="keyword">function</span>(value,key)
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -544,7 +544,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -626,7 +626,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -629,7 +629,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -449,7 +449,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -632,7 +632,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -837,7 +837,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -510,7 +510,7 @@ see ./expcore/commands.lua for more details</span></td>
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -351,7 +351,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -419,7 +419,7 @@ fraction will decide a chance to spawn. 1 alien for 2 spawner's will have 50% on
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1164,7 +1164,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -654,7 +654,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -323,7 +323,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1292,7 +1292,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -434,7 +434,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -338,7 +338,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -441,7 +441,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -752,7 +752,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -1382,7 +1382,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -651,7 +651,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -442,7 +442,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -789,7 +789,7 @@ Public License instead of this License. But first, please read
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -332,7 +332,7 @@
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc </a></i>
</div>
<div class="content-footer column col-9 col-sm-12">
<i>Last updated 2019-08-31 17:46:10 UTC</i>
<i>Last updated 2019-09-01 17:18:10 UTC</i>
</div>
</div>
</div>

View File

@@ -682,4 +682,22 @@ function Common.table_insert(tbl,start_index,tbl2)
return tbl
end
--[[-- Used to resolve a value that could also be a function returning that value
@tparam any value the value which you want to test is not nil and if it is a function then call the function
@treturn any the value given or returned by value if it is a function
@usage-- Default value handling
-- if default value is not a function then it is returned
-- if it is a function then it is called with the first argument being self
local value = Common.resolve_value(self.defaut_value,self)
]]
function Common.resolve_value(value,...)
if value then
if type(value) == 'function' then
return value(...)
else
return value
end
end
end
return Common

View File

@@ -73,5 +73,6 @@ Gui.require_concept('checkbox')
Gui.require_concept('dropdown')
Gui.require_concept('elem_button')
Gui.require_concept('progress_bar')
Gui.require_concept('slider')
return Gui

View File

@@ -7,33 +7,42 @@ local Gui = require 'expcore.gui.core'
--[[-- The basic checkbox element
@element checkbox
@param on_state_change fired when the state of the element is changed
@param on_state_changed fired when the state of the element is changed
@tparam ?string|Concepts.LocalisedString caption the message that is shown next to the checkbox
@tparam ?string|Concepts.LocalisedString tooltip the tooltip that shows when a player hovers over the checkbox
@tparam ?boolean|function default the default state of this checkbox, or a function which returns the default state
@tparam boolean use_radio setting to true will use radio buttons rather than checkboxs
@usage-- Making a basic checkbox
local basic_checkbox =
Gui.clone_concept('checkbox','basic_checkbox')
:set_caption('Basic Checkbox')
:set_tooltip('Basic checkbox')
:on_state_change(function(event)
:on_state_changed(function(event)
event.player.print('Basic checkbox is now: '..tostring(event.element.state))
end)
]]
Gui.new_concept('checkbox')
:new_event('on_state_change',defines.events.on_gui_checked_state_changed)
:new_event('on_state_changed',defines.events.on_gui_checked_state_changed)
:new_property('tooltip')
:new_property('caption')
:new_property('default_state',false)
:new_property('default',false)
:new_property('use_radio',false)
:define_draw(function(properties,parent,element)
local default = properties.default
local state = type(default) == 'boolean' and default
element = parent.add{
name = properties.name,
type = properties.use_radio and 'radiobutton' or 'checkbox',
caption = properties.caption,
tooltip = properties.tooltip,
state = properties.default_state
state = state
}
default = Gui.resolve_property(default,element)
if default and default ~= state then
element.state = default
end
return element
end)

View File

@@ -8,8 +8,8 @@ local array_insert = ext_require('expcore.common','array_insert')
--[[-- The basic dropdown element
@element dropdown
@param on_selection_change fired when the selected value is changed
@tparam ?string|Concepts.LocalisedString|function default_selection the option which is selected by default, or a function which returns the default
@param on_selection_changed fired when the selected value is changed
@tparam ?string|Concepts.LocalisedString|function default the option which is selected by default, or a function which returns the default
@tparam boolean use_list_box when true a list box will be used rather than a dropdown menu
@tparam ?nil|table static_items when called with a table the values will be added as items for the dropdown, if called with nil then all items are cleared
@tparam function dynamic_items the given function will be called to return a list of items and optional start index to add items to the dropdown when it is first drawn
@@ -17,7 +17,7 @@ local array_insert = ext_require('expcore.common','array_insert')
local static_dropdown =
Gui.clone_concept('dropdown','static_dropdown')
:set_static_items{'Option 1','Option 2','Option 3'}
:on_selection_change(function(event)
:on_selection_changed(function(event)
local value = Gui.get_dropdown_value(event.element)
event.player.print('Static dropdown is now: '..value)
end)
@@ -31,14 +31,14 @@ Gui.clone_concept('dropdown','dynamic_dropdown')
end
return items
end)
:on_selection_change(function(event)
:on_selection_changed(function(event)
local value = Gui.get_dropdown_value(event.element)
event.player.print('Dynamic dropdown is now: '..value)
end)
]]
Gui.new_concept('dropdown')
:new_event('on_selection_change',defines.events.on_gui_selection_state_changed)
:new_property('default_selection')
:new_event('on_selection_changed',defines.events.on_gui_selection_state_changed)
:new_property('default')
:new_property('use_list_box',false)
:new_property('static_items',nil,function(properties,value,start_index)
if not value then
@@ -87,12 +87,8 @@ end)
end
end
if properties.default_selection then
local default = properties.default_selection
if type(default) == 'function' then
default = default(element)
end
local default = Gui.resolve_property(properties.default,element)
if default then
Gui.set_dropdown_value(element,default)
end

View File

@@ -7,42 +7,30 @@ local Gui = require 'expcore.gui.core'
--[[-- The basic dropdown element
@element elem_button
@param on_selection_change fired when the selected value is changed
@tparam ?string|Concepts.SignalID|function default_selection the option which is selected by default, or a function which returns the default
@param on_selection_changed fired when the selected value is changed
@tparam ?string|Concepts.SignalID|function default the option which is selected by default, or a function which returns the default
@tparam string elem_type the type of elem selection that this is, default is item selection
@usage-- Making a basic elem button
local basic_elem_button =
Gui.clone_concept('elem_button','basic_elembutton')
:on_selection_change(function(event)
:on_selection_changed(function(event)
event.player.print('Basic elem button is now: '..event.element.elem_value)
end)
]]
Gui.new_concept('elem_button')
:new_event('on_selection_change',defines.events.on_gui_elem_changed)
:new_property('default_selection')
:new_event('on_selection_changed',defines.events.on_gui_elem_changed)
:new_property('default')
:new_property('elem_type','item')
:define_draw(function(properties,parent,element,selection)
:define_draw(function(properties,parent,element)
element = parent.add{
name = properties.name,
type = 'choose-elem-button',
elem_type = properties.elem_type
}
if properties.default_selection and not selection then
local default = properties.default_selection
if type(default) == 'function' then
default = default(element)
end
local default = Gui.resolve_property(properties.default,element)
if default then
element.elem_value = default
elseif selection then
if type(selection) == 'function' then
selection = selection(element)
end
element.elem_value = selection
end
return element

View File

@@ -0,0 +1,75 @@
--[[-- Core Module - Gui
@module Gui
@alias Gui
]]
local Gui = require 'expcore.gui.core'
--[[-- The basic slider element
@element slider
@param on_value_changed fired when the value of the slider is changed
@tparam number value_step the minimum amount by which the value of the slider can be changed
@tparam ?number|function default the default value of the slider or a function which returns the default value
@tparam boolean discrete_slider makes this slider a discrete slider (at time of writing unsure what this is)
@tparam ?number|function range accepts two params the minimum and the maximum for this slider, or a single function to return both
@usage-- Making a basic slider
local basic_slider =
Gui.clone_concept('slider','basic_slider')
:set_range(1,10)
:on_value_changed(function(event)
event.player.print('Basic slider is now: '..event.element.slider_value)
end)
@usage-- Making a discrete_slider
local discrete_slider =
Gui.clone_concept('slider','discrete_slider')
:set_range(1,10)
:set_value_step(1)
:set_discrete_slider(true)
:on_value_changed(function(event)
event.player.print('Interval slider is now: '..event.element.slider_value)
end)
]]
Gui.new_concept('slider')
:new_event('on_value_changed',defines.events.on_gui_value_changed)
:new_property('value_step')
:new_property('default')
:new_property('discrete_slider',false)
:new_property('range',nil,function(properties,minimum,maximum)
if type(minimum) == 'function' then
properties.range = minimum
else
properties.minimum = minimum
properties.maximum = maximum
end
end)
:define_draw(function(properties,parent,element)
local default = properties.default
local value = type(default) == 'number' and default
local value_step = properties.value_step
element = parent.add{
name = properties.name,
type = 'slider',
caption = properties.caption,
minimum_value = properties.minimum,
maximum_value = properties.maximum,
discrete_slider = properties.discrete_slider,
discrete_values = value_step ~= nil,
value_step = value_step,
value = value
}
local min, max = Gui.resolve_property(properties.range,element)
if min or max then
min = min or element.get_slider_minimum()
max = max or element.get_slider_maximum()
element.set_slider_minimum_maximum(min,max)
end
default = Gui.resolve_property(default,element)
if default and default ~= value then
element.slider_value = default
end
return element
end)

View File

@@ -4,6 +4,7 @@
]]
local Game = require 'utils.game' -- @dep utils.game
local resolve_value = ext_require('expcore.common','resolve_value') -- @dep expcore.common
local Prototype = require 'expcore.gui.prototype'
local Gui = {
@@ -186,6 +187,18 @@ function Gui.set_padding(element,up,down,left,right)
style.right_padding = right == true and style.top_padding or right or 0
end
--[[ Used to check a property exists and if it is a function then call the function
@tparam any value the value that you are testing exists and call if its a function
@tparam LuaGuiElement element the element that is passed to the function if it is a function
@treturn any the value or what it returns if it is a function
@usage-- Getting the default value
local default = Gui.resolve_property(properties.default,element)
if default then
element.value = default
end
]]
Gui.resolve_property = resolve_value
--- Store Categories.
-- Functions that are common types of categories
-- @section store-categories

View File

@@ -517,12 +517,13 @@ end)
for key,instance in pairs(instances) do
if not instance or not instance.valid then
instances[key] = nil
end
if args then
update_callback(instance,unpack(args))
else
update_callback(instance,...)
if args then
update_callback(instance,unpack(args))
else
update_callback(instance,...)
end
end
end
end
@@ -647,12 +648,12 @@ local custom_button =
Gui.get_concept('checkbox'):clone('my_checkbox')
:set_caption('My Checkbox')
:set_tooltip('Clicking this check box will change it for everyone')
:on_state_change(function(event)
:on_state_changed(function(event)
local element = event.element
event.concept.set_data(element,element.state) -- Update the stored data to trigger an update of all other instances
end)
:define_combined_store(function(element,state) -- We could add a category function here if we wanted to
element.state = state or false -- When you sync an instance this is what is called
element.state = state or false -- Note that the value passed may be nil if there is no stored value and no default set
end)
]]
function Prototype:define_combined_store(category_callback,sync_callback)
@@ -679,8 +680,11 @@ Gui.get_concept('CustomButton')
-- Used internally when first draw and automatically when the store updates
custom_button.sync_instance(element)
]]
local properties = self.properties
function self.sync_instance(element)
sync_callback(element,self.get_data(element))
local default = properties.default
local value = self.get_data(element) or type(default) == 'function' and default(element) or default
sync_callback(element,value)
end
return self

Some files were not shown because too many files have changed in this diff Show More