View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003902 | JEDI VCL | 00 JVCL Components | public | 2006-09-13 09:46 | 2007-01-04 03:59 |
Reporter | drader | Assigned To | obones | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | Daily / GIT | ||||
Target Version | Fixed in Version | 3.30 | |||
Summary | 0003902: CustomDock Layout Loading 2 | ||||
Description | In the unit jvDockTree, the function procedure TJvDockTree.SetDockSiteSize(const Value: Integer); dosn't handle the CustomDock orientation. This Doesn't allow to reload a saved layout that includes CustomDocked forms. I suggest to change the function as in the additional information. | ||||
Additional Information | procedure TJvDockTree.SetDockSiteSize(const Value: Integer); begin DockSite.Parent.DisableAlign; try if DockSite.Align in [alRight, alBottom] then DockSiteBegin := DockSiteBegin - (Value - DockSiteSize); case DockSiteOrientation of doVertical: DockSite.Width := Value; doHorizontal: DockSite.Height := Value; else // Add the handling of customDock orientation avoiding the // raising of the exception // ****************************************** // raise Exception.CreateRes(@RsEDockCannotSetValueWithNoOrient); // ****************************************** end; finally DockSite.Parent.EnableAlign; end; end; | ||||
Tags | No tags attached. | ||||
has duplicate | 0004000 | closed | "Cannot set data of control that has no dock orientation" message when loading layout with form docked at CustomDockPanel |
|
I don't understand. You are just removing the exception, but where is the handling itself? |
|
You are right .... there ins't any handling code. The fact is that, in my application, it works fine also whithout specific handling. I didn't had the possibility to test more general cases. |
|
Normaly in CustomDock orientation the dock Align is alClient, then it shouldn't need to set DockSite Width and height. |
|
hum... I'm a bit uneasy to remove the exception without extended testing. Can you do this with the examples from the JVCL? |
|
Using the Jedi demo DockingInCode, if you create a TabDock, save the Layout, reload the layout, you get the above mentioned exception. I checked more deeply all the code and I agree to leave this exception; Anyway when we have the DockSite aligned to alClient, it doesn't make sense to calculate the dockSite size so we shouldn't call the procedure TJvDockTree.SetDockSiteSize(const Value: Integer); I suggest the the following change: unit JvDockInfo procedure SetDockSiteSize(DockSite: TJvDockPanel); begin // if we have a docksite aligned to alClient it's unnecessary // to set the DockSite Size {*****************************************} if DockSite.Align = alClient then Exit; {*****************************************} if DockSite.Align in [alTop, alBottom] then DockSite.JvDockManager.DockSiteSize := DockRect.Bottom - DockRect.Top else DockSite.JvDockManager.DockSiteSize := DockRect.Right - DockRect.Left; end; |
|
This is now in SVN. |
Date Modified | Username | Field | Change |
---|---|---|---|
2006-09-13 09:46 | drader | New Issue | |
2006-09-29 06:49 | obones | Note Added: 0010241 | |
2006-09-29 06:49 | obones | Status | new => feedback |
2006-09-30 05:47 | drader | Note Added: 0010261 | |
2006-09-30 05:52 | drader | Note Added: 0010262 | |
2006-10-06 02:37 | obones | Note Added: 0010299 | |
2006-10-06 11:49 | drader | Note Added: 0010324 | |
2006-10-07 16:05 | drader | Note Edited: 0010324 | |
2007-01-04 03:58 | obones | Status | feedback => resolved |
2007-01-04 03:58 | obones | Fixed in Version | => Daily / SVN |
2007-01-04 03:58 | obones | Resolution | open => fixed |
2007-01-04 03:58 | obones | Assigned To | => obones |
2007-01-04 03:58 | obones | Note Added: 0010520 | |
2007-01-05 01:07 | obones | Relationship added | has duplicate 0004000 |