MATLAB Answers

0

How to colorize the document tabs of the editor?

Asked by Ricardo.Neves on 24 May 2018
Latest activity Answered by Yair Altman on 22 Nov 2018
I often work with several .m files open simultaneously in the editor. Thus, it would be helpful to colorize the tabs of these .m files according to their directory location.
Up to matlab_2012a, this shared code (mathworks.com/matlabcentral/fileexchange/39157) use to do the job exactly as I wanted. Unfortunately, it does not work for my current matlab_2018a.
I tried to debug it, however I encountered a wall. With the following code I was able to change the background color of tabs all together:
desktop = com.mathworks.mde.desk.MLDesktop.getInstance;
jEditor = desktop.getGroupContainer('Editor').getTopLevelAncestor;
jh_gf = findjobj(jEditor,'-property',{'name','EditorGroupFrame'});
DocTab = jh_gf.getComponent(0).getComponent(1).getComponent(0).getComponent(0);
DocTab.setBackground(java.awt.Color(.8,.9,.9));
Now, my problem was when I tried to set the background color of each tab individually. My logic says that the following should work:
First_Tab = DocTab.getComponent(0);
First_Tab.setBackground(java.awt.Color(1,0,0));
Unfortunately it does not work. Anyone knows how to set the background color of each tab individually?
Thanks for the answers.

  0 Comments

Sign in to comment.

2 Answers

Answer by Yair Altman on 22 Nov 2018
 Accepted Answer

I looked into this problem but I could not find a way to do so.
What you proposed is the way that it should have worked, but it seems that the com.mathworks.widgets.desk.DTDocumentTabs$Tab component ignores the Background/Foreground properties in its paintComponent(Graphics) method.

  0 Comments

Sign in to comment.


Answer by Image Analyst
on 24 May 2018

Sounds like a question only Yair might be able to answer with anything other than a "No", which the rest of us would. See http://undocumentedmatlab.com/

  1 Comment

Thank you for the referral.

Sign in to comment.