Mercurial > projects > mde
diff mde/gui/widget/ParentContent.d @ 172:0dd49f333189
Implemented "void setContent (IContent)".
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Wed, 29 Jul 2009 20:28:22 +0200 |
parents | e45226d3deae |
children | a1ba9157510e |
line wrap: on
line diff
--- a/mde/gui/widget/ParentContent.d Sun Jul 26 11:04:17 2009 +0200 +++ b/mde/gui/widget/ParentContent.d Wed Jul 29 20:28:22 2009 +0200 @@ -163,6 +163,9 @@ override IContent content () { return content_; } + override void setContent (IContent) { + logger.warn ("SwitchWidget: resetting content is not yet supported"); + } override bool setup (uint n, uint flags) { bool r = super.setup (n, flags); @@ -296,6 +299,15 @@ override IContent content () { return content_; } + override void setContent (IContent c) { + auto cont = cast(IBoolContent) c; + if (!cont) { + logger.warn ("CollapsibleWidget: invalid content set: {}; ignoring", c); + return; + } + content_ = cont; + collapse (content_); + } override void minWChange (IChildWidget widget, wdim nmw) { debug assert (widget is subWidgets[0]); @@ -344,6 +356,7 @@ protected: // callback on content_ void collapse (IContent) { + if (collapsed == content_()) return; collapsed = content_(); if (collapsed) { mw = mh = 0; @@ -391,6 +404,10 @@ return true; } + override void setContent (IContent c) { + subWidgets[0].setContent = c; + } + override void setWidth (wdim nw, int) { debug assert (nw >= mw); w = nw;