View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

4.6 | 96 ratings Rate this file 69 Downloads (last 30 days) File Size: 876 KB File ID: #6996 Version: 1.4
image thumbnail

TabPanel Constructor v2.8 (2010)


Elmar Tarajan (view profile)


25 Feb 2005 (Updated )

TabPanel Constructor offers the easiest way for creating of tabpanels in MATLAB!

| Watch this File

File Information

TabPanel Constructor offers the easiest way for creating of tabpanels in MATLAB!

- No programming is necessary!
- All tabpanels can be edited comfortably with GUIDE!
- All MATLAB UI controls are supported.
- result is the original FIG-file and the accompanying M-file which is automatically extended with callbacks
- No ActiveX or JAVA components are used!


This file inspired Uitabpanel and Simple Optimized Gui Tabs.

MATLAB release MATLAB 7.10 (R2010a)
Other requirements tested with R2006a/b, R2007a/b, R2008a/b, R2009a/b, R2010a and R2010b.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (161)
11 Sep 2016 sam barry

how to install file 'TabPanel Constructor v2.8 (2010)'? Thank u

Comment only
27 Jul 2016 Gun-Hee

03 Jul 2016 Timo Benzel

It is very easy to control and definitely does what it is supposed to.
However there is one bug, when you try to start by loading an existing GUI into a tab. Then this tab will be on all panels and cannot be removed since it does not appear in the edit mode... but that is not really a big problem i think.


Is this package working well in Matlab 2013a?

Comment only
02 Mar 2016 Christophe Raynaud

16 Dec 2015 mahendran devarajlu

I could able to create tab using this constructor in Windows but it is not working in Linux. Anyone faced this issue?
Please help me to get rid of it.

Comment only
13 Nov 2015 Bruno Luong

Bruno Luong (view profile)

pcode no longer supported in recent MATLAB version. That's very sad , because it is a good package

Comment only
01 Sep 2015 cheng joylin

10 Jun 2015 Vincent Gigot

Would you please give access to the code of tabpanel.m and tabselectionfcn.m (maybe other function also), because pcdoe need to be updated for latest Matlab version.
Thnak you.

Comment only
07 Apr 2015 madhu T S

very good application... thanks a lot

03 Apr 2015 Vincent Gigot

This good application, very useful seems to be obsolete with tha last version of Matlab, the release R2015a.
Graphics pb occurs, like hiddent parts, or cut of text, and the worst is that any change of GUI of different panels cannot be saved anymore.

For info i receive this error message everytime i try to save my work :

Error using
There is no units property on the Menu class.

Error in tabpanel>UpdateCurrentPanel (line 321)

Error while evaluating UIControl Callback

Thanks for news if we have to recode our works or if an update is gonna be developped.
Best regards.

Comment only
10 Dec 2014 Lei

Lei (view profile)

Elmar, great work!
Just one comment: I used it in Matlab R2013a, and the code cannot generate SelectionChangeFcn for buttongroup panel. Even I manually added the SelectionChangeFcn into the m file, it does not work in the GUI.
BTW, I have seen the comments by Syed Hussain and your response, but it may still not work for R2013a. Could you please provide a new version for the latest MATLAB? Thank you!

07 Oct 2014 Bruno Luong

Bruno Luong (view profile)

Under V2014B the table label is hidden by other objects. The work around it to add this piece of code at the opening of the GUI

p = handles.TBP_TabPanelContainer(2);
h = get(p,'Children');
ispanel= strcmp(get(h,'Type'),'uipanel');
set(p,'Children', [h(~ispanel) h(ispanel)]);

Comment only
23 May 2014 AR

AR (view profile)

Does not work under Ubuntu 12.04, Matlab 2012a

Figure name has Upper and lower case
e.E.: My_Figure.fig
The tabpanel is called "tabPanel"

Calling tabpanel('My_Figure.fig', 'tabPanel')

creats a pop up message : file 'my_figure.fig' not found.

This works:
fh = openfig('My_Figure.fig');
ans =

1 0 0 -1 -1 -1 0 0

23 May 2014 AR

AR (view profile)

02 May 2014 yanjiutou

the source code file is fake.

27 Nov 2013 Romain

Romain (view profile)

This application is just working very well and is very useful.
I am for the moment working on version 2011a and will soon update to 2013. Do you know if any update will be done in order to be compatible with this version ? (To avoid to loose my work...)
Anyway, great job !

20 Aug 2013 Jeremy

Jeremy (view profile)

I am also getting pcode errors in 2013a. It would be nice if author could update, or release the source code to someone else to do so.

There do not seem to be any alternatives to this in more up-to-date matlab versions. Anyone know of any?

25 Jul 2013 Sunil Shahi

has anyone had any luck using matlab 2012b version? I have pcode error.
after I do pcode('tabpanel') and call tabpanel('myFig','myTab') doesnot work. it does nothing.. any help? I tried in matlab 2011 it works fine..

25 Jul 2013 Chris Wa

I'm using your tablpanel, it's working quit well on 2011band makes my GUI much more clear, but I have a problem, if i copy my tabbed_gui.m into another folder, I can't save the changed GUI anymore, because I get the following error:
Error using guidemfile>getFileContentsNoSave (line 25)
MATLAB-code file
does not exist.
I found out, that there is a field in the tabpanel_options which is called 'LastSavedFile' which always contain the path where the GUI was created.
Could you implement a Button like 'SaveAs', it would probably solve this problem.

18 Jul 2013 BB

BB (view profile)

26 Jun 2013 tdh0556

Great job! Enjoy it!

28 May 2013 Laurens

Nice piece of programming! When creating a .p-file of a program where this version is implemented I get a warning that the compatibility will soon be outdate. Anybody a solution?

19 Mar 2013 Cristina

I have faced too many errors and problems with this tool. The worst one: changes are not saved! If tabpanel is opened, the changes are there implemented, but when saving and closing the editor, initially it seems they have been saved but when the fig is loaded, it keeps as it was. Desperating!! If you want to do a very simple GUI,ok. But not useful for more as problems just keep appearing.

12 Feb 2013 JoE

JoE (view profile)

Sorry for my last post.

I just figured out, that I did not have checked the option to create callback function automatically.

Sorry for this unnecessary comment.
And thank you for doing great job.

12 Feb 2013 JoE

JoE (view profile)

Thanks a lot.
Just one problem. I can not use Editor to edit Callback functions for e.g. buttons on tabs.
I am working on R2012b, so I'm not sure if it is supported.

Thank you for response.

Comment only
11 Oct 2012 Xunkai Wei

very good, but could you share the source code ?

28 Sep 2012 Soren Preus

Nice tool, easy to use! Unfortunately, I have a relatively large GUI in which case MATLAB frequently crashes when going <-> between the tabpanel editor and my original .fig file in GUIDE. MATLAB e.g. crashes when I try to open my GUI.fig in guide after I've run the tabpanel-editor (it didn't do this before using tabpanel). I have tried increasing the JAVA heap memory without any luck.

Comment only
24 Sep 2012 H

H (view profile)

06 Sep 2012 David Ruiz

Hi i'm having problem with the link to the file.

Comment only
10 Apr 2012 Joshua

Joshua (view profile)

I'm having a problem getting UI Panels to work within tab panels

Comment only
22 Mar 2012 waveui

waveui (view profile)

I have the problem, when I delete a tab of an existing tabpanel-figure all panels move down a bit. So it is often necessary to rebuild the whole tabpanel-figure (with all tabs) if I do not want the panels to move to the bottom. So updating tabs (with existing figures) is quite complicated. Do you experience the same problem? Is there a solution to this problem? Thanks!

Comment only
29 Feb 2012 Selcuk Fidan

This program is awesome! Great work!

22 Feb 2012 Yuri K

Yuri K (view profile)

18 Jan 2012 Guilherne

10 Jan 2012 Vincent Gigot

Thnks for this great contribution to UI development.
I just have a problem of compatibility with my Matlab release R2011b (64bits).
pcode regeneration of both tabpanel.p and tabselectionfcn.p seems not to work. I happy to see that i'm not the only one in this case reading previous commentaries.
Moreover there is another warning about tabpanel.p announcing an UNKNOWN function (my UI name file is SPIKES.fig ) :

>> tabpanel('SPIKES.fig','spikes_tabpanel')
Warning: Could not find appropriate function on path loading function
handle >UNKNOWN Function
> In C:\Program Files\MATLAB\R2011b\toolbox\matlab\graphics\hgload.p>localLoadFile at 169
In C:\Program Files\MATLAB\R2011b\toolbox\matlab\graphics\hgload.p>hgload at 59
In openfig at 72
In C:\CSGA-CNRS\TRAVAUX\Matlab\SPIKES\Spikes_Tab\tabpanel.p>tabpanel at 115

Thanks for your suppoort.

11 Nov 2011 Guilherne

I'm facing the same problem of David..

Comment only
07 Nov 2011 Felix

Felix (view profile)

Is there anybody out there who manage to get this tool working under Matlab 2011b? I get the following warning/error message when opening the tabpanel-tool:

Warning: The P-code file tabpanel.p was generated prior to MATLAB version 7.5 (R2007b) and will not be
supported in a future release. Use pcode to regenerate tabpanel.p using MATLAB R2007b or later.
Error using copyfile
All arguments must be one-dimensional strings.

tabpanel.p>tabpanel (line 223)

Thanks for your support.

Comment only
02 Nov 2011 Thomas

Thomas (view profile)

Absolutely amazing! I was trying to program something like this for days, but your Tab Creator ist a thousand times better than my best try!!
Thank you so much for sharing your program

30 Oct 2011 Guilherne

I need some help. I can't edit my GUI anymore, the menu of the constructor went so down on my screen that i can use it!

Comment only
20 Oct 2011 David

David (view profile)

Awesome tool. There is one bug that is really annoying me. I made a GUI like normal with a few tabs. After working on the GUI for a while everything is great until I want to change the names of the tabs or add a new panel. The minute I try to do this, the contents of all my tabs get resized and moved. I found out that all of the contents shifted when opening my figure using GUIDE but manually moving the tabs back to their original location will break future ability for adding and renaming tabs correctly. Is there a way to solve this?

Comment only
12 Jul 2011 Marcelo

Hi, I'm trying to use tabpanel under Ubuntu Linux 10.04 LTS 32 bit using Matlab R2010b 32 bit. I avoided using caps but I only get an error message:

>> tabpanel('test', 'test')
??? Error using ==> copyfile
All arguments must be one-dimensional strings.

Error in ==> /home/myhome/mycode/tabpanel/tabpanel.p>tabpanel at 223

Am I doing something wrong? Thanks!

Comment only
21 Jun 2011 Alessandro C.

17 Jun 2011 Nicolas

Hello, I have an issue, I don't remember the name I gave to the tabs in my main fig, is there a way to find it?

12 Jun 2011 Jose Maria Garcia-Valdecasas Bernal

Nice implementation to design graphically tab panels. I found one bug. Your code is not case-sensitive, and while under Windows this is not a problem, under linux tabpanel doesn't work because it can't find the fig. (I guess it's the same bug Igor found).

01 Jun 2011 MARC SOLÉ

Thank you very much for the tool, it is really great!

I have a question, how can I change the visible tab from MATLAB code? I need to change the visible tab when I push a button.



23 May 2011 Martin

Martin (view profile)

13 May 2011 Amjad Elshenawy

Very useful tool!

One question:
I developed MyGUI using TabPanel Constructor; MyGUI is getting more complex with lots of objects. Hence I decided to export MyGUI to a single M-file in order to handle it programatically without GUIDE.
When exporting the figure to a single M-file, the tabs do not work!
Is there a solution to this problem?

Thanks a lot!

19 Apr 2011 Jonas Reber

this is awesome!

could you regenerate the p-code for tabselectionfcn? I always get this annoying warning about it not being supported (see csb's message).

I'm using MATLAB Version ( R2011a

thank you!

Comment only
30 Mar 2011 Arthur

Arthur (view profile)

Very nice!

16 Mar 2011 csb

csb (view profile)

Hi, Wonderful job and very useful ,thanks a lot. However, I get the message

Warning: The P-code file tabpanel.p was generated prior to MATLAB version 7.5 (R2007b) and will not be supported in a future
release. Use pcode to regenerate tabpanel.p using MATLAB R2007b or later.

I am using MATLAB Version (R2010b)

Could it be possible for you to regenerate the sources ?

Thanks a lot,


Comment only
23 Feb 2011 Gustavo

Great tool!
Just like Juan Navas, I would like to change the background color of the tabs. It would be very nice if it was possible.

Thank you very much

08 Feb 2011 Steve

Steve (view profile)

Never mind. I finally figured the correct callback name of:

function *****_TabSelectionChange_Callback(hObject, eventdata, handles)

08 Feb 2011 Steve

Steve (view profile)

I think this is a great tool, It near perfectly does what I need. However, I am having one issue. I cannot get a "SelectionChangeFcn" Callback function when I select it on the settings menu. I am trying to implement various jTree implementations on different tabs however the jTree is displayed no matter the tab selected (instead of just the correct tab). I think I can correct this by setting the jTree visibility to 'off' depending on the tab selected (I am new to jTree also) but I need a callback for the tab selection change.

Any help or ideas are appreciated. I really like this tab implementation and don’t really want to try any other tab methods since this implementation will display previously built GUI figures.

Comment only
13 Jan 2011 David

David (view profile)

Is the feature for importing an already made FIG file for a new tab working? Everything time I try to create a new tab and specify an existing FIG, it just opens the FIG and not make the content of the tab the FIG.

Comment only
02 Dec 2010 Rajib Ahsan

21 Nov 2010 Igor

Igor (view profile)

Finally, I ran into a couple more bugs shown on video:

We got working gui_host.fig
( tabpanel('gui_host_good.fig','TabPanel') - ok , save ok )

2) if we rename it to gui_host_good.fig ,

results in:

??? Error using ==> copyfile
All arguments must be one-dimensional strings.

Error in ==> F:\Igor\Documents\IAR\avr644\v1\Matlab\GPlib\tabpanel\tabpanel.p>tabpanel at 223

3) we also got 2nd version of gui_host.fig , stored as gui_host_bad.fig , I can't remember what exectly had I done wrong with it, but now when I click 'Save and close' after some editing, it resuts in

??? Reference to non-existent field 'lastSavedFile'.

Error in ==> F:\Igor\Documents\IAR\avr644\v1\Matlab\GPlib\tabpanel\tabpanel.p>FigureCloseRequest at 943

??? Error while evaluating uicontrol Callback

Comment only
20 Nov 2010 Igor

Igor (view profile)

Hi Elmar,
You tool is great!
Yet, after a while, a ran into a couple of bugs :
1)suppose Matlab's current folder is .\
if we place gui.fig to .\GUI_folder\gui.fig (folder is added to Matlab's path) tabpanel('gui.fig','TabPanel') wil open gui.fig , as expected, but later it saves it as to current folder, .\gui.fig.
Same occurs to gui.m.

2)Suppose our figure file is GUI.fig.
tabpanel('GUI.fig','TabPanel') will open it OK, yet, when we try to save it, it will be renamed to gui.fig (lower case).

3)About screens with different DPI...This is more like a suggestion..but..
Panel size setting can be set in pixels only. And it's maintained that way... 'pixels' is not a default matlab's 'Units'. So, when we launch GUI created on PC with one DPI settings on PC with another DPI settings we'll get some artifacts for sure....
And even if we'll set all 'Units' to 'pixels' tabs font is still changing,and tab labels no longer fit in their places (they look like 'LowLe...' insted of 'LowLevel').

20 Nov 2010 Igor

Igor (view profile)

23 Sep 2010 Dean Mark

Eugen Schaefer,

You are right that control Create Functions do work. A more thorough investigation showed me that figure Create Functions DO NOT get called. After some fidling I am led to believe that this might be a bug.

Any ideas on how to make this work?

Comment only
21 Sep 2010 Eugen Schaefer

Dean Mark,

to call objects like "Create Function" or "Callback" you have to open the Inspector of the figure you want to open inside a tab --> guide('yourFigure.fig'). Second, insert %automatic in the field of CreateFcn or Callback depending on what you want to be called. Afterwards, save your insertions and close the figure.
Now, if you try to add your existing figure as tab, it should work.



Comment only
21 Sep 2010 Dean Mark

I like the option to add figure files into tabs. This is THE most missing feature in matlab!

However, I'm having one issue with this. When using your tool to open a figure inside a tab, object Create Functions aren't called. I'm specifically talking about the figure creation function, and a panel's creation function. I assume this happens with all other creation functions as well.

This is causing a great deal of mess inside my code. Any ideas on how to workaround this?

Comment only
09 Aug 2010 Celine Cluzel

Excellent tool and best available as far as I can see. this should be part of Matlab main code. Thanks Elmar.

23 Jun 2010 Elmar Tarajan

Elmar Tarajan (view profile)


Many thanks for sending the example code. I have found the cause of the problem. I'm definitely sure, that you have created the tabs using older version v1.3 and not v2.7 as you have mentioned before.

These versions are incompatible to each other. There is no way to update your tabs to a current version. This has to be rebuilt again.


Comment only
22 Jun 2010 Elmar Tarajan

Elmar Tarajan (view profile)


Please contact me directly via mail and let me know which MATLAB- and TPC-version is in use. If possible, send me a working example to investigate.


Comment only
22 Jun 2010 San

San (view profile)

Hi Elmar, You have done an excellent job with tabpanel constructor. I had created a tabbed gui which used to work before. Now when I want to edit, I get the error saying that the gui file is not found. In fact I have the the fig file in the same directory. My gui name is primitivesGui. But the error message says primitivesgui.fig not found. Is there a problem if the filename contains capital letters? when I renamed with small letters, I have some other error. Conversion to double from cell is not possible. Error in ==>tabpanel/tabpanel.p>tabpanel at 166. Any clues?

Comment only
22 Jun 2010 Patrick


thanks for that great code and the personal help.

best regards

11 Jun 2010 Elmar Tarajan

Elmar Tarajan (view profile)


> I copied my files to a different machine and it seems to be
> looking up the wrong path.
I could not reproduce this behaviour and never heared about such problems from other users - need detailed info. Please contact me via email.

> Is that asking for too much? :)
oh... yes... a little bit to much! :)

regards from Germany,

Comment only
10 Jun 2010 Hakim

Hakim (view profile)

It looks like the path to the .m file corresponding to the .fig is stored as an absolute path. I copied my files to a different machine and it seems to be looking up the wrong path. How do I update the path? or better still, cant it just be relative?

On a different note: You have put in good amount of effort into this and I thank you very much for sharing this! but there are little quirks that one may need to fix/workaround and would be really nice if you can share the .m files instead of pcode. Is that asking for too much? :)

Thanks again

Comment only
10 Jun 2010 Elmar Tarajan

Elmar Tarajan (view profile)

Hi Thomas,

many thanks for sharing you suggestions and hints regarding the unique tag's with other users!

> tabselectionfcn('tmp.fig','abc',2) which led to this error:
> ??? Error using ==> findobjinternal
You should use the handle of the figure and not the name of the figure-file! :-)

> I only suggest u add a 'close without saving'-Option
> to cancel any changes
already done in the new version! I'll update TabPanel Contructor to v2.8 within the next 2-3 days.


Comment only
08 Jun 2010 Thomas Mc Kie

Ok, after my question is gone, I have to add an additional comment for it (sorry!):

I tried to get the tabselectionfcn working. I have a figure (tmp.fig) and a text-field (tag: 'abc') in it, where I created two tabs ('aaa' and 'bbb').
I tried to switch to 'bbb' by:
tabselectionfcn('tmp.fig','abc',2) which led to this error:
??? Error using ==> findobjinternal
Incomplete property-value pair.

Error in ==> findobjhelper at 56
h = findobjinternal( varargin{:} );

Error in ==> findobj at 45
h = findobjhelper( varargin{:} );

Error in ==> C:\sim1\tabselectionfcn.p>tabselectionfcn at

Could you please offer a simple example-file for making the tab-selection-change work?

Everything else in ur program works very well, thx for ur work!

I only suggest u add a 'close without saving'-Option to cancel any changes if one made a mistake (and rename the 'X'-Button to 'Save and Close')

Comment only
08 Jun 2010 Thomas Mc Kie

For GUI's with tabs be carefull to rename all tags to unique tag-names (if u need the tag in your figur-m-file or anywhere else) within ur gui (can be done via the Object Browser for exisiting conflicts)

One need to be carefull on this, because the TabPanel Constructor does not create unique tag's for ur objects (and it shouldn't because this would change the tag-name during opening an existing tab, which I would hate!). So if u have two tabs and in both u have an edit-field, both will have 'edit1' as their tag.

Comment only
08 Jun 2010 Thomas Mc Kie

07 Jun 2010 Christian Cantelmo

05 Jun 2010 Christian Cantelmo

Is it now possible to import an existent fig file as new tab?
How can be done?

Comment only
11 May 2010 Sherif

Sherif (view profile)

Is it possible to change the tabs using programming?

Comment only
27 Feb 2010 Steve

Steve (view profile)

Got in personal contact with the developer: Quick Support, nice prog, 5 Stars from Austria

25 Feb 2010 Oleg Komarov

Oleg Komarov (view profile)

I don't like this submission since only .p code is available.

Comment only
30 Jan 2010 Gary

Gary (view profile)

John Simeral,
I have found that if I'm not careful, I can lose the tags on my ui controls when using tabpanel. That has led to errors that look similar to yours. I've found that I can avoid this by doing two things.
1) tabpanel is located in the same directory as the .fig file that I'm editing (probably not necessary).
2) ensure that GUI is not open when I run tabpanel on that GUI. (I think this is the one that matters)
Hope this helps.

Comment only
30 Jan 2010 Sadegh Bakhtiarzadeh

29 Jan 2010 John Simeral

Very nice - hopeful this will be the solution for panels in my app. However, after I add the panels using tabpanel and click to close & save, I get the error:
??? Reference to non-existent field 'lastSavedFile'
Can you guess the cause of this error?
Thanks, John

Comment only
28 Jan 2010 Sadegh Bakhtiarzadeh

Thanks about this great add-in! nice stuff.
I think it is better to increase the size of panel in its first appearance; I had some trouble to use it first time.
But I am looking for a possibility to change the tabs using programming; Is is possible with "TabPanel Constructor v2.6.1"?


Comment only
16 Dec 2009 Alvaro Navas

05 Nov 2009 David

David (view profile)

Agreed that this is quite useful and easy to use. Thanks! I have an issue that is related to what patrick asked about just a couple days ago. I haven't been able to effective resize and/or move the tab panel in Guide. It's not immediately clear to me what the easiest way to resize and re-position the tab panel would be. Again, many thanks!

Comment only
02 Nov 2009 patrick

Excellent software !

some issues though (v.2.6.1)
- each time a panel is edited/updated, the outer window grows bigger and bigger
- so I touched the black window (which says "Warning") to redimension it in Guide , now there are other windows behind, and the whole layout is screwed, is there a possibility to recover the default layout ?
-each time a panel containing a graph is edited, the reference to the graph is lost (even though the tag does not change), so that the graph must be deleted and re-created
- still GUI closing/restart when switching tabs in R2009a

thanks !

29 Sep 2009 CLou

CLou (view profile)

Great tool! I do have a question though - how can I use it as a wizard? I'd like to manipulate the tabs using buttons on the tabs. For example, clicking a button on TabA will advance the panel from TabA to TabB. I've been unable to figure this out. Please help!!! Thanks.

21 Sep 2009 Jan

Jan (view profile)

Hi, I'm quite new to GUI and I have complications how to use a plot for a figure, which is on one of those tabs. Could you help me pls?

Comment only
15 Sep 2009 Kenneth Faller II

21 Aug 2009 Elmar Tarajan

Elmar Tarajan (view profile)

Hi sarvendra,

the temp file is necessary only for internal usage. After pressing the save button in guide (and closing it) you should use the "update" button in TPC, which takes over the created tab into the main GUI application.

please write me directly if you have other question,


Comment only
21 Aug 2009 sarvendra

hey it is really great tool

but i have some problem can any one please help me out
problem is
when i press on edit button and after completing the gui of that tab in guide that file is getting saved in temp file and if i close it every thing is lost
if i close the main fig file and try to run the m file generated there is nothing on the screen

please help me out

13 Aug 2009 Guy

Guy (view profile)

Great Tool
Great Support

08 Aug 2009 João Domingos

awesome tool! just one noob question.. i want to compile a project and have the files:
- PET_Interface.fig and .m (which is my myGui.fig)
- and .p
- tabselectionfcn.m and .p as well

i tried to compile the project including in the main function all the possible .m and .p one by one. but in the end none of the projects created even start. Aplication opens the DOS windows and then it does nothing.. stays like this.. my GUI doen´t open and i can't run the program..
what am i getting wrong? which should be the file to include in the main function? the rest goes to the other files right?

tnks in advance!

05 Aug 2009 Sherif

Sherif (view profile)

Great work, thank you.

03 Aug 2009 Amjad Elshenawy

I am facing a problem with the tool
In fact, I use panels within the tabs; inside the panels I use popupmenus.
The callbacks associated with the popupmenus are never called.
I use MATLAB Version (R14) and tabpanel2.6.1
Please advise.
Thanks in advance.

Comment only
30 Jul 2009 Teunis

Teunis (view profile)

Fantastic peace of work. Well done and thanks for making our lives so much easier!

28 Jul 2009 Dom

Dom (view profile)

Great tool, especially when GUI's become "overcrowded".

Proper work well done!

17 Jul 2009 David

David (view profile)

A very great tool. I'm looking for such a tool for few months. Easy to handle, good structured!!!

Great job, great done!!!

23 Jun 2009 regina

regina (view profile)

hi! can anybody help me.
im using matlab (R14) Service Pack 3
i've extracted the files in here and im using the files in the folder with tabpanel 1.3(R13).

can anybody help me because when i tried running tabpanel('tabgui.','sampletab') in the command window it just say Undefined function or variable. should i close tabgui first? because i have tried closing it and running the tabpanel('tabgui.','sampletab') it still has the same errors. hope someone help me

Comment only
14 Jun 2009 Michael

@C3 PO: Thanks for ur help. I fixed the problem by using tabpanel v2.6

Comment only
13 Jun 2009 C3 PO

C3 PO (view profile)

@Michael, could be the case that your checkbox does not refer to the correct callback! Try to edit your GUI with GUIDE (beware of not changing anything of the figure editor!) and check the Objectbrowser. There you see the callback your checkbox refers to!

I experianced some major issues using tabPanel:

When testing the gui, fast switching between tabs restarts my gui..

When using tabpanel, no object attributes can be changed anymore after closing tabPanel (workaround: Objectbrowser with GUIDE on gui.m)

Do not try to add global tools to one of your tabpanels - will result in complete loss of your figure after saving!

I like this programme, although it still has some issues which can be very frustrating... (spent hours of redundant work caused by loss of elements and wrong callbacks / createfcns)

Environments used : Matlab 2008a, 2009a



Comment only
28 May 2009 Michael

Does somebody know whether the callback function for a checkbox element works properly with tabpanel (version 1.3)? I have the problem that the calback function of the checkbox element is not executed when i activate/deactivate the respective checkbox.

Comment only
24 Apr 2009 Nam-Eung Kim

Excellent program! I have been using this program for the past 1 year. I really like it even though there are some limitations. One thing that I still wonder is if I can use Menu Editor or Toolbar Editor. Can I use them without problem. Once I created a menu and tried to update it and I got the following error.

Error using ==> copyobj
Object uimenu[1] can not be a child of parent uipanel[1]

Am I doing something wrong? BTW I am using v2.6.

21 Apr 2009 Bob

Bob (view profile)

welldone Elmar, this tool is kind of professional,cool
but i also have some problems with it.
about : automatically extention of the callbacks
if i make some change with the edit button of tabpanel,for example, i change the tag of some buttons. and then push the update button. then re-open the m-file of my gui. i didn't find the callback with new tag. it seems that,only new buttons would be updated, is that normal or i did something wrong?


Comment only
21 Apr 2009 Bob

Bob (view profile)

03 Apr 2009 Peter

Peter (view profile)

Very handy tool, enormously eases my work of using tabs in Matlab! I am currently using it for my thesis.
One issue i would like to mention:
After closing TPC the gui is automatically started. How can i avoid this? Or did i miss something?


Comment only
02 Apr 2009 Linzem

Linzem (view profile)

how can i solve this problem?

??? Error using ==> set
Width and height must be > 0.

Error in ==> D:\tabpanel.p>UpdateTabpanel at 576

Error in ==> D:\tabpanel.p>Settings at 499

??? Error while evaluating uicontrol Callback

??? Index exceeds matrix dimensions.

Error in ==> D:\tabpanel.p>EditCurrentPanel at 153

??? Error while evaluating uicontrol Callback

Comment only
18 Mar 2009 Hannes K.

Very usefull tool! Thx Elmar!
I had a little trouble in creating nested tabs. (I'm stupid sometimes.. ;)
Here is a short example for all the other stupid guys out there:
creating nested tabs:
1. create a static text (tag: mytab) with guide in a GUI (named: mygui)
2. tabpanel( 'mygui', 'mytab')
3. edit 'mytab' and create another static text (tag: nested) where you want your nested tab (save & exit)
4. tabpanel( 'mygui', 'nested')
5. edit 'nested'...

13 Mar 2009 Joao Duarte

I can now open the Tab Constructor, but the panels do not appear in my .fig after I close the Tab Constructor. When I write tabpanel('fgurename.fig','tabname') again to edit the tabs, the initial text box is empty...

Comment only
13 Mar 2009 Joao Duarte

Why do I get the error:
"Undefined function or method 'tabpanel' for
input arguments of type 'char'."
when typing:

Comment only
01 Mar 2009 Patrick Tai

I am learning to use this tool, looks very good. Thank you Elmer. However, I wish there are more tutorial or documentations. Questions: 1. Is there anyway to make different sizes for different tab pages? 2. Can the UIs for the tab pages to held in different .m files? Right now, one big UI.m file holds specs for all the tab pages, resulting in a very big file. 3. How to control the font of the texts in the tabs? Thank you very much.

Comment only
27 Feb 2009 Abbie

Abbie (view profile)

Great support by developer. Thanks, Elmar!

Comment only
26 Feb 2009 nathan Jiang

it is a wonderful gui, thanks.

Comment only
22 Feb 2009 Andre

Andre (view profile)

Still quite a newbie at Matlab gui. It seems all of you know how to use it. I got to the last step, editted my M-File, run my program with a pushbutton and I get an error regarding it does not read my handles. I really need help, it's really gonna make my program so much better. Thanks.

Comment only
02 Feb 2009 Kris Gryte

One other inquiry: is it possible to add tabs programmatically? I realize one may delete a tab using the command line, but the addtion of tabs seems to run only through the TabPanel interface. A nice feature would be the addition and deletion of tabs at a click, much like a browser interface. Any possibility this may be added in the future?

Comment only
02 Feb 2009 Kris Gryte

I am currently having difficulties with the enabling and disabling of tabs, using the tabselectionfcn. I have attempted to input the function arguments as documented in the corresponding m-file, but to no avail. To ensure that my syntax is correct, would you be willing to supply an example for enabling and/or disabling a tab? Thank you in advance.

Comment only
27 Jan 2009 Gary

Gary (view profile)

Works Great! Just make sure the directory containing your .fig and .m files is set as the current directory. Good, prompt tech support when I ran into a problem. I just wish it didn't close my .m file everytime I edit the tabs.

26 Jan 2009 Wolfgang

Great Tool. But when I change the name of the gui, the tabpanel Constructor is not working any more

14 Nov 2008 Peter Tonn

This saves a lot of time trying to create panels on my own. Very good work, but has anyone figured out how to use ActiveX controls with the different tab panels?

Comment only
16 Oct 2008 ilker keklikp?nar?


01 Oct 2008 David Chapelle

Thank you for developping this very efficent tool

24 Sep 2008 Keith Campbell

I'm actually still using an older version of this package and have used it on multiple projects. This is fantastic!!
Very well supported!

21 Sep 2008 Andreas S.

Great tool and very pleasantly support ;-)

21 Aug 2008 Elmar Tarajan

I'll implement following features in the next version:
- Enable/Disable of tabs
- programmatically tab switch
- TabChangeFcn

comes as soon as possible...

Comment only
21 Jul 2008 Joerg Sangals

Quiet a helpful addon, thanx a lot!
However, two important features appear to miss:
a) Is there a method to bring a tab to the front programmatically from within the application?
b) It would be nice if Tabs could be disabled/enabled.

16 Jun 2008 Gonçalo Leal

Great work.

16 Jun 2008 Gonçalo Leal

I need help here.. i must've done anything wrong because my .mfile does not have any of the callbacks that i put inside the tabs. My figure has them all but the .mfile doesn't have them. Please help...

Comment only
13 May 2008 Owen Kelly

Outstanding. Now I can get so much more info into my GUI ... without clutter.

19 Apr 2008 Syed Hussain

Thank you Elmar,
It worked perfectly. great work.

13 Apr 2008 Elmar Tarajan

To workaround this issue you should open the whole FIG-File (which contain the tabpanel) in GUI first. Then you need to open the "Object Browser" from the GUIDE toolbar. Find ans Select the UIBUTTONGROUP from the object list and add finaly the "SelectionChangeFcn" to the M-file using the "View"-"View Callbacks"-GUIDE Menu.

Comment only
13 Apr 2008 Syed Hussain

I am trying to update a tab using a uibuttongroup. I am unable to use the selectionchangefcn function of the radio button group. Do you know how to go over this problem.

thanks in advance

09 Apr 2008 The Flatlander

fantastic tool to get the up to date tab look
and in the new version very easy to use!
even if you want to change things after programming

if you want to use tabs: this is your tool!

28 Mar 2008 Qi Duan

I am currently using your tabpanel software and I think it is fantastic.

27 Mar 2008 Gerald Lodron

Oh my good, thats cool! How many times I needed such thing and now my dreams come true...

22 Mar 2008 Syed Hussain

Nice tool you have. I have a question to ask. I already have four seperate gui, can i incorporate the existing gui to become tabs in one gui. If it cannot be done i hope that an extension to incorporate that would be great.


15 Mar 2008 Jay Wang

Excellent idea and work! I saved a lot of time to develop from scratch. Thank you!!

05 Feb 2008 Antonio Ruano

19 Mar 2007 Christina Warmann

Very nice tool, very easy to handle.

28 Dec 2006 Howard Brunsven

Excellent programming. Great tool. Unfortunately it doesn't work error free under Matlab 2006a. An update would be great!

18 Oct 2006 Federico Robbio

This is an excelent toolbox for build out a tab panel with GUI...

01 Sep 2006 Keith Campbell

Building/editing tabs is remarkably easy thru this platform. There is additional maitenance to ensure tags are properly assigned (esp with legends for graphics other than 'plot' fcn). Overall, though, this is an excellent way to build out a tab interface!!

31 Aug 2006 Simon Challands

The problem with it only displaying one tab seems to be something to do with some sizes not being set somewhere. I've not enough GUI experience to have tracked down which property is at fault, but if you make your top level figure resizable you'll be able to resize it and see the missing tabs.

04 Jun 2006 ebrahim sepidbar


17 May 2006 Colin Clarke

Tried to add an axes, but it produces strange results. For example when i plot on the axis the axes becomes 'saved' i.e when i close matlab and start again the plot is displayed

07 Apr 2006 Justin Nave

Worked great in coding, with a few cosmetic/documentation issues already covered in previous reviews.
But when I tried to run the gui on another machine, it only displays one tab. Not sure what's going on, but I could very well just be a mistake I made.

For anyone that is interested, and would like to point me in the right direction:
-I developed on a Fedora Core 3 machine, matlab R14SP3.
-It worked fine on another machine with the same OS ans Matlab.
-But on a RH 8.0 and matlab R14SP2 only one tab appeared.
-Same for a FC 1 machine w/ R14SP2.

Thanks in advance.

04 Apr 2006 Christopher Crespo

This work is very good I'd like to know if will have the possibility of allowing the control to work in resize mode since I want to use as lateral panel such as matlab do in the main window

01 Feb 2006 Peter Brodsky

Could be very useful tool, but documentation is sadly lacking. I tried following what little direction there is and ended up with a crash from Matlab on entering the "tabpanel" command listed:

>> tabpanel('myGUI', 'myTabPanel',{'TabPanel' 'Constructor' 'for' 'MATLAB'})
??? Attempt to reference field of non-structure array.

Error in ==> tabpanel at 236
for i=tab.names(~ismember(tab.names,action))

05 Jan 2006 Marco Rajapakse

Very good tool, hope mathworks will recognize it.
Keep up the good work.

29 Dec 2005 C P

First this is a great piece of work. Keep on Elmar!
I do have a question (maybe due to I am new). I used one UI control on the tab to trigger "visible" or "enable" of other controls. Users move between tabs make invisible controls all visible, overlaping each others. What did I do wrong or missed? Thanks in advance. CP

03 Jul 2005 Alex Pudmenzky

Re: Gozde Cevik's comment of 2005-05-17. I discovered that both problems can be worked around by placing the axis on a UIpanel (R14 SP2).

Comment only
17 May 2005 Gozde Cevik

Thank you for your contribution to theMatlab world about the TabPanel! :)

However, I have some difficulties using the tabpanel.

1. I plot a figure on 'panela_axis1' for instance. Then, if I don't set the Tag of the axis again to 'panela_axis1', Matlab creates an element with Tag 'axis1' which in fact does not really exist. Then, I can neither access the 'panela_axis1' nor 'axis1', neither from my own code nor from tabpanel.m :( Why do we lose the Tag of the objects after we access them???

2. I plot a figure on 'panela_axis1', then I change the tab but see the same figure (only the data inside the axis) on the same location on the other panels. Is there a way to overcome this problem?

3. In my project, I will have to use this gui in a stand - alone application which will run on unix. I wonder whether the tabpanel will cause a problem in this procedure?

Anyway, you for your time and consideration :)

Best regards,


27 Apr 2005 Marc Sch.

Really easy to use and a great result!
I'm curious about next versions...

08 Apr 2005 Dave Tillman

TabPanel Constructor V1.3 is a very promising beginning for a very useful tool. Maybe The MathWorks will take notice...

However, it has a few deficiencies which cause me not to use it in production code at this time:

1) Tab labels really need to allow spaces.

2) I was unable to add an ActiveX control to a page. It was stripped out when integrating the page's FIG file back into the main figure.

3) I would prefer the background of the pages to default to be the same color as the background of the figure.

4) On my system, in order to get the Microsoft ActiveX TreeView control to function correctly, I have issued the command:
(There is a bulletin board post that discusses this). As a result the skins of the tabs are not as pretty (which is ok). However, when I right-click on the "options" button in the tab editor, I get a segmentation violation instead of the popup menu.

I understand that ActiveX is not for everyone, and if you have no need for ActiveX controls, TabPanel V1.3 would be very useful.

06 Apr 2005 Alex Pudmenzky

Thank you for this contribution, I have been waiting a long time for this... :)
If you make the GUI "proportional" instead of "non-resizable", the tabs will extend to the top of the gui when selected with error message
??? Error using ==> set
Width and height must be > 0.
??? Error while evaluating uicontrol Callback.
Your tab-constructor is excellent otherwise!
Cheers, Alex.
(Elmar replied to me off-line that "proportional" is not supported ATM but that he will try and find a solution).

28 Mar 2005 Elmar Tarajan

the problem with the compiler is already known. New version comes as fast as
possible. Please sign up on the subscribe list.

Comment only
28 Mar 2005 Yoav P

comment: what i ment is that i'm trying to compile an application that uses a tabpanel which is built using TabPanel 1.3....

28 Mar 2005 Yoav P

the constructor is very nice, but i have a problem compiling it (Compiler 4.0) into a stand-alone application. the compiler has a problem with line 339 (tab.callback = [...]. looks for a function named 'tpchandles' and can't find it.
does anyone knows how to solve the problem?

25 Mar 2005 Jorg Entzinger

TabPanel Constructor is a very nice piece of work, but I had a little problem with it in Matlab R13.

The figure made when calling the tabpanel function still had the name "untitled" which gave trouble when trying the edit button.

I fixed it by placing
between line 24 and 25 of your code

figname = [strrep(figname,'.fig','') '.fig'];
fig = openfig(figname,'reuse');
set(fig,'Name',figname); % By J.O.Entzinger
handles = guihandles(fig);

18 Mar 2005 Tom Pachulka

Thanks a lot!

A couple of comments:

1. It took me some time to get it working properly, because I tried to use tab names with spaces. When there's a space in the tab name, it crashes.

2. It seems that the width of each tab (the visible part; the one you click to open the tab) is proportional to the length of its name. Personally I would prefer tabs of equal width.

Overall, a great tool!

11 Mar 2005 Laine B. Kahsay

Great work, easy to use!
Finally there is a better way to create TabPanels in MATLAB.

07 Mar 2005 Elmar Tarajan

use right mouse button on "settings" pushbutton

Comment only
07 Mar 2005 Juan Navas

Great, very handly, but how can i could the colors of the tabs and the backgrounds of them?

27 Feb 2008

updated version (works with R2008a).
+ new user interface.
+ many new features.
- not compatible with older version 1.3!

24 Jul 2009 1.1

fixed: Error while closing TPC in R2009a/b
fixed: GUI-Restart while tab switching in R2009a/b

04 Mar 2010 1.2

- creating tabpanel using location and size
- adding already existing figures as tab
- fixed problems using TPC after renaming the main figure

21 Jun 2010 1.3

* new features
* bug fixes
* code improvements

25 Jun 2010 1.4

fixed bug while adding "TabSelectionChange"-Callback

Contact us