]> gitweb.factorcode.org Git - factor.git/blob - extra/ui/gadgets/broken/broken.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / ui / gadgets / broken / broken.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel accessors ui ui.gadgets ui.gadgets.buttons ui.render ;
4 IN: ui.gadgets.broken
5
6 ! An intentionally broken gadget -- used to test UI error handling,
7 ! make sure that one bad gadget doesn't bring the whole system down
8
9 : <bad-button> ( -- button )
10     "Click me if you dare"
11     [ "Haha" throw ]
12     <bevel-button> ;
13
14 TUPLE: bad-gadget < gadget ;
15
16 M: bad-gadget draw-gadget* "Lulz" throw ;
17
18 M: bad-gadget pref-dim* drop { 100 100 } ;
19
20 : <bad-gadget> ( -- gadget ) bad-gadget new-gadget ;
21
22 : bad-gadget-test ( -- )
23     <bad-button> "Test 1" open-window
24     <bad-gadget> "Test 2" open-window ;
25
26 MAIN: bad-gadget-test