MATLAB Answers

Copying a GUIDE interface and retaining the tag names

3 views (last 30 days)
Matt
Matt on 24 Jan 2018
Commented: Matt on 9 Feb 2018
Hi all,
I am updating a large program I wrote a while back that uses 14 separate interlinked GUIDE interface windows. I am creating a tabbed version instead using TabManager on the File Exchange.
Is there a way to copy the components from one GUIDE GUI to another and retain the tag names?
By default they are renamed when I copy them into my new interface. If I could avoid this it would save me a couple of days work re-naming hundreds of static text and edit text fields, buttons etc. I could then copy the code from my old callbacks to my new callbacks and know everything will still work as it did.
I think the answer to this is "no"...?
Thanks,
Matt

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 8 Feb 2018
Edited: Walter Roberson on 8 Feb 2018
"Is there a way to copy the components from one GUIDE GUI to another and retain the tag names?"
openfig() the .fig file associated with the GUI. copyobj() the appropriate parts of the returned figure into the figure that is going to be the merged result.
Note that the callbacks that GUIDE generates internally all reference the original GUI name, such as
@(src, event) OriginalGUI('openFiles_KeyPressFcn', src, event, guidata(src) )
and those properties are going to remain the same when you copyobj(), leaving you with references to multiple functions. copyobj() will not adjust the saved callback properties for you.

  1 Comment

Matt
Matt on 9 Feb 2018
Very interesting approach - I didn't know you could do that. I will try your method.
I've done it all manually now, and that was OK as it forced me to re-tag everything better than it originally was, and in a more structured way - which it had to be as there are 14 very full tabs now!

Sign in to comment.

More Answers (1)

bon sai
bon sai on 25 Jan 2018
try 'Save as..', I think

  1 Comment

Matt
Matt on 8 Feb 2018
Thanks, but I was trying to copy the components on several GUIs onto a new larger tabbed GUI. The only way was to copy them across and lose the tags, but it forced me to re-tag everything better than it originally was, and in a more structured way - which it had to be as there are 14 very full tabs now!

Sign in to comment.


Translated by