File Exchange

image thumbnail

R2014b Graphics Update Tools

version 1.0.1 (871 KB) by Ian Noell
Tools for Transitioning to R2014b Graphics

7 Downloads

Updated 03 Dec 2014

View License

MATLAB Graphics Updater
Update your code to work with the MATLAB graphics changes in R2014b.

The MATLAB Graphics Updater app checks MATLAB files for code that requires updating in order to work with the MATLAB graphics changes introduced in R2014b. It produces an interactive HTML report with a list of possible issues, help dialogs with descriptions of the issues, and the recommended solutions. For some issues, the app can automatically replace the current code with the recommended solution.

Missing Graphics Finder

Analyze MATLAB figures for missing graphics objects.

The Missing Graphics Finder app detects when graphics objects are obscured behind uipanels within a figure. The app analyzes all open MATLAB figures and apps and generates a list of objects that are hidden behind panels. To fix them, set the uipanel as the parent of the hidden graphics object. This fix is compatible with previous versions of MATLAB.

Comments and Ratings (16)

yunrui wang

Hello Ian,

Can we use this tool inside MATLAB R2016b on Linux (RHEL-7)?

lior

David Barry

Hi Ian,

Slightly more major issue this time. I am getting the error below when I try to run the graphics updater app in 15b.

---
Warning: The EraseMode property is no longer supported and will error in a future release. Use the ANIMATEDLINE function
for animating lines and points instead of EraseMode 'none'. Removing instances of EraseMode set to 'normal', 'xor', and
'background' has minimal impact.
> In waitbar>make_waitbarwin (line 233)
In waitbar (line 125)
In mtcodetools.ProgressBar/createWaitbar
In mtcodetools.ProgressBar
In runGraphicsUpdater
In graphicsUpdater (line 89)
In MATLABGraphicsUpdaterApp/startApp (line 59)
In MATLABGraphicsUpdaterApp (line 38)
In appinstall.internal.runapp>execute (line 78)
In appinstall.internal.runapp>runapp13a (line 57)
In appinstall.internal.runapp>runcorrectversion (line 36)
In appinstall.internal.runapp (line 18)
Error using sprintf
Function is not defined for 'matlab.ui.Figure' inputs.

Error in waitbar>make_waitbarwin (line 247)
start(timer('TimerFcn', sprintf('try set(%g, ''Visible'', ''on''); catch end', ...

Error in waitbar (line 125)
win= make_waitbarwin(win);

Error in mtcodetools.ProgressBar/createWaitbar

Error in mtcodetools.ProgressBar

Error in runGraphicsUpdater

Error in graphicsUpdater (line 89)
runGraphicsUpdater(varargin{:});

Error in MATLABGraphicsUpdaterApp/startApp (line 59)
eval('graphicsUpdater');

Error in MATLABGraphicsUpdaterApp (line 38)
startApp(obj)

Error in appinstall.internal.runapp>execute (line 78)
out = evalin('caller', [script ';']);

Error in appinstall.internal.runapp>runapp13a (line 57)
outobj = execute(fullfile(appinstalldir, [wrapperfile 'App.m']));

Error in appinstall.internal.runapp>runcorrectversion (line 36)
appobj = runapp13a(appinstalldir);

Error in appinstall.internal.runapp (line 18)
out = runcorrectversion(appmetadata, appentrypoint, addonmetadatadir);

David Barry

Hi Ian,

Just a minor issue. The graphics updater app isn't removing itself from the path when I close it. Presumably because you're not returning a figure handle from the main function. Difficult one to catch I guess with that dialog window coming first and user also being able to hit cancel on that. Would be good to see a pattern for handling dialog apps cleanly.

Ian Noell

Hi Peter, I'd be happy to help. Can you clarify whether your problem is with the updater tools or with updating your code.
I suggest that you send a support request to MathWorks and mention that you have contacted me through the File exchange. I can then help further.
Thanks, Ian

Peter

Hi Ian,

Thanks for developing the tool. However, I couldn't get this to work with version 2015a. I still have missing graphics in my GUI that I developed with 2014a. Please help.

Peter

Richard

Dear Ian,

Many thanks for doing this. I just ran the graphicsUpdater & cleared most of the issues & now my gui app appears to be working nicely as before under R2014a. Saved me a ton of work.

-Richard

OK, thank you for your help. The problem only was with some panels, and for the moment, I simply deleted them!

Ian Noell

Hello Doug,

The Missing Graphics Finder should work while you are running your GUI application. The one exception that I can think of is when your GUI figure is modal, which blocks use of other GUIs. You may be able to get around this by CTRL-C when your GUI is running.

Do you have a problem with missing graphics in your GUI? If so, and the above trick doesn't work, I suggest you contact MathWorks Support and mention you have asked me via the File Exchange submission.

Thanks, Ian

Thank you Ian,

It's clearer to me now -- you just point to the folder that holds the .m files you want to change.

For the Missing Graphics Finder, it doesn't seem like you can run it while a gui application is running, if the figures aren't independent of the gui, right? Is this a case for a bang application?

Thanks again

Doug

Ian Noell

Hello Douglas,

The MATLAB Graphics Updater overwrites your code when it makes changes so the location of your code will not change. A simple backup function is provided.

The starting folder is controlled by the MATLAB app system. I will investigate whether the starting folder can be changed although this is not something I can directly change.

Thanks Ian

Thanks for the utility. I'm a little confused, though: When you start it, it asks you to "Select folder to update for MATLAB graphics changes in 2014b", giving the default as "Downloads" (Windows 7). This is where the recommended changes will be stored? What about in the MATLAB folder? Thanks!! Doug

This utility works fine and is very quick even on a large dataset of M-files (tested on a server having more than 3000 M-files).
However a feature is missing : it would be great if we could export the HTML report in PDF or Word with "Show Details section" included. I could email the output report to software developers.
Thanks

Ian

Thanks for this very handy tool!

Updates

1.0.1

Use mltbx format
Update ListenerChange message

1.2.0.0

Changing title of entry

1.1.0.0

Update ready for R2014b release

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux