Mercurial > projects > mde
comparison mde/gui/widget/Floating.d @ 144:66c58e5b0062
Added a BoolContent-based collapsible widget.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Tue, 10 Feb 2009 12:57:09 +0000 |
parents | 29a524e7c858 |
children | 075705ad664a |
comparison
equal
deleted
inserted
replaced
143:2ac3e0012788 | 144:66c58e5b0062 |
---|---|
61 | 61 |
62 override bool setup (uint n, uint flags) { | 62 override bool setup (uint n, uint flags) { |
63 debug (mdeWidgets) logger.trace ("FloatingAreaWidget.setup"); | 63 debug (mdeWidgets) logger.trace ("FloatingAreaWidget.setup"); |
64 foreach (i, ref d; sWData) with (d) { | 64 foreach (i, ref d; sWData) with (d) { |
65 auto widg = subWidgets[i]; | 65 auto widg = subWidgets[i]; |
66 if (!widg.setup (n, flags) && n != 0 && !(flags & 1)) | 66 if (!widg.setup (n, flags) && !(flags & 1)) |
67 continue; // no changes; skip the rest | 67 continue; // no changes; skip the rest |
68 | 68 |
69 d.border = mgr.renderer.getBorder (borderType, widg.isWSizable, widg.isHSizable); | 69 d.border = mgr.renderer.getBorder (borderType, widg.isWSizable, widg.isHSizable); |
70 mw = widg.minWidth + border.x1 + border.x2; | 70 mw = widg.minWidth + border.x1 + border.x2; |
71 mh = widg.minHeight + border.y1 + border.y2; | 71 mh = widg.minHeight + border.y1 + border.y2; |
72 if (w < mw || !widg.isWSizable) w = mw; | 72 if (w < mw || !widg.isWSizable) w = mw; |
73 if (h < mh || !widg.isHSizable) h = mh; | 73 if (h < mh || !widg.isHSizable) h = mh; |
74 widg.setWidth (w - border.x1 - border.x2, -1); | 74 widg.setWidth (w - border.x1 - border.x2, -1); |
75 widg.setHeight (h - border.y1 - border.y2, -1); | 75 widg.setHeight (h - border.y1 - border.y2, -1); |
76 } | 76 } |
77 return false; // floating area size is not changed | 77 return n == 0; // floating area size is not changed |
78 } | 78 } |
79 | 79 |
80 override bool saveChanges () { | 80 override bool saveChanges () { |
81 wdim[] dd = new wdim[sWData.length*4]; | 81 wdim[] dd = new wdim[sWData.length*4]; |
82 foreach (i, ref d; sWData) { | 82 foreach (i, ref d; sWData) { |