Commit bec3976e authored by Jay Dubb's avatar Jay Dubb
Browse files

v1.28.3

-- Added feature to PlotProbeGUI and StimEditGUI to allow enable/disable of synchronized browsing through the data tree with MainGUI. Previously, synchronized browsing was the default. Now it is off by default and can be toggled through the Tools -> Synchronize Browsing menu. Added common generic code in DataTree to handle assigning currElem to the Guis local dataTree or to MainGUIs dataTree in accordance with the menu setting. Will Add to other GUIs as needed.
-- Change 'Data Storage Scheme' default value to 'files' in AppSettings as it is seems common for people to be working with large data sets requiring this feature to be on.
-- Minor change to setpaths to print out Homer3 version number in banner.
parent ffee8fb5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ On
on

% Data Storage Scheme
memory
files

% Auto Save Acquisition Files
No
+35 −0
Original line number Diff line number Diff line
@@ -61,6 +61,8 @@ classdef DataTreeClass < handle
            if isa(groupDirs, 'DataTreeClass')
               obj.Copy(groupDirs);
               return;
            elseif strcmp(options, 'empty')
                return;
            end
            
            cfg = ConfigFileClass();
@@ -489,6 +491,39 @@ classdef DataTreeClass < handle
        end


        % ----------------------------------------------------------
        function CopyCurrElem(obj, obj2, options)
            if isempty(obj)
                return;
            end
            if isempty(obj2)
                return;
            end
            if ~exist('options', 'var')
                options = 'reference';
            end
            
            if optionExists(options, 'reference')
                obj3 = obj2;
            elseif optionExists(options, 'value')
                obj3 = obj;
            end
            
            idx = obj2.currElem.GetIndexID();
            iGroup = idx(1);
            iSubj  = idx(2);
            iRun   = idx(3);
                                    
            if iSubj==0 && iRun==0
                obj.currElem = obj3.groups(iGroup);
            elseif iSubj>0 && iRun==0
                obj.currElem = obj3.groups(iGroup).subjs(iSubj);
            elseif iSubj>0 && iRun>0
                obj.currElem = obj3.groups(iGroup).subjs(iSubj).runs(iRun);
            end
        end


        % ----------------------------------------------------------------------------------
        function nbytes = MemoryRequired(obj)
            nbytes = 0;
+14 −0
Original line number Diff line number Diff line
function InitCurrElem(guivar)
guivarstr = inputname(1);

eval(sprintf('global %s', guivarstr));

if isempty(eval(sprintf('%s.locDataTree', guivarstr)))
    eval(sprintf('%s.locDataTree = DataTreeClass({}, '''', '''', ''empty'');', guivarstr));
    eval(sprintf('%s.locDataTree.CopyCurrElem(%s.dataTree, ''reference'');', guivarstr, guivarstr));
else
    eval(sprintf('%s.locDataTree2 = DataTreeClass({}, '''', '''', ''empty'');', guivarstr));
    eval(sprintf('%s.locDataTree2.CopyCurrElem(%s.locDataTree, ''reference'');', guivarstr, guivarstr));
end
eval(sprintf('SyncBrowsing(%s, ''off'');', guivarstr, guivarstr));
+18 −0
Original line number Diff line number Diff line
function SyncBrowsing(guivar, onoff)
guivarstr = inputname(1);

eval(sprintf('global %s', guivarstr));

if isempty(eval(sprintf('%s.locDataTree2', guivarstr)))
    if strcmpi(onoff, 'off')
        eval(sprintf('%s.dataTreeHandle = %s.locDataTree;', guivarstr, guivarstr));
    else
        eval(sprintf('%s.dataTreeHandle = %s.dataTree;', guivarstr, guivarstr));
    end
else
    if strcmpi(onoff, 'off')
        eval(sprintf('%s.dataTreeHandle = %s.locDataTree2;', guivarstr, guivarstr));
    else
        eval(sprintf('%s.dataTreeHandle = %s.locDataTree;', guivarstr, guivarstr));
    end
end
 No newline at end of file
+1.06 KiB (49.8 KiB)

File changed.

No diff preview for this file type.

Loading