Mercurial > projects > dynamin
comparison dynamin/gui/radio_button.d @ 35:ee9a564d2814
Allow more use of Containers versus Panels.
author | Jordan Miner <jminer7@gmail.com> |
---|---|
date | Mon, 27 Jul 2009 01:35:35 -0500 |
parents | aa4efef0f0b1 |
children | 6b264c92da34 |
comparison
equal
deleted
inserted
replaced
34:e4d290aaa7ed | 35:ee9a564d2814 |
---|---|
43 RadioButton[] collectGroup(ref int checkedIndex) { | 43 RadioButton[] collectGroup(ref int checkedIndex) { |
44 Window topLevel = cast(Window)getTopLevel(); | 44 Window topLevel = cast(Window)getTopLevel(); |
45 if(!topLevel) | 45 if(!topLevel) |
46 return null; | 46 return null; |
47 RadioButton[] radios; | 47 RadioButton[] radios; |
48 void collectFromPanel(Panel container) { | 48 void collectFromPanel(Container container) { |
49 foreach(control; container) { | 49 foreach(control; container) { |
50 if(auto r = cast(RadioButton)control) { | 50 if(auto r = cast(RadioButton)control) { |
51 if(r.group != group) | 51 if(r.group != group) |
52 continue; | 52 continue; |
53 radios.length = radios.length + 1; | 53 radios.length = radios.length + 1; |
54 radios[$-1] = r; | 54 radios[$-1] = r; |
55 if(r.checked) | 55 if(r.checked) |
56 checkedIndex = radios.length-1; | 56 checkedIndex = radios.length-1; |
57 } else if(auto c = cast(Panel)control) | 57 } else if(auto c = cast(Container)control) |
58 collectFromPanel(c); | 58 collectFromPanel(c); |
59 } | 59 } |
60 } | 60 } |
61 checkedIndex = -1; | 61 checkedIndex = -1; |
62 collectFromPanel(topLevel.content); | 62 collectFromPanel(topLevel.content); |