[MonoDevelop] Patch for the docking in MD

Vladimir Dimitrov vlad.dimitrov at gmail.com
Mon Jan 17 06:25:49 EST 2011

Hi all,


We use the docking code from MD for our projects and have just discovered
and fixed a bug that is happening when we have a default size of panels set
to some value, and the docking logic was not respecting it. The case
happened to be that when a new size is allocated for the DockLayout not all
of the children items are reallocated.


So I changed the method CalcNewSizes in DockGroup.cs to end in this way:


                                                double expandSize = realSize
- noexpandSize;

                                                foreach (DockObject ob in
VisibleObjects) {


ob.Size = (ob.DefaultSize / noexpandSize) * realSize;

                                                                else if

ob.Size = (ob.DefaultSize / defaultExpandSize) * expandSize;

= ob.Size;



                                                CheckMinSizes ();


                                                foreach (DockObject ob in
VisibleObjects) {

                DockGroup group = ob as DockGroup;

                if (group == null)



                group.CalcNewSizes ();



The added loop recalculates the sizes of the children recursively and this
fixed the issue on our side, so if anybody is interested in fixing in MD
this please try the patch.


Vladimir Dimitrov

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/monodevelop-list/attachments/20110117/98ddea08/attachment-0001.html 

More information about the Monodevelop-list mailing list