Compile Time Changes

LibraryLimb.cm
+ LibraryLimb Constructor now has an additional argument `SrcRef src`.

uiHint.cm
+ UIImageHint constructor now accepts an additional argument `bool prefer3D=false`
+ Field `Image image` is now `copy=reference`.

class LayoutGroupLimb

Added argument hideSendToButton to LayoutGroupLimb to hide send to component tab button.

Old: public constructor(LibraryLimb parent, symbol pkg, str key, bool frame=true,
		       function(Window window) layout=null, LibraryLimbVisibility vs=null)
New: public constructor(LibraryLimb parent, symbol pkg, str key, bool frame=true,
		       function(Window window) layout=null, LibraryLimbVisibility vs=null,
		       bool hideSendToButton=false)

New features to LibraryHeaderBuilder

BasicLibraryHeaderBuilder now supports passing in brandingImage.

Old: public constructor(Image icon, str title, str schemeKey=null) {
New: public constructor(Image icon, str title, Image brandingImage=null, str schemeKey=null) {

TabbedLibraryHeaderBuilder now supports passing in brandingImage

Old: public constructor(Image icon, str title, str schemeKey=null, function(Control, int) callback=null) {
New: public constructor(Image icon, str title, Image brandingImage=null, str schemeKey=null, function(Control, int) callback=null) {

Old: public constructor(Image icon,
                        str title,
                        bool useDropDownStyle=false,
                        str dropDownLabel=$tab # ':',
                        function(Control, int) callback=null) {
New: public constructor(Image icon,
                        str title,
                        Image brandingImage=null,
                        bool useDropDownStyle=false,
                        str dropDownLabel=$tab # ':',
                        function(Control, int) callback=null) {

New style of BoolCallbackLimb

There is a new argument bool toggleStyle. This argument determines if a checkbox for toggle is shown for BoolCallbackLimb.

Old: public constructor(LibraryLimb parent, symbol pkg, str key,
                        function(bool v) callback, bool initial=false,
                        LibraryLimbVisibility vs=null,
                        Image image=null,
                        str label=null,
                        UIHint hint=null,
                        SrcRef src=#:src) {
New: public constructor(LibraryLimb parent, symbol pkg, str key,
                        function(bool v) callback, bool initial=false,
                        LibraryLimbVisibility vs=null,
                        Image image=null,
                        str label=null,
                        UIHint hint=null,
                        bool toggleStyle=false,
                        SrcRef src=#:src) {

Removal of formatToolboxUI9

This deprecated function did nothing, calls to formatToolboxUI9 can be safely removed.

Removed: public void formatToolboxUI9(Library lib) : deprecated {}

Runtime/Behavior Changes

cm/core/libary/library.syntax.cm

We have fixed the LibraryLimb syntax such that the correct SrcRefs are now passed correctly to the Control created. This means that CM Inspector (alt-click) and Window Inspector can now trace the correct SrcRef and open up the correct line in corresponding library.cm (or any relevant CM source files) of which the LibraryLimb was built.