Compile Time Changes

initFromPropsScheme cleanup

The following interfaces have been consolidated, there should be no necessary changes.

Old: public void initFromPropsScheme(PropObj obj) : deprecated {
New: public void initFromPropsScheme(PropObj obj, str systemKey=null, World world=null) {

PropsSchemeQPInfo cleanup

We have made str systemKey an optional argument and removed the World w=null argument.

Old: public PropsSchemeSpecificQPInfo propsSchemeQPInfo(CoreObject obj, World w=null) {
Old: public PropsSchemeSpecificQPInfo propsSchemeQPInfo(CoreObject obj, str systemKey, World w=null) {
New: public PropsSchemeSpecificQPInfo propsSchemeQPInfo(CoreObject obj, str systemKey=null) {

PropsSchemeFilterButton

Following the interface change introduced for BrushHoverButton, the constructor for PropsSchemeFilterButton has been updated.

Old: public constructor(Window parent,
                        Brush stdBrush,
                        Brush hoverBrush,
                        Brush mouseDownBrush,
                        // inherited key arguments
                        Font font=controlFont,
                        FrameStyle frameStyle=noFrame,
                        frame3DState frameState=frameStateUp,
                        pointI pos=(0, 0),
                        sizeI size=sizeI(-1, -1),
                        pointI margins=(6, 4),
                        alignment align=middle,
                        str key=null,
                        str label="",
                        color labelColor=color(0, 0, 0),
                        color pressedLabelColor=color(colorType.none),
                        alignment textSide=undefinedAlignment,
                        Image image=null,
                        Image disabledImage=null,
                        color color=nocolor,
                        bool roundedCorners=false,
                        function(Control button) callback=null,
                        SrcRef src=#:src) {

New: public constructor(Window parent,
                        Brush stdBrush,
                        Brush hoverBrush,
                        Brush mouseDownBrush,
                        // inherited key arguments
                        Font font=controlFont,
                        FrameStyle frameStyle=noFrame,
                        frame3DState frameState=frameStateUp,
                        pointI pos=(0, 0),
                        sizeI size=sizeI(-1, -1),
                        pointI margins=(6, 4),
                        alignment align=middle,
                        str key=null,
                        str label="",
                        color labelColor=color(0, 0, 0),
                        color pressedLabelColor=color(colorType.none),
                        alignment textSide=undefinedAlignment,
                        Image image=null,
                        Image disabledImage=null,
                        color color=nocolor,
                        bool roundedCorners=false,
                        bool showUnderline=false, // Added
                        function(Control button) callback=null,
                        SrcRef src=#:src) {

PropsSchemeDialog

We have optimized props scheme dialog by eliminating unnecessary nested SubWindow in cards, schemeBarSub, barsAndOptions, and applyWins. The following methods have been removed as they are now unnecessary:

Removed: extend public void layoutApply(Window reference=null) {}
Removed: extend public void layoutSelection() {}

Previously, these methods were used to adjust margins caused by the presence of the now-removed applyWindow sub-window.

psCardWindow

The following methods have been removed as redundant window resizing operations are no longer required in these methods:

Removed: public void ancestorResizeEnd() {}
Removed: public void parentClientBoundChanged() {}

They will now inherit the behaviours from Card instead.