Skip to content

R2023a compatibility issues and suggestions #29

Open
@Daemund

Description

@Daemund

Summary

Was trying to apply CSS to my GUI using this excellent tool and encountered a few issues in newer releases, at least R2022b and R2023a. Here below are things that I have encountered.
Note: Have not tested all functionalities of mlapptools

Problem Description

  1. The data-tag is no longer stored according to:
    data_tag = char(struct(uiElement).Controller.ProxyView.PeerNode.getId);
  2. uigridlayout not supported
  3. Name of warning identifier in toggleWarnings has changed
  4. Slow performance when accessing many WidgetID's due to the version check in getWebWindow (not really an error)

My current workarounds:

  1. In getDataTag, line 360:
    data_tag = char(struct(uiElement).Controller.ViewModel.Id);
    Note: This is only needed for R2023a (and onwards?) so the old code should be still be used for older version, now have an if-statement that use the matlab version (see point 4).
  2. In getWebElements, line 127, add uigridlayout:
    case {'uipanel','figure','uigridlayout'}
  3. In toggleWarning, line 436, use this warning ID instead:
    OJF = 'MATLAB:ui:javaframe:PropertyToBeRemoved';
  4. Not sure about the best solution, I have now added the matlab version as an input argument to getWebElements to avoid version lookups on each function call.

Specifications

  • MATLAB Release: R2023a
  • Operating System: Win 10
  • mlapptools version (or commit link/hash): v0.4.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions