The following changes were made to support development efforts of the new UI.
The Library
and CompanyLibrary
constructors have been modified as follows:
// Library Removed: public constructor(LibraryLimb tree, symbol pkg, bool rebuildOnUserLevelChange=false, function() viewModeHook=null) {} Added: public constructor(LibraryLimb tree, symbol pkg, bool rebuildOnUserLevelChange=false, bool facelift=false, // ADDED LibraryHeaderBuilder headerBuilder=null, // ADDED function() viewModeHook=null) {} // CompanyLibrary Removed: public constructor(LibraryLimb tree, symbol pkg, bool rebuildOnUserLevelChange=false, str companyKey=null, version version=version(0, 0, 0), function() viewModeHook=null) {} Added: public constructor(LibraryLimb tree, symbol pkg, bool rebuildOnUserLevelChange=false, bool facelift=false, // ADDED LibraryHeaderBuilder headerBuilder=null, // ADDED str companyKey=null, version version=version(0, 0, 0), function() viewModeHook=null) {}
The constructor for LibraryLimb
has been changed, and LibraryLimb
now
stores a UIHint
in a field, so UIHint fields in subclasses have been removed:
// LibraryLimb Removed: public constructor(symbol pkg, str key, Image image=null, bool frame=true, str label=null, str toolTipText=null, Image toolTipImage=null, SectionButton[] buttons=null, SrcRef src=null) {} Added: public constructor(symbol pkg, str key, Image image=null, bool frame=true, str label=null, str toolTipText=null, Image toolTipImage=null, SectionButton[] buttons=null, // ADDED UIHint hint=null, // ADDED SrcRef src=null) {} // AutoGroupLimb Removed: public UIHint hint; // ComponentLimb Removed: public UIHint hint; // SettingLimb Removed: public UIHint hint; // VoidCallbackLimb Removed: public UIHint hint;
The UIHint
class and its child classes have changed in the following ways:
// UIHInt Removed: public constructor(bool showLabel=false, bool prefer3D=false, sizeI preferSize=(-1, -1)) {} Added: public constructor(bool showLabel=false, bool prefer3D=false, sizeI preferSize=(-1, -1), int columns=0, // ADDED alignment align=middle, // ADDED pointI margins=(-1, -1) // ADDED ) {} Deprecated: public class UIMarginsHint extends UIHint {} // UIFrameHint Removed: public pointI margins; // UITextSideHint Removed: public constructor(alignment textSide, bool showLabel=false, bool prefer3D=false, sizeI preferSize=(24, 24)) {} Added: public constructor(alignment textSide, bool showLabel=false, bool prefer3D=false, sizeI preferSize=(24, 24), alignment align=middle // ADDED ) {} // UIImageHint Removed: public pointI margins; Removed: public constructor(bool showLabel=false, Image image=null, alignment textSide=alignment.down, FrameStyle frameStyle=null, pointI margins=(-1, -1), sizeI preferSize=(-1, -1)) {} Added: public constructor(bool showLabel=false, Image image=null, alignment textSide=alignment.down, FrameStyle frameStyle=null, pointI margins=(-1, -1), sizeI preferSize=(-1, -1), int columns=0, // ADDED alignment align=middle // ADDED ) {} // UIBrushHoverHint Removed: public pointI margins;
UIBuilder
has had the following changes to its fields:
Removed: public int mg;
UIGroupBuilder
has had the following changes to its methods:
Removed: extend public Window build(UIBuilder uiBuilder, LibraryLimb limb, Window window) {} Added: extend public Window build(UIBuilder uiBuilder, LibraryLimb limb, Window window, bool subsection=false /** ADDED **/) {}
UIGroupOrganizerEnv
has had the following changes:
Removed: public int mg; Added: public Margins margins; Removed: final public int mg() {} Added: final public Margins mg() {}
OldSchoolGroupOrganizer
has been completely removed.
The following changes were made to support development efforts of the new UI.
A new automatic caching system has been added for extension libraries, so any custom caching should be removed in order to not conflict with it.
UIHint
s now apply to children of the LibraryLimb
as well. This allows
applying the same hint to all child limbs without explicitly passing it in to
each one. You can still override the hint by applying a different hint to the
limb.