Skip to content

Commit 6dc60ab

Browse files
add keyboard shortcuts in uibrowser
1 parent 5034333 commit 6dc60ab

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

src/+gfx/+internal/UiBrowser.m

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ function windowKeyPressCallback(self, ~, evnt)
2222

2323
case 'b'
2424
self.buildGui;
25+
26+
case 't'
27+
self.toggleTransparency;
28+
29+
case 'c'
30+
self.toggleColor;
2531
end
2632
end
2733

@@ -44,7 +50,7 @@ function buildGui(self)
4450

4551
for hAxes = findobj(self.hFigure, 'type', 'axes')'
4652

47-
hTreeRoot = uitree(glParentAxes, "checkbox");
53+
hTreeRoot = uitree(glParentAxes, "checkbox", Tag="ObjectTree");
4854
hTreeRoot.CheckedNodesChangedFcn = @self.checkedNodesChanged;
4955
hTreeRoot.SelectionChangedFcn = @self.selectionChangedFcn;
5056

@@ -215,5 +221,25 @@ function checkedNodesChanged(~, hTree, ~)
215221
end
216222
color = [1 1 1];
217223
end
224+
225+
function toggleTransparency(self)
226+
hTree = findobj(self.hBrowser, Tag="ObjectTree");
227+
assert(isscalar(hTree), "multiple axes not yet supported")
228+
gfx.internal.toggleTransparency(hTree.SelectedNodes.NodeData.hObj)
229+
end
230+
231+
function toggleColor(self)
232+
hTree = findobj(self.hBrowser, Tag="ObjectTree");
233+
assert(isscalar(hTree), "multiple axes not yet supported")
234+
hSelectedNode = hTree.SelectedNodes;
235+
color = gfx.internal.toggleColor(hSelectedNode.NodeData.hObj);
236+
237+
nodeStyle = uistyle(...
238+
BackgroundColor=color, ...
239+
FontColor=gfx.internal.uibrowser.fontColor(color, [0 0 0]));
240+
241+
hTree.removeStyle(find([hTree.StyleConfigurations.TargetIndex{:}] == hSelectedNode))
242+
hTree.addStyle(nodeStyle, Node=hSelectedNode)
243+
end
218244
end
219245
end

src/+gfx/uibrowser.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
% USAGE
1111
% Press "b" in a figure to launch uibrowser
1212
%
13+
% KEYBOARD SHORTCUTS
14+
% "c": toggle color of selected node
15+
% "t": toggle transparency of selected node (for patch only)
16+
%
1317
% FEATURES
1418
% - One browser figure per object figure
1519
% - Supports objects of type patch/line/hggroup/text

0 commit comments

Comments
 (0)