Skip to content

Private function figFromWebwindow doesn't work on R2017a #18

Open

Description

@Proxoso

Expected Behavior

   myGUI = DOMdemoGUI;
   mlapptools.fontColor(myGUI.TextArea, 'aqua');

Change color from TextArea font to 'aqua'

Actual Behavior

Error using arrayfun
matlab.internal.webwindow output type is not supported. Set 'UniformOutput' to false.

Error in mlapptools/figFromWebwindow (line 434)
            ww = arrayfun(@mlapptools.getWebWindow, hUIFigs);

Error in mlapptools/waitTillWebwindowLoaded (line 595)
              hFig = mlapptools.figFromWebwindow(hWebwindow);

Error in mlapptools.getWebElements (line 140)
            mlapptools.waitTillWebwindowLoaded(win);

Error in mlapptools.fontColor (line 69)
            [win, ID_struct] = mlapptools.getWebElements(uiElement);

If changing line 434 from:
ww = arrayfun(@mlapptools.getWebWindow, hUIFigs);
to
ww = arrayfun(@mlapptools.getWebWindow, hUIFigs, 'un',0);

following error occurs:

Error using getappdata
Value must be a handle.

Error in mlapptools/getTimeout (line 488)
            to = getappdata(hFig, mlapptools.TAG_TIMEOUT);

Error in mlapptools/waitTillWebwindowLoaded (line 598)
            to = mlapptools.getTimeout(hFig);

Error in mlapptools.getWebElements (line 140)
            mlapptools.waitTillWebwindowLoaded(win);

Error in mlapptools.fontColor (line 69)
            [win, ID_struct] = mlapptools.getWebElements(uiElement);

Steps to Reproduce the Problem

Enter this command in the Matlab Command Line (or any other command from the examples):

  myGUI = DOMdemoGUI;
  mlapptools.fontColor(myGUI.TextArea, 'aqua');

Specifications

  • MATLAB Release: R2017a
  • Operating System: Win 7

Activity

  1. sco1 commented on Mar 26, 2018

    @sco1
    Member

    This is likely version specific, the issue does not occur in R2017b.

  2. added
    version-specificFor issues that only apply to a specific MATLAB version (e.g. compatibility with new releases).
    on Mar 26, 2018
  3. Dev-iL commented on Apr 8, 2018

    @Dev-iL
    Member

    @Proxoso While we're adding a warning or a workaround for older versions, you can use the setStyle syntax, which should work :

    myGUI = DOMdemoGUI;
    [hWin, widgetID] = mlapptools.getWebElements(myGUI.TextArea);
    mlapptools.setStyle(hWin, 'color', 'aqua', widgetID);
  4. changed the title [-]Mlapptools doesn't work on R2017a?[/-] [+]Private function `figFromWebwindow` doesn't work on R2017a[/+] on Apr 8, 2018
  5. added
    workaround-availableOriginal problem still exists, but there's an alternative way to achieve the same thing w/o errors.
    on Apr 8, 2018
  6. altmany commented on Jul 25, 2018

    @altmany

    @Dev-iL - if you look at the error stack provided by @Proxoso , you'll see that it stems from mlapptools.fontColor:69 -

    [win, ID_struct] = mlapptools.getWebElements(uiElement);

    which indicates that your suggested workaround will also fail, because getWebElements fails.

    My hunch is that it's due to a slow rendering, which means the timeout is reached before the widgetID is available.

  7. Dev-iL commented on Jul 25, 2018

    @Dev-iL
    Member

    @altmany Good point. I have modified the waitTillWebwindowLoaded logic a bit to make getWebElements less likely to fail due to trivial problems; it might help with this issue as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    version-specificFor issues that only apply to a specific MATLAB version (e.g. compatibility with new releases).workaround-availableOriginal problem still exists, but there's an alternative way to achieve the same thing w/o errors.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions