mirror of
https://github.com/nim-lang/Nim.git
synced 2026-05-04 04:54:49 +00:00
make twidgets example green (#11135)
This commit is contained in:
@@ -7,8 +7,8 @@ mygeneric1 constructed
|
||||
mygeneric1 destroyed
|
||||
----
|
||||
mygeneric2 constructed
|
||||
myobj destroyed
|
||||
mygeneric2 destroyed
|
||||
myobj destroyed
|
||||
----
|
||||
mygeneric3 constructed
|
||||
mygeneric1 destroyed
|
||||
@@ -20,10 +20,10 @@ mygeneric2 destroyed
|
||||
----
|
||||
----
|
||||
myobj destroyed
|
||||
myobj destroyed
|
||||
myobj destroyed
|
||||
myobj destroyed
|
||||
mygeneric1 destroyed
|
||||
myobj destroyed
|
||||
myobj destroyed
|
||||
myobj destroyed
|
||||
---
|
||||
myobj destroyed
|
||||
myobj destroyed
|
||||
|
||||
@@ -4,8 +4,8 @@ destroy
|
||||
destroy
|
||||
5
|
||||
123
|
||||
destroy Foo: 5
|
||||
destroy Foo: 123'''
|
||||
destroy Foo: 123
|
||||
destroy Foo: 5'''
|
||||
joinable: false
|
||||
"""
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
discard """
|
||||
cmd: '''nim c --newruntime $file'''
|
||||
output: '''button
|
||||
clicked!'''
|
||||
disabled: "true"
|
||||
clicked!
|
||||
1 1 alloc/dealloc pairs: 0'''
|
||||
"""
|
||||
|
||||
import core / allocators
|
||||
@@ -41,13 +41,14 @@ iterator unitems*[T](a: seq[owned T]): T {.inline.} =
|
||||
assert(len(a) == L, "seq modified while iterating over it")
|
||||
|
||||
proc newWindow(): owned Window =
|
||||
proc draw(self: Widget) =
|
||||
proc windraw(self: Widget) =
|
||||
let w = Window(self)
|
||||
for e in unitems(w.elements):
|
||||
for i in 0..<len(w.elements):
|
||||
let e = Widget(w.elements[i])
|
||||
let d = (proc(self: Widget))e.drawImpl
|
||||
if not d.isNil: d(e)
|
||||
|
||||
result = Window(drawImpl: draw, elements: @[])
|
||||
result = Window(drawImpl: windraw, elements: @[])
|
||||
|
||||
proc draw(w: Widget) =
|
||||
let d = (proc(self: Widget))w.drawImpl
|
||||
@@ -60,14 +61,14 @@ proc main =
|
||||
var w = newWindow()
|
||||
|
||||
var b = newButton("button", nil)
|
||||
#let u: Button = b
|
||||
let u: Button = b
|
||||
b.onclick = proc () =
|
||||
b.caption = "clicked!"
|
||||
w.add b
|
||||
|
||||
w.draw()
|
||||
# simulate button click:
|
||||
#u.onclick()
|
||||
u.onclick()
|
||||
|
||||
w.draw()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user