Skip to content
Snippets Groups Projects
Commit b409f9ba authored by leprob001's avatar leprob001
Browse files

Added zoom option for control + mousewheel. Updated panning function.

parent 2860fb1d
No related branches found
No related tags found
No related merge requests found
214 215
\ No newline at end of file \ No newline at end of file
...@@ -4,30 +4,6 @@ function [] = onKeyDown(~, keyData) ...@@ -4,30 +4,6 @@ function [] = onKeyDown(~, keyData)
global artoaGui; global artoaGui;
hManager = uigetmodemanager(artoaGui.figures.editTimeOfArrival);
if strcmp(keyData.Key, 'z')
z = zoom;
if strcmp(z.Enable, 'on')
% does not work because matlab disables all interaction callbacks
% during zoom or pan mode
zoom off;
else
zoom on;
end
end
if strcmp(keyData.Key, 'p')
p = pan;
if strcmp(p.Enable, 'on')
% does not work because matlab disables all interaction callbacks
% during zoom or pan mode
pan off;
else
pan on;
end
end
if ~artoa.data.hasMember(artoaGui, 'editTimeOfArrival') if ~artoa.data.hasMember(artoaGui, 'editTimeOfArrival')
return; return;
end end
...@@ -36,6 +12,9 @@ if ~isempty(keyData.Key) & strcmp(keyData.Key, 'shift') ...@@ -36,6 +12,9 @@ if ~isempty(keyData.Key) & strcmp(keyData.Key, 'shift')
artoaGui.editTimeOfArrival.keyShiftDown = true; artoaGui.editTimeOfArrival.keyShiftDown = true;
end end
if ~isempty(keyData.Key) & strcmp(keyData.Key, 'control')
artoaGui.editTimeOfArrival.keyControlDown = true;
end
end end
...@@ -12,5 +12,9 @@ if ~isempty(keyData.Key) & strcmp(keyData.Key, 'shift') ...@@ -12,5 +12,9 @@ if ~isempty(keyData.Key) & strcmp(keyData.Key, 'shift')
artoaGui.editTimeOfArrival.keyShiftDown = false; artoaGui.editTimeOfArrival.keyShiftDown = false;
end end
if ~isempty(keyData.Key) & strcmp(keyData.Key, 'control')
artoaGui.editTimeOfArrival.keyControlDown = false;
end
end end
...@@ -4,19 +4,47 @@ function [] = onMouseWheelFcn(~, callbackData) ...@@ -4,19 +4,47 @@ function [] = onMouseWheelFcn(~, callbackData)
global artoaGui; global artoaGui;
if ~artoa.data.hasMember(artoaGui, 'editTimeOfArrival', 'keyShiftDown') ...
| (artoaGui.editTimeOfArrival.keyShiftDown == false) %% Panning using scroll wheel
if ~artoaGui.editTimeOfArrival.keyShiftDown & ~artoaGui.editTimeOfArrival.keyControlDown
verticalFactor = 0.1; verticalFactor = 0.1;
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim = ... artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim = ...
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim ... artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim ...
- (diff(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim) * verticalFactor * callbackData.VerticalScrollCount); - (diff(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim) * verticalFactor * callbackData.VerticalScrollCount);
return;
elseif artoaGui.editTimeOfArrival.keyShiftDown elseif artoaGui.editTimeOfArrival.keyShiftDown
horizontalFactor = 0.1; horizontalFactor = 0.1;
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim = ... artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim = ...
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim ... artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim ...
- - (diff(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim) * horizontalFactor * callbackData.VerticalScrollCount); + (diff(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim) * horizontalFactor * callbackData.VerticalScrollCount);
return;
end end
%% Zooming using scroll wheel
if artoaGui.editTimeOfArrival.keyControlDown & ~artoaGui.editTimeOfArrival.keyShiftDown
zoomValue = 0.1 * diff(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim) * callbackData.VerticalScrollCount;
if zoomValue > 0
mouseOffsetX = 0;
mouseOffsetY = 0;
else
mouseOffsetX = 0.5 * (mean(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim) - artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.CurrentPoint(1, 1));
mouseOffsetY = 0.5 * (mean(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim) - artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.CurrentPoint(1, 2));
end
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim(1) = ...
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim(1) ...
- zoomValue - mouseOffsetX;
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim(2) = ...
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.XLim(2) ...
+ zoomValue - mouseOffsetX;
zoomValue = 0.1 * diff(artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim) * callbackData.VerticalScrollCount;
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim(1) = ...
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim(1) ...
- zoomValue - mouseOffsetY;
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim(2) = ...
artoaGui.editTimeOfArrival.axesScatterTimeOfArrival.YLim(2) ...
+ zoomValue - mouseOffsetY;
return;
end
end end
...@@ -20,6 +20,8 @@ artoaGui.figures.editTimeOfArrival = figure( ... ...@@ -20,6 +20,8 @@ artoaGui.figures.editTimeOfArrival = figure( ...
artoaGui.editTimeOfArrival = struct(); artoaGui.editTimeOfArrival = struct();
artoaGui.editTimeOfArrival.currentInteractionMode = false; artoaGui.editTimeOfArrival.currentInteractionMode = false;
artoaGui.editTimeOfArrival.keyShiftDown = false;
artoaGui.editTimeOfArrival.keyControlDown = false;
artoaGui.editTimeOfArrival.leftMargin = .01; artoaGui.editTimeOfArrival.leftMargin = .01;
set( ... set( ...
...@@ -317,8 +319,5 @@ artoaGui.editTimeOfArrival.inputLowerBoundary = uicontrol( ... ...@@ -317,8 +319,5 @@ artoaGui.editTimeOfArrival.inputLowerBoundary = uicontrol( ...
%% Update histogram %% Update histogram
artoa.controller.edit.timeOfArrival.plotToaHistogram(); artoa.controller.edit.timeOfArrival.plotToaHistogram();
%% Enable zoom
zoom on;
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment