------------------------ AmigaOS 4 project --------------------------- layout.gadget 50.1 (16.2.2003) - initial release for OS4. - slightly enhanced the stack swapping code. - removing a gadget from a layout should no longer crashes the machine when the user still plays with the gadget. -------------------------- AmigaOS 3.2 project ----------------------- layout.gadget 50.2 (18.8.2019) - Notice that v50.2 reflects only a transitional status between the OS4 and 3.2 projects. - fixed race condition when opening/closing. - now runs on 68000/68010. layout.gadget 47.1 (1.9.2019): - recompiled with data=far and utllib to improve the code generation. layout.gadget 47.2 (2.9.2019): - Fixed a compiler problem, __SAVEDS was used with DATA=FARONLY, which confused the compiler a lot. layout.gadget 47.3 (8.9.2019): - shortened the code by adding initialization code for the BSS segment. layout.gadget 47.5 (29.9.2019): - The creation of a layout gadget now also swaps the stack as this already costs up to 4600 bytes as experiments have shown. - OM_SET was another stack-thieve, in particular if the layout was deeply nested. This function is now also using stack swapping. layout.gadget 47.6 (21.12.2019): - Experimental removal of the Request() type of GUI locking performed by the layout.gadget in Add/Remove_CHILD methods. This may cause deadlocks in combination with MagicMenu and is not directly needed if the method is called through SetGadgetAttrs(), which holds a lock anyhow. Direct calling of OM_SET is discouraged anyhow. layout.gadget 47.7 (21.2.2020): - Fixed a bug in page.gadget which prevented the private LAYOUT_ACTIVATEOBJECT method from working correctly. It was always returning 1 whether the object being searched for was found or not. - ActivateLayoutGadget() was not setting GACT_ACTIVEGADGET in its target gadget's Activation flags. Now fixed. layout.gadget 47.8 (24.2.2020): - In GM_DOMAIN, the width of the widest label is no longer added to the minimum width of members having no label, when computing the minimum width of a vertical group. That could make certain layouts much wider than actually necessary. layout.gadget 47.9 (26.2.2020): - Fixed: in fallback mode, labels were drawn in the screen font and with insufficient size, overlapping other elements. layout.gadget 47.10 (26.2.2020): - Reworked the layout algorithm for weighted groups. Resizable elements could snap to their minimum size during the initial weight distribution, even when there would have been enough room for them to get larger. This should fix bug #1343 (and hopefully not introduce new ones). - Now makes sure all the room available for weighted elements in a group is actually used for said elements. Previously, a rounding error could leave some pixels unaccounted for which would result into uneven spacing between group members. - GM_LAYOUT no longer calls SetAttrs() on non-BOOPSI objects. layout.gadget 47.11 (9.3.2020): - Now tooltips are always shown even when there is an active gadget. layout.gadget 47.12 (14.3.2020): - Fixed: passed CHILD_MinWidth/Height values could be used even when they were not large enough. layout.gadget 47.13 (17.3.2020): - Fixed: group labels for LAYOUT_BevelStyle of BVS_NONE were still being drawn in some circumstances. layout.gadget 47.15 (27.3.2020): - Fixed: layouts were sometimes far too large (eg. IconEdit 44.19, ReqToolsPrefs example in OS3.2 NDK, etc.) (in V47.11-47.14 only). layout.gadget 47.16 (31.3.2020): - Fixed: child label sizes were not always calculated correctly. - LAYOUT_ShrinkWrap no longer leaves empty space at the right/ bottom of the layout group. layout.gadget 47.17 (9.4.2020): - Fixed: spacing was incorrect for BVT_XENTHIN. layout.gadget 47.18 (13.4.2020): - Fixed: Backfill was not propagated in all cases. layout.gadget 47.19 (9.5.2020): - Changed makefile to work around SAS/C optimizer bugs. layout.gadget 47.20 (14.5.2020): - Implement GM_HANDLESCROLL code is a simple adaptation of the V52. layout.gadget 47.21 (18.5.2020): - Implement PAGE_NoDispose (taken from V53). - Fixed a deadlock . Actually the same as fixed in 47.6 only this time in the page gadget layout.gadget 47.22 (08.6.2020): - use the new GA_Hidden and GA_ParentHidden to make sure hidden gadgets have the chance to not render themselves (it requires cooporation from every single gadget, but it is a start) layout.gadget 47.23 (10.6.2020): - Fixed: LABEL_Justification in a CHILD_Label had no effect. layout.gadget 47.24 (27.6.2020): - Implemented the new GM_QUERYHOVERED method. layout.gadget 47.25 (06.9.2020): - LAYOUT_Left/Top/Right/BottomSpacing tags were always ignored, now fixed - LAYOUT_InnerSpacing was ignored, too. Now working for non-beveled root layouts. - Added new LIDF-flags to detect usage of LAYOUT_Spacing-tags. layout.gadget 47.26 (08.9.2020): - Implement support for old style tooltips layout.gadget 47.27 (12.10.2020): - Fix backfill bug introduced in v47.18 - this scaled back version hopefully fixes the bug, and also keeps the old bug fixed too layout.gadget 47.28 (10.1.2021): - Now sets the appropriate default alignment of CHILD_Label objects via the new private REACTION_Justification tag, depending on the value of LAYOUT_LabelColumn (this ensures that labels on the left side of members are right-justified, and vice versa). Applications can override this default with LABEL_Justification. layout.gadget 47.29 (11.1.2021): - Group member labels were being placed too low by one pixel, which made their text vertically misaligned with respect to the text of their associated gadget; now fixed. layout.gadget 47.30 (14.1.2021): - Fixed a stupid bug I introduced in version 47.28: an unterminated tag list was making label.image throw hits all over the place. layout.gadget 47.31 (14.2.2021): - Pointer ROWRESIZE or COLUMNRESIZE when hovering the weight bars layout.gadget 47.32 (28.2.2021): - Fix tab traversal in layouts within layouts