hggroup of text() objects and contextmenu
이전 댓글 표시
-------------------------------------
THE SITUATION
-------------------------------------
I am creating text labels
h = text([.5 1],[.5 .5],{'hi','hello'});
plotedit on
which individually have a contextmenu that allow to change their text properties, e.g. try to right-click and change Font...
However, I'd like to keep the same contextmenu for a hggroup() of text() objects.
hg = hggroup;
set(h,'Parent',hg)
The text properties are not reachable from the context menu associated to hggroup().
-------------------------------------
THE QUESTION
-------------------------------------
Is there a way to have a contextmenu for the hggroup object with the menus for the text properties without recreating it manually with all the callbacks? For instance, scatter() creates such a contextmenu
figure
load seamount
scatter(x,y,5)
plotedit on
you can right click and change some properties of all children of the hggroup.
I have the feeling the solution already exists but it's undocumented and well hidden.
I've been looking into $MATLABROOT\toolbox\matlab\specgraph, graph2d, graphics to no avail.
I suspect that the various schemas might play a role, i.e. what if I define a schema for text()?
PS. Let me know if I didn't express myself clearly.
댓글 수: 6
Jan
2012년 9월 10일
I do not get the problem. Why not appending the context menu to the children of the hggroup?
Oleg Komarov
2012년 9월 10일
Oleg Komarov
2012년 9월 10일
Jan
2012년 9월 10일
I don't know. But my trials with R2009b seem to show, that the UIContextMenu of the hggroup is not triggered by a right-click on the text objects. As far as I can see creating a new context menu and attach it to all children of the hggroup should be able to do everything possible.
Oleg Komarov
2012년 9월 10일
Oleg Komarov
2012년 10월 5일
답변 (1개)
Yair Altman
2013년 1월 7일
2 개 추천
Oleg, you can simply reuse the localGetNonScribeScribeContextMenu() subfunction in %matlabroot/toolbox/matlab/graph2d/private/plotSelectMode.m. It is called by localWindowButtonDownFcn() in that same file whenever you right-click an object in plot-selection mode.
Whenever you right click an object in this mode, the standard scribe context-menu (which include all the text items that you need) is recreated and added to the bottom of the object's existing context-menu (if available).
So you can simply cut all the red tape and reuse the localGetNonScribeScribeContextMenu() code directly when you create the initial context-menu.
댓글 수: 1
Jan
2013년 1월 7일
Due to the name "localGetNonScribeScribeContextMenu" I would not use the term "simply" here ;-)
카테고리
도움말 센터 및 File Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!