@@ -226,7 +226,7 @@ function Widgets.base:getInfo()
226
226
end
227
227
return str
228
228
end
229
- function Widgets .base :reset ()
229
+ function Widgets .base :reset (init )
230
230
assert (not self .name or type (self .name )== ' string' ," [widget].name need string" )
231
231
232
232
assert (type (self .x )== ' number' ," [widget].x need number" )
@@ -304,10 +304,12 @@ function Widgets.base:reset()
304
304
if self ._visible == nil then
305
305
self ._visible = true
306
306
end
307
- if self .visibleFunc then
308
- self ._visible = self .visibleFunc ()
309
- elseif self .visibleTick then
310
- self ._visible = self .visibleTick ()
307
+ if not init then
308
+ if self .visibleFunc then
309
+ self ._visible = self .visibleFunc ()
310
+ elseif self .visibleTick then
311
+ self ._visible = self .visibleTick ()
312
+ end
311
313
end
312
314
end
313
315
function Widgets .base :setVisible (bool )
@@ -360,8 +362,8 @@ Widgets.text=setmetatable({
360
362
' visibleTick' ,
361
363
},
362
364
},{__index = Widgets .base ,__metatable = true })
363
- function Widgets .text :reset ()
364
- Widgets .base .reset (self )
365
+ function Widgets .text :reset (init )
366
+ Widgets .base .reset (self , init )
365
367
end
366
368
function Widgets .text :draw ()
367
369
if self ._text then
@@ -396,8 +398,8 @@ Widgets.image=setmetatable({
396
398
' visibleTick' ,
397
399
},
398
400
},{__index = Widgets .base ,__metatable = true })
399
- function Widgets .image :reset ()
400
- Widgets .base .reset (self )
401
+ function Widgets .image :reset (init )
402
+ Widgets .base .reset (self , init )
401
403
assert (not self .k or not (self .w or self .h )," [image].w/h and .k cannot appear simultaneously" )
402
404
if not self ._image then return end
403
405
@@ -414,7 +416,7 @@ function Widgets.image:reset()
414
416
end
415
417
function Widgets .image :setImage (_img )
416
418
self .image = _img
417
- self :reset ()
419
+ self :reset (init )
418
420
end
419
421
function Widgets .image :draw ()
420
422
if self ._image then
@@ -458,9 +460,9 @@ Widgets.button=setmetatable({
458
460
' visibleTick' ,
459
461
},
460
462
},{__index = Widgets .base ,__metatable = true })
461
- function Widgets .button :reset ()
463
+ function Widgets .button :reset (init )
462
464
if self .textColor == false then self .textColor = self .color end
463
- Widgets .base .reset (self )
465
+ Widgets .base .reset (self , init )
464
466
if not self .h then self .h = self .w end
465
467
assert (self .w and type (self .w )== ' number' ," [button].w need number" )
466
468
assert (self .h and type (self .h )== ' number' ," [button].h need number" )
@@ -624,8 +626,8 @@ Widgets.checkBox=setmetatable({
624
626
' visibleTick' ,
625
627
},
626
628
},{__index = Widgets .base ,__metatable = true })
627
- function Widgets .checkBox :reset ()
628
- Widgets .base .reset (self )
629
+ function Widgets .checkBox :reset (init )
630
+ Widgets .base .reset (self , init )
629
631
630
632
assert (type (self .disp )== ' function' ," [checkBox].disp need function" )
631
633
assert (not self .sound_on or type (self .sound_on )== ' string' ," [checkBox].sound_on need string" )
@@ -731,8 +733,8 @@ Widgets.switch=setmetatable({
731
733
' visibleTick' ,
732
734
},
733
735
},{__index = Widgets .checkBox ,__metatable = true })
734
- function Widgets .switch :reset ()
735
- Widgets .base .reset (self )
736
+ function Widgets .switch :reset (init )
737
+ Widgets .base .reset (self , init )
736
738
737
739
assert (type (self .disp )== ' function' ," [switch].disp need function" )
738
740
@@ -887,8 +889,8 @@ local sliderShowFunc={
887
889
return floor (S ._pos0 * 100 + .5 ).. ' %'
888
890
end ,
889
891
}
890
- function Widgets .slider :reset ()
891
- Widgets .base .reset (self )
892
+ function Widgets .slider :reset (init )
893
+ Widgets .base .reset (self , init )
892
894
893
895
assert (self .w and type (self .w )== ' number' ," [slider].w need number" )
894
896
assert (type (self .numFontSize )== ' number' ," [widget].numFontSize need number" )
@@ -1095,8 +1097,8 @@ Widgets.slider_fill=setmetatable({
1095
1097
' visibleTick' ,
1096
1098
},
1097
1099
},{__index = Widgets .slider ,__metatable = true })
1098
- function Widgets .slider_fill :reset ()
1099
- Widgets .base .reset (self )
1100
+ function Widgets .slider_fill :reset (init )
1101
+ Widgets .base .reset (self , init )
1100
1102
1101
1103
assert (self .w and type (self .w )== ' number' ," [slider_fill].w need number" )
1102
1104
assert (self .h and type (self .h )== ' number' ," [slider_fill].h need number" )
@@ -1216,8 +1218,8 @@ Widgets.slider_progress=setmetatable({
1216
1218
' visibleTick' ,
1217
1219
},
1218
1220
},{__index = Widgets .slider ,__metatable = true })
1219
- function Widgets .slider_progress :reset ()
1220
- Widgets .base .reset (self )
1221
+ function Widgets .slider_progress :reset (init )
1222
+ Widgets .base .reset (self , init )
1221
1223
1222
1224
assert (self .w and type (self .w )== ' number' ," [slider_progress].w need number" )
1223
1225
assert (self .h and type (self .h )== ' number' ," [slider_progress].h need number" )
@@ -1320,8 +1322,8 @@ Widgets.selector=setmetatable({
1320
1322
' visibleTick' ,
1321
1323
},
1322
1324
},{__index = Widgets .base ,__metatable = true })
1323
- function Widgets .selector :reset ()
1324
- Widgets .base .reset (self )
1325
+ function Widgets .selector :reset (init )
1326
+ Widgets .base .reset (self , init )
1325
1327
1326
1328
assert (self .w and type (self .w )== ' number' ," [selector].w need number" )
1327
1329
assert (type (self .list )== ' table' ," [selector].list need table" )
@@ -1493,8 +1495,8 @@ Widgets.inputBox=setmetatable({
1493
1495
' visibleTick' ,
1494
1496
},
1495
1497
},{__index = Widgets .base ,__metatable = true })
1496
- function Widgets .inputBox :reset ()
1497
- Widgets .base .reset (self )
1498
+ function Widgets .inputBox :reset (init )
1499
+ Widgets .base .reset (self , init )
1498
1500
assert (self .w and type (self .w )== ' number' ," [inputBox].w need number" )
1499
1501
assert (self .h and type (self .h )== ' number' ," [inputBox].h need number" )
1500
1502
assert (not self .sound_input or type (self .sound_input )== ' string' ," [inputBox].sound_input need string" )
@@ -1673,8 +1675,8 @@ Widgets.textBox=setmetatable({
1673
1675
' visibleTick' ,
1674
1676
},
1675
1677
},{__index = Widgets .base ,__metatable = true })
1676
- function Widgets .textBox :reset ()
1677
- Widgets .base .reset (self )
1678
+ function Widgets .textBox :reset (init )
1679
+ Widgets .base .reset (self , init )
1678
1680
if type (self .scrollBarColor )== ' string' then self .scrollBarColor = COLOR [self .scrollBarColor ] end
1679
1681
assert (type (self .scrollBarColor )== ' table' ," [textBox].scrollBarColor need table" )
1680
1682
assert (self .w and type (self .w )== ' number' ," [textBox].w need number" )
@@ -1874,8 +1876,8 @@ Widgets.listBox=setmetatable({
1874
1876
' visibleTick' ,
1875
1877
},
1876
1878
},{__index = Widgets .base ,__metatable = true })
1877
- function Widgets .listBox :reset ()
1878
- Widgets .base .reset (self )
1879
+ function Widgets .listBox :reset (init )
1880
+ Widgets .base .reset (self , init )
1879
1881
if type (self .scrollBarColor )== ' string' then self .scrollBarColor = COLOR [self .scrollBarColor ] end
1880
1882
assert (type (self .scrollBarColor )== ' table' ," [listBox].scrollBarColor need table" )
1881
1883
assert (not self .sound_click or type (self .sound_click )== ' string' ," [listBox].sound_click need string" )
@@ -2321,7 +2323,7 @@ function WIDGET.new(args)
2321
2323
errorf (" WIDGET.new(args): Illegal argument %s for widget %s" ,k ,t )
2322
2324
end
2323
2325
end
2324
- w :reset ()
2326
+ w :reset (true )
2325
2327
2326
2328
return w
2327
2329
end
0 commit comments