MATLAB: App Designer Capabilities – it is nerve-wrecking!

app designerappdesignercapabilitiesMATLABmenubarpanprintrotate3dsavesaveassavefig

Hi!
I am exploring the app-designer instead of GUI. I want to use the app-designer just because it looks nicer, but I am having difficulty figuring out its capacilities. It is getting really nerve-wrecking actually b/c it is hard to find examples on app designer, even something little takes long time to figure out. I have quick questions I will list below. In an app that is compiled as a standalone:
  1. Can I add "print" to the menubar, the generic "print" we have on a typical guide?
  2. Can I add, save, saveas,… to menubar, in this save it d save whatever is seen on the app's current screen including all components?
  3. Can I manipuate a table to have move-up and move-down buttons?
  4. Can I have pan, rotate, etc. for a figure?
I think all of those are doable using "Guide", I wonder if they are doable in the app-designer? I appreciate if you guys could answer those questions!

Best Answer

1) "Can I add print to the menubar?
You can add anything you want to the menubar. From the AppDesigner interface, drag and drop the Menu Bar from the Figure Tool section to your GUI. Add a new menu item and rename the new "Menu" to "Print". Then in the MenuSelectionFcn() callback function, you can assign any subroutine you'd like. However, print() is not supported for UIFigures (bummer) so I'm not sure what you intend to print. You can always use a 3rd party screen shot program.
2) "Can I add, save, saveas...."
Similar to my comment above, save(), saveas() and savefig() are not supported for UIFigure (double bummer).
[UPDATE]
If you're working with GUIDE or a GUI developed from uicontrol(), you can add a button, name it "save", and in its callback function, you can save an image of the GUI like this.
saveas(handles.MyGUI, 'MyGUIsnapshot', 'png')
% * 'MyGui' is the handle to your GUI figure.
% * I don't recommend saving it as 'fig' since you'll end up with
% multiple GUIs instead of an image of your GUI.
3) "Can I manipuate a table to have move-up and move-down buttons? "
The tables in appdesigner already have those features.
4) "Can I have pan, rotate, etc. for a figure?"
Yes! For UI axes, both rotate3d() and pan() only support the on and off arguments.
pan(app.UIAxes, 'on')
rotate3d(app.UIAxes, 'on')