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) {