Compile Time Changes

UrlField button background brush

The following overridable method has been added to UrlField:

Added: extend public Brush buttonBgBrush()

Most UrlField subclasses require no source changes. However, a subclass that already declares a member named buttonBgBrush may now conflict with or override the inherited method. If that member is intended to customize the URL button, ensure it has the compatible Brush buttonBgBrush() signature and access. Otherwise, rename it to avoid the inherited interface.

The open file name functions have been cleaned up:

  • Removed getOpenFileNameEx and getOpenFileNameMultipleEx
  • Removed argument pointI position as it was unused
  • Renamed argument str[] filters to str[] filter
Old: public Url getOpenFileNameEx(Window parent, Url initUrl, str[] filters,
                                  bool fileMustExist=true, Int filterIndex=null) {
Old: public Url getOpenFileNameEx(Window parent, Url initUrl, str[] filters, pointI position,
                                  bool fileMustExist=true, Int filterIndex=null) {
New: public Url getOpenFileName(Window parent, Url initUrl, str[] filter,
                                bool fileMustExist=true, Int filterIndex=null) {

Old: public Url[] getOpenFileNameMultipleEx(Window parent, Url initUrl, str[] filters,
                                            bool fileMustExist=true, Int filterIndex=null) {
Old: public Url[] getOpenFileNameMultipleEx(Window parent, Url initUrl, str[] filters, pointI position,
                                            bool fileMustExist=true, Int filterIndex=null) {
New: public Url[] getOpenFileNameMultiple(Window parent, Url initUrl, str[] filter,
                                          bool fileMustExist=true, Int filterIndex=null) {

Old: public Url getOpenFileName(Window parent, Url initUrl, str[] filter, pointI position,
                                bool fileMustExist=true, Int filterIndex=null) {
New: public Url getOpenFileName(Window parent, Url initUrl, str[] filter,
                                bool fileMustExist=true, Int filterIndex=null) {

The save file name functions have been cleaned up:

  • Removed getSaveFileNameEx
  • Removed argument pointI position as it was unused
  • Renamed argument str[] filters to str[] filter
Old: public Url getSaveFileNameEx(Window parent, Url initUrl, str[] filters,
                                  Int filterIndex=null, bool overwriteWarning=true) {
Old: public Url getSaveFileNameEx(Window parent, Url initUrl, str[] filters, pointI position,
                                  Int filterIndex=null, bool overwriteWarning=true) {
New: public Url getSaveFileName(Window parent, Url initUrl, str[] filter,
                                Int filterIndex=null, bool overwriteWarning=true) {

Old: public Url getSaveFileName(Window parent, Url initUrl, str[] filter, pointI position,
                                Int filterIndex=null, bool overwriteWarning=true) {
New: public Url getSaveFileName(Window parent, Url initUrl, str[] filter,
                                Int filterIndex=null, bool overwriteWarning=true) {

The browse folder functions have been renamed:

Old: public Url browseForFolderEx(Window parent, str title, Url initUrl=null) {
New public Url browseForFolder(Window parent, str title, Url initUrl=null) {

The following functions have been removed:

public void applySaveFilterOldReplaceStyle(Url url, str[] filters, int index) {
public void applySaveFilterOldReplaceStyle(Url url, str filter) {

Added argument str loc=callerLoc() for various progress related classes and functions.

# InfiniteProgressBarDialog
Old: public constructor(Window parent,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=null,
                        pointI pos=(0, 0),
                        sizeI size=(280, 64),
                        bool initVisible=true,
                        bool resident=false,
                        // extended args
                        bool spinning=false,
                        bool center=true,
                        bool modal=true,
                        bool cancel=false,
                        function(ProgressDialog d) abortCallback=null) {
New: public constructor(Window parent,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=null,
                        pointI pos=(0, 0),
                        sizeI size=(280, 64),
                        bool initVisible=true,
                        bool resident=false,
                        // extended args
                        bool spinning=false,
                        bool center=true,
                        bool modal=true,
                        bool cancel=false,
                        function(ProgressDialog d) abortCallback=null,
                        str loc=callerLoc()) {

# ProgressEnv
Old: public constructor(Window frame, int steps=100,
                        str label=null,
                        bool cancel=true,
                        bool center=true,
                        bool modal=false,
                        function(ProgressDialog d) abortCallback=null,
                        bool infinite=false,
                        bool spinning=false,
                        bool initVisible=true,
                        str infoLabel=null,
                        str statusLabel=null) {
New: public constructor(Window frame, int steps=100,
                        str label=null,
                        bool cancel=true,
                        bool center=true,
                        bool modal=false,
                        function(ProgressDialog d) abortCallback=null,
                        bool infinite=false,
                        bool spinning=false,
                        bool initVisible=true,
                        str infoLabel=null,
                        str statusLabel=null,
                        str loc=callerLoc()) {

Old: public ProgressDialog beginProgress(Window frame, int steps=100,
                                         str label=null,
                                         bool cancel=true,
                                         bool center=true,
                                         bool modal=true,
                                         function(ProgressDialog d) abortCallback=null,
                                         bool infinite=false,
                                         bool spinning=false,
                                         bool initVisible=true,
                                         str infoLabel=null,
                                         str statusLabel=null) {
New: public ProgressDialog beginProgress(Window frame, int steps=100,
                                         str label=null,
                                         bool cancel=true,
                                         bool center=true,
                                         bool modal=true,
                                         function(ProgressDialog d) abortCallback=null,
                                         bool infinite=false,
                                         bool spinning=false,
                                         bool initVisible=true,
                                         str infoLabel=null,
                                         str statusLabel=null,
                                         str loc=callerLoc()) {

Added argument str loc=callerLoc() into the non modal dialogs classes and functions.

# NonModalMessageBox
Old: public constructor(Window parent, str message,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label="Message",
                        str buttonLabel=null,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        function(Object arg) callback=null,
                        Object callbackArg=null) {
New: public constructor(Window parent, str message,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label="Message",
                        str buttonLabel=null,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        function(Object arg) callback=null,
                        Object callbackArg=null,
                        str loc=callerLoc()) {

Old: public void makeNonModalMessageBox(Window parent, str message) {
New: public void makeNonModalMessageBox(Window parent, str message, str loc=callerLoc()) {

Old: public void makeNonModalMessageBox(Window parent, str id, str message) {
New: public void makeNonModalMessageBox(Window parent, str id, str message, str loc=callerLoc()) {

Old: public NonModalMessageBox makeNonModalMessageBox(Window parent, str id, str label, str message, str buttonLabel=null,
                                                      function(Object arg) callback=null,
                                                      Object callbackArg=null) {
New: public NonModalMessageBox makeNonModalMessageBox(Window parent, str id, str label, str message, str buttonLabel=null,
                                                      function(Object arg) callback=null,
                                                      Object callbackArg=null,
                                                      str loc=callerLoc()) {

# NonModalWarningDialog
Old: public constructor(Window parent, str message,
                        Image warningIcon=null,
                        pointI messageOffset=(20, 10),
                        str buttonLabel=null,
                        Brush textFieldBrush=almostWhiteBrush,
                        function(Control) buttonCallback=null,
                        str checkBoxMessage=null,
                        function(Control) checkBoxCallback=null|,
                       
                        // Inhertited
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        FrameStyle frameStyle=lightGrayPenFrame,
                        frame3DState frameState=frameStateUp,
                        str label="Dialog",
                        pointI pos=(-1, -1),
                        sizeI size=(500, 200),
                        bool initVisible=true,
                        bool noBorder=false,
                        bool noCaptionStyle=false,
                        bool shadow=false,
                        bool addMinimize=false,
                        bool addMaximize=false,
                        bool resident=false,
                        bool forceShowInTaskbar=false) {
                        bool forceShowInTaskbar=false,
                        str loc=callerLoc()) {
New: public constructor(Window parent, str message,
                        Image warningIcon=null,
                        pointI messageOffset=(20, 10),
                        str buttonLabel=null,
                        Brush textFieldBrush=almostWhiteBrush,
                        function(Control) buttonCallback=null,
                        str checkBoxMessage=null,
                        function(Control) checkBoxCallback=null|,
                       
                        // Inhertited
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        FrameStyle frameStyle=lightGrayPenFrame,
                        frame3DState frameState=frameStateUp,
                        str label="Dialog",
                        pointI pos=(-1, -1),
                        sizeI size=(500, 200),
                        bool initVisible=true,
                        bool noBorder=false,
                        bool noCaptionStyle=false,
                        bool shadow=false,
                        bool addMinimize=false,
                        bool addMaximize=false,
                        bool resident=false,
                        bool forceShowInTaskbar=false,
                        str loc=callerLoc()) { 

# FormattedTextNonModalMessageBox
Old: public constructor(Window parent, str header, FormattedText content,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label="Message",
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool framed=false,
                        bool initVisible=true) {
New: public constructor(Window parent, str header, FormattedText content,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label="Message",
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool framed=false,
                        bool initVisible=true,
                        str loc=callerLoc()) {

Old: public void makeFormattedTextNonModalMessageBox(Window parent, str message,
                                                     FormattedText content, bool framed=false) {
New: public void makeFormattedTextNonModalMessageBox(Window parent, str message,
                                                     FormattedText content, bool framed=false,
                                                     str loc=callerLoc()) {

Old: public void makeFormattedTextNonModalMessageBox(Window parent, str id, str message,
                                                     FormattedText content, bool framed=false) {
New: public void makeFormattedTextNonModalMessageBox(Window parent, str id, str message,
                                                     FormattedText content, bool framed=false,
                                                     str loc=callerLoc()) {

Old: public void makeFormattedTextNonModalMessageBox(Window parent, str id, str label, str message,
                                                     FormattedText content, bool framed=false) {
New: public void makeFormattedTextNonModalMessageBox(Window parent, str id, str label, str message,
                                                     FormattedText content, bool framed=false,
                                                     str loc=callerLoc()) {

Changed argument SrcRef src=#:src to str loc=callerLoc() for the following message box functions:

Old: public void makeMessageBox(Window parent, str message,
                                dialogIcon icon=dialogIcon.none,
                                function(Window dialog) positionCallback=null,
                                SrcRef src=#:src) {
New: public void makeMessageBox(Window parent, str message,
                                dialogIcon icon=dialogIcon.none,
                                function(Window dialog) positionCallback=null,
                                str loc=callerLoc()) {

Old: public void makeMessageBox(Window parent, str label, str message,
                                dialogIcon icon=dialogIcon.none,
                                function(Window dialog) positionCallback=null,
                                SrcRef src=#:src) {
New: public void makeMessageBox(Window parent, str label, str message,
                                dialogIcon icon=dialogIcon.none,
                                function(Window dialog) positionCallback=null,
                                str loc=callerLoc()) {

Old: public void makeMessageBox(Window parent, str label, str message,
                                function(Control c) doNotShowAgainCB=null,
                                dialogIcon icon=dialogIcon.none,
                                function(Window dialog) positionCallback=null,
                                SrcRef src=#:src) {
New: public void makeMessageBox(Window parent, str label, str message,
                                function(Control c) doNotShowAgainCB=null,
                                dialogIcon icon=dialogIcon.none,
                                function(Window dialog) positionCallback=null,
                                str loc=callerLoc()) {

Old: public void makeFormattedMessageBox(Window parent, str label, str message,
                                         function(Control c) doNotShowAgainCB=null,
                                         dialogIcon icon=dialogIcon.none,
                                         function(Window dialog) positionCallback=null,
                                         SrcRef src=#:src) {
New: public void makeFormattedMessageBox(Window parent, str label, str message,
                                         function(Control c) doNotShowAgainCB=null,
                                         dialogIcon icon=dialogIcon.none,
                                         function(Window dialog) positionCallback=null,
                                         str loc=callerLoc()) {

Added argument str loc=callerLoc() into the the following message box functions:

# LinkedOneButtonBox
Old: public constructor(Window parent, str message, str preLinkMsg,
                        str linkLabel, str link, str btnLabel=$okButtonLabel,
                        dialogIcon icon=dialogIcon.none,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$messageDialogCaption,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true) {
New: public constructor(Window parent, str message, str preLinkMsg,
                        str linkLabel, str link, str btnLabel=$okButtonLabel,
                        dialogIcon icon=dialogIcon.none,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$messageDialogCaption,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str loc=callerLoc()) {

Old: public void makeLinkedMessageBox(Window parent, str label, str message, str preLinkMsg, str linkLabel, str link, str btnLabel=$okButtonLabel, dialogIcon icon=dialogIcon.none) {
New: public void makeLinkedMessageBox(Window parent, str label, str message,
                                      str preLinkMsg, str linkLabel, str link,
                                      str btnLabel=$okButtonLabel,
                                      dialogIcon icon=dialogIcon.none,
                                      str loc=callerLoc()) {

Old: public void makeMessageBoxPostLoad(Window parent, str message, FormattedText content, bool framed=false, bool readOnly=true, str label=null) {
New: public void makeMessageBoxPostLoad(Window parent, str message, FormattedText content,
                                        bool framed=false, bool readOnly=true, str label=null,
                                        str loc=callerLoc()) {

Old: public void makeMessageBoxPostLoad(Window parent, str message, bool framed=false, bool readOnly=true, str label=null) {
New: public void makeMessageBoxPostLoad(Window parent, str message, bool framed=false,
                                        bool readOnly=true, str label=null, str loc=callerLoc()) {


Old: public void makeMessageBoxPostLoad(Window parent, str label, str content, bool framed=false, bool readOnly=true) {
New: public void makeMessageBoxPostLoad(Window parent, str label, str content,
                                        bool framed=false, bool readOnly=true, str loc=callerLoc()) {

Removed argument SrcRef src=#:src from the the following two button box functions:

Old: public int makeTwoButtonBox(Window parent, str question, str select1, str select2,
                                 int defaultButtonNo=1,
                                 dialogIcon icon=dialogIcon.none,
                                 function(Window dialog) positionCallback=null,
                                 str loc=callerLoc(),
                                 SrcRef src=#:src) {
New: public int makeTwoButtonBox(Window parent, str question, str select1, str select2,
                                 int defaultButtonNo=1,
                                 dialogIcon icon=dialogIcon.none,
                                 function(Window dialog) positionCallback=null,
                                 str loc=callerLoc()) {

Changed argument SrcRef src=#:src to str loc=callerLoc() for the following two button box functions:

Old: public int makeTwoButtonBox(Window parent, str label, str question, str select1, str select2,
                                 int defaultButtonNo=1,
                                 dialogIcon icon=dialogIcon.none,
                                 function(Window dialog) positionCallback=null,
                                 SrcRef src=#:src) {
New: public int makeTwoButtonBox(Window parent, str label, str question, str select1, str select2,
                                 int defaultButtonNo=1,
                                 dialogIcon icon=dialogIcon.none,
                                 function(Window dialog) positionCallback=null,
                                 str loc=callerLoc()) {

Added argument str loc=callerLoc() into the the following two button box functions:

# TwoButtonImageBox
Old: public constructor(Window parent,
                        str question,
                        str select1,
                        str select2,
                        function(int z) callback,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$questionDialogCaption,
                        Image image1=null,
                        Image image2=null,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true) {
New: public constructor(Window parent,
                        str question,
                        str select1,
                        str select2,
                        function(int z) callback,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$questionDialogCaption,
                        Image image1=null,
                        Image image2=null,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str loc=callerLoc()) {

Old: public int makeTwoButtonImageBox(Window parent, str question,
                                      str select1, str select2,
                                      Image image1, Image image2, int defaultButtonNo=1) {
New: public int makeTwoButtonImageBox(Window parent, str question,
                                      str select1, str select2,
                                      Image image1, Image image2,
                                      int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeTwoButtonImageBox(Window parent, str label, str question,
                                      str select1, str select2,
                                      Image image1, Image image2, int defaultButtonNo=1) {
New: public int makeTwoButtonImageBox(Window parent, str label, str question,
                                      str select1, str select2,
                                      Image image1, Image image2,
                                      int defaultButtonNo=1, str loc=callerLoc()) {

# YesNoDialog
Old: public constructor(Window parent, str label, str question, function(int z) callback, int defaultButtonNo=1) {
New: public constructor(Window parent, str label, str question, function(int z) callback, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeYesNoDialog(Window parent, str question, int defaultButtonNo=1) {
New: public int makeYesNoDialog(Window parent, str question, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeYesNoDialog(Window parent, str label, str question, int defaultButtonNo=1) {
New: public int makeYesNoDialog(Window parent, str label, str question, int defaultButtonNo=1, str loc=callerLoc()) {

# YesCancelDialog
Old: public constructor(Window parent, str label, str question, function(int z) callback, int defaultButtonNo=1) {
New: public constructor(Window parent, str label, str question, function(int z) callback, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeYesCancelDialog(Window parent, str question, int defaultButtonNo=1) {
New: public int makeYesCancelDialog(Window parent, str question, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeYesCancelDialog(Window parent, str label, str question, int defaultButtonNo=1) {
New: public int makeYesCancelDialog(Window parent, str label, str question, int defaultButtonNo=1, str loc=callerLoc()) {

# OkExitDialog
Old: public constructor(Window parent, str label, str question, function(int z) callback, int defaultButtonNo=1) {
New: public constructor(Window parent, str label, str question,
                        function(int z) callback, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeOkExitDialog(Window parent, str question, int defaultButtonNo=1) {
New: public int makeOkExitDialog(Window parent, str question, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeOkExitDialog(Window parent, str label, str question, int defaultButtonNo=1) {
New: public int makeOkExitDialog(Window parent, str label, str question, int defaultButtonNo=1, str loc=callerLoc()) {

# OkCancelDialog
Old: public constructor(Window parent, str label, str question, function(int z) callback, int defaultButtonNo=1, bool initVisible=true) {
New: public constructor(Window parent, str label, str question,
                        function(int z) callback, int defaultButtonNo=1, bool initVisible=true,
                        str loc=callerLoc()) {

Old: public int makeOkCancelDialog(Window parent, str question, int defaultButtonNo=1) {
New: public int makeOkCancelDialog(Window parent, str question, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeOkCancelDialog(Window parent, str label, str question, int defaultButtonNo=1) {
New: public int makeOkCancelDialog(Window parent, str label, str question, int defaultButtonNo=1, str loc=callerLoc()) {

# FormattedTextYesNoDialog
Old: public int makeFormattedTextYesNoDialog(Window parent, str label, str header,
                                             FormattedText content, bool framed=false) {
New: public int makeFormattedTextYesNoDialog(Window parent, str label, str header,
                                             FormattedText content, bool framed=false, str loc=callerLoc()) {

# FormattedTextTwoButtonBox
Old: public constructor(Window parent,
                        str label,
                        str header,
                        FormattedText content,
                        function(int z) callback,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str select1=null,
                        str select2=null,
                        bool framed=false) {
New: public constructor(Window parent,
                        str label,
                        str header,
                        FormattedText content,
                        function(int z) callback,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str select1=null,
                        str select2=null,
                        bool framed=false,
                        str loc=callerLoc()) {

Old: public int makeFormattedTextTwoButtonBox(Window parent, str label, str header,
                                              FormattedText content, str select1, str select2, bool framed=false, int defaultButtonNo=1) {
New: public int makeFormattedTextTwoButtonBox(Window parent, str label, str header,
                                              FormattedText content, str select1, str select2,
                                              bool framed=false, int defaultButtonNo=1, str loc=callerLoc()) {

Old: public int makeFormattedTextOkReportDialog(Window parent, str label, str header,
                                                FormattedText content, bool framed=false) {
New: public int makeFormattedTextOkReportDialog(Window parent, str label, str header,
                                                FormattedText content, bool framed=false, str loc=callerLoc()) {

Old: public int makeFormattedTextOkCancelDialog(Window parent, str header,
                                                FormattedText content, bool framed=false) {
New: public int makeFormattedTextOkCancelDialog(Window parent, str header,
                                                FormattedText content, bool framed=false,
                                                str loc=callerLoc()) {

Old: public int makeFormattedTextOkCancelDialog(Window parent, str id, str header,
                                                FormattedText content, bool framed=false) {
New: public int makeFormattedTextOkCancelDialog(Window parent, str id, str header,
                                                FormattedText content, bool framed=false,
                                                str loc=callerLoc()) {

Old: public int makeFormattedTextOkCancelDialog(Window parent, str id, str label, str header,
                                                FormattedText content, bool framed=false) {
New: public int makeFormattedTextOkCancelDialog(Window parent, str id, str label, str header,
                                                FormattedText content, bool framed=false,
                                                str loc=callerLoc()) {

# ExitCancelDialog
Old: public constructor(Window parent, str label, str question, function(int z) callback) {
New: public constructor(Window parent, str label, str question, function(int z) callback, str loc=callerLoc()) {

Old: public int makeExitCancelDialog(Window parent, str question) {
New: public int makeExitCancelDialog(Window parent, str question, str loc=callerLoc()) {

Old: public int makeExitCancelDialog(Window parent, str label, str question) {
New: public int makeExitCancelDialog(Window parent, str label, str question, str loc=callerLoc()) {

Added argument str loc=callerLoc() into the the following three button box functions:

# ThreeButtonBox
Old: public constructor(Window parent,
                        str question,
                        str select1,
                        str select2,
                        str select3,
                        Image image1=null,
                        Image image2=null,
                        Image image3=null,
                        function(int z) callback=null,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$questionDialogCaption,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true) {
New: public constructor(Window parent,
                        str question,
                        str select1,
                        str select2,
                        str select3,
                        Image image1=null,
                        Image image2=null,
                        Image image3=null,
                        function(int z) callback=null,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$questionDialogCaption,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str loc=callerLoc()) {

Old: public constructor(Window parent,
                        str question,
                        str select1,
                        str select2,
                        str select3,
                        Image image1=null,
                        Image image2=null,
                        Image image3=null,
                        function(str z) callback=null,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$questionDialogCaption,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true) {
New: public constructor(Window parent,
                        str question,
                        str select1,
                        str select2,
                        str select3,
                        Image image1=null,
                        Image image2=null,
                        Image image3=null,
                        function(str z) callback=null,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=$questionDialogCaption,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str loc=callerLoc()) {

# FormattedTextThreeButtonBox
Old: public constructor(Window parent,
                        str label,
                        str header,
                        FormattedText content,
                        function(int z) callback,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str select1=null,
                        str select2=null,
                        str select3=null,
                        Image image1=null,
                        Image image2=null,
                        Image image3=null,
                        bool framed=false) {
New: public constructor(Window parent,
                        str label,
                        str header,
                        FormattedText content,
                        function(int z) callback,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str select1=null,
                        str select2=null,
                        str select3=null,
                        Image image1=null,
                        Image image2=null,
                        Image image3=null,
                        bool framed=false,
                        str loc=callerLoc()) {

Old: public int makeFormattedTextThreeButtonBox(Window parent, str label, str header, FormattedText content,
                                                str select1, str select2, str select3,
                                                Image image1=null,
                                                Image image2=null,
                                                Image image3=null,
                                                bool framed=false,
                                                int defaultButtonNo=1) {
New: public int makeFormattedTextThreeButtonBox(Window parent, str label, str header, FormattedText content,
                                                str select1, str select2, str select3,
                                                Image image1=null,
                                                Image image2=null,
                                                Image image3=null,
                                                bool framed=false,
                                                int defaultButtonNo=1,
                                                str loc=callerLoc()) {

Changed argument SrcRef src=#:src to str loc=callerLoc() for the following three button box functions:

Old: public int makeThreeButtonBox(Window parent, str question,
                                   str select1, str select2, str select3,
                                   Image image1=null, Image image2=null, Image image3=null,
                                   int defaultButtonNo=1,
                                   dialogIcon icon=dialogIcon.none,
                                   function(Window dialog) positionCallback=null,
                                   SrcRef src=#:src) {
New: public int makeThreeButtonBox(Window parent, str question,
                                   str select1, str select2, str select3,
                                   Image image1=null, Image image2=null, Image image3=null,
                                   int defaultButtonNo=1,
                                   dialogIcon icon=dialogIcon.none,
                                   function(Window dialog) positionCallback=null,
                                   str loc=callerLoc()) {

Old: public int makeThreeButtonBox(Window parent, str question, str caption,
                                   str select1, str select2, str select3,
                                   Image image1=null, Image image2=null, Image image3=null,
                                   int defaultButtonNo=1,
                                   dialogIcon icon=dialogIcon.none,
                                   function(Window dialog) positionCallback=null,
                                   SrcRef src=#:src) {

New: public int makeThreeButtonBox(Window parent, str question, str caption,
                                   str select1, str select2, str select3,
                                   Image image1=null, Image image2=null, Image image3=null,
                                   int defaultButtonNo=1,
                                   dialogIcon icon=dialogIcon.none,
                                   function(Window dialog) positionCallback=null,
                                   str loc=callerLoc()) {

Changed argument SrcRef src=#:src to str loc=callerLoc() for the following four button box functions:

Old: public int makeFourButtonBox(Window parent, str question,
                                  str select1, str select2, str select3, str select4,
                                  Image image1=null, Image image2=null, Image image3=null, Image image4=null,
                                  int defaultButtonNo=1,
                                  dialogIcon icon=dialogIcon.none,
                                  function(Window dialog) positionCallback=null,
                                  SrcRef src=#:src) {
New: public int makeFourButtonBox(Window parent, str question,
                                  str select1, str select2, str select3, str select4,
                                  Image image1=null, Image image2=null, Image image3=null, Image image4=null,
                                  int defaultButtonNo=1,
                                  dialogIcon icon=dialogIcon.none,
                                  function(Window dialog) positionCallback=null,
                                  str loc=callerLoc()) {

Old: public int makeFourButtonBox(Window parent, str question, str caption,
                                  str select1, str select2, str select3, str select4,
                                  Image image1=null, Image image2=null, Image image3=null, Image image4=null,
                                  int defaultButtonNo=1,
                                  dialogIcon icon=dialogIcon.none,
                                  function(Window dialog) positionCallback=null,
                                  SrcRef src=#:src) {
New: public int makeFourButtonBox(Window parent, str question, str caption,
                                  str select1, str select2, str select3, str select4,
                                  Image image1=null, Image image2=null, Image image3=null, Image image4=null,
                                  int defaultButtonNo=1,
                                  dialogIcon icon=dialogIcon.none,
                                  function(Window dialog) positionCallback=null,
                                  str loc=callerLoc()) {

Added argument str loc=callerLoc() into the the following functions:

# IntInputDialog
Old: public constructor(Window parent,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=null,
                        pointI pos=(-1, -1),
                        sizeI size=sizeI(250, 150),
                        bool initVisible=true,
                        str text=null,
                        Int initValue=null) {
New: public constructor(Window parent,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label=null,
                        pointI pos=(-1, -1),
                        sizeI size=sizeI(250, 150),
                        bool initVisible=true,
                        str text=null,
                        Int initValue=null,
                        str loc=callerLoc()) {

Old: public Int makeIntInputDialog(Window parent, str label=null, str text=null, Int initValue=null) {
New: public Int makeIntInputDialog(Window parent, str label=null, str text=null, Int initValue=null, str loc=callerLoc()) {

# RadioButtonBox
Old: public constructor(Window parent,
                        str question,
                        str[] keys,
                        str[] labels,
                        str selectedKey,
                        str caption=$questionDialogCaption,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true) {
New: public constructor(Window parent,
                        str question,
                        str[] keys,
                        str[] labels,
                        str selectedKey,
                        str caption=$questionDialogCaption,
                        int defaultButtonNo=1,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        pointI pos=(-1, -1),
                        sizeI size=(280, 80),
                        bool initVisible=true,
                        str loc=callerLoc()) {

Old: public str makeRadioButtonBox(Window parent,
                                   str question,
                                   str[] keys,
                                   str[] labels,
                                   str selectedKey,
                                   str caption=$questionDialogCaption,
                                   function(Window dialog) positionCallback=null) {
New: public str makeRadioButtonBox(Window parent,
                                   str question,
                                   str[] keys,
                                   str[] labels,
                                   str selectedKey,
                                   str caption=$questionDialogCaption,
                                   function(Window dialog) positionCallback=null,
                                   str loc=callerLoc()) {

Old: public int makeYesAllNoCancelDialog(Window parent, str question,
                                         dialogIcon icon=dialogIcon.none,
                                         function(Window dialog) positionCallback=null) {
New: public int makeYesAllNoCancelDialog(Window parent, str question,
                                         dialogIcon icon=dialogIcon.none,
                                         function(Window dialog) positionCallback=null,
                                         str loc=callerLoc()) {

Old: public int makeYesAllNoCancelDialog(Window parent, str label, str question,
                                         dialogIcon icon=dialogIcon.none,
                                         function(Window dialog) positionCallback=null) {
New: public int makeYesAllNoCancelDialog(Window parent, str label, str question,
                                         dialogIcon icon=dialogIcon.none,
                                         function(Window dialog) positionCallback=null,
                                         str loc=callerLoc()) {

# ResizableDialogWindow
Old: public constructor(Window parent, 
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        FrameStyle frameStyle=noFrame,
                        frame3DState frameState=frameStateUp,
                        str label="Dialog",
                        pointI pos=(-1, -1),
                        sizeI size=(300, 200),
                        bool initVisible=true,
                        bool noBorder=false,
                        bool noCaptionStyle=false,
                        bool shadow=false,
                        bool addMinimize=false,
                        bool addMaximize=false,
                        bool resident=false,
                        bool forceShowInTaskbar=false,
                        str key=null,
                        sizeI minSize=(-1, -1),
                        sizeI maxSize=(-1, -1)) {
New: public constructor(Window parent, 
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        FrameStyle frameStyle=noFrame,
                        frame3DState frameState=frameStateUp,
                        str label="Dialog",
                        pointI pos=(-1, -1),
                        sizeI size=(300, 200),
                        bool initVisible=true,
                        bool noBorder=false,
                        bool noCaptionStyle=false,
                        bool shadow=false,
                        bool addMinimize=false,
                        bool addMaximize=false,
                        bool resident=false,
                        bool forceShowInTaskbar=false,
                        str key=null,
                        sizeI minSize=(-1, -1),
                        sizeI maxSize=(-1, -1),
                        str loc=callerLoc()) {

Old: public constructor(Window parent,
                        TitleBarConfig tbConfig,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label="Dialog",
                        pointI pos=(-1, -1),
                        sizeI size=(300, 200),
                        bool initVisible=true,
                        bool resident=false,
                        bool forceShowInTaskbar=false,
                        str key=null,
                        sizeI minSize=(-1, -1),
                        sizeI maxSize=(-1, -1)) {
New: public constructor(Window parent,
                        TitleBarConfig tbConfig,
                        Font font=systemFont(),
                        Brush brush=null,
                        pointI origin=(0, 0),
                        bool selectable=true,
                        str label="Dialog",
                        pointI pos=(-1, -1),
                        sizeI size=(300, 200),
                        bool initVisible=true,
                        bool resident=false,
                        bool forceShowInTaskbar=false,
                        str key=null,
                        sizeI minSize=(-1, -1),
                        sizeI maxSize=(-1, -1)) {
                        str loc=callerLoc()) {

eventLogG3.cm

The access modifier for the valid method for G3UserEvent has been changed from public to package:

Old: final public bool valid(G3InvalidList list) {
New: final package bool valid(G3InvalidList list) {

Added new arguments for the G3ManufacturerId constructor to support part anlytics for Material Portal Textile manufacturers. statsManufacturerType.cil is for CIL manufacturers while statsManufacturerType.mpCompanyId are for Textile manufacturers using the material portal moving forward.

Old: public constructor(str mPMEnterprise) {
New: public constructor(str enterprise, statsManufacturerType mType=statsManufacturerType.cil) {

Also some interfaces were updated in the cm.statistics package as part of this change. Please refer to the documentation for those changes as well.

Runtime/Behavior Changes

UrlField button background brush

UrlField.drawUrlButton() now obtains the button fill from buttonBgBrush() instead of reading skin.control directly. The default implementation returns skin.control, so unmodified fields retain their previous appearance.

Existing UrlField subclasses that already implement buttonBgBrush() will now have that method called whenever the browse button is drawn. Verify that the returned brush is appropriate for every enabled button state. Subclasses that override drawUrlButton() without calling super() are unaffected by this new hook.

win_drawGlyphOutline improvements

win_drawGlyphOutline now advances text using glyph advance (gmCellIncX) instead of advancing from the maximum x extent of each emitted glyph outline. This improves 3D text spacing, especially for whitespace characters, but may change the final width and appearance of text generated from outline data.

Changes to callerLoc

Separator for `callerLoc()`` has been changed from '.' to '::' to make it easier to extract the package name.

Manufacturer prefix for dialogs

Starting in 17.5 Major, subclasses of DialogWindow in an extension will show the manufacturer prefix in the title bar. This is to aid users to identify the source of a dialog.

The same behavior of showing manufacturer prefix also applies to the following classes:

  • FlexDialogWindow
  • ModalDialog
  • NonModalMessageBox
  • NonModalWarningDialog
  • ProgressDialog