How to add uibuttongroup to a toolbar
5 views (last 30 days)
Show older comments
I want to add 3 toggle buttons to the toolbar. They are exclusive, i.e., only one of them should be pressed.
It is easy to create these buttons on a figure by using uibuttongroup, which takes care of the desired behavior. Is it possible to add them to the toolbar?
0 Comments
Accepted Answer
Chidvi Modala
on 10 Oct 2019
Hello Xi,
From my understanding, you want to add 3 toggle buttons to the toolbar and you want only one toggle button being active at the same time.
You can make use of 'uitoggletool' to create a toggle button on toolbar and create appropriate callbacks for toggle action to set the state of other toggle buttons
For example
function createToggleButtons
f = figure('ToolBar','none');
tb = uitoolbar(f);
img = zeros(16,16,3);
% Create 2 toolbar items (set one among them to have ‘on’ State)
tb1 =uitoggletool(tb,'CData',img,'TooltipString','ToggleButton1','State','on');
tb2=uitoggletool(tb,'CData',img,'TooltipString','ToggleButton2');
% Set the callback for each toggle passing itself and the other toggle
% to the callback
set(tb1,'ClickedCallback',@(obj,event)ToggleToolbar(obj,tb2));
set(tb2,'ClickedCallback',@(obj,event)ToggleToolbar(obj,tb1));
end
function ToggleToolbar ( primary, secondary )
% Switch the other toolbar state based on the value of the
% toolbar which the user clicked on.
switch get ( primary, 'State' )
case 'on'
set ( secondary, 'State', 'off' );
case 'off'
set ( secondary, 'State', 'on' );
end
end
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!