[Master Index]
[Index for Toolbox]
bst_win_manager
(Toolbox/bst_win_manager.m in BrainStorm 2.0 (Alpha))
Function Synopsis
BrainStormWindows = bst_win_manager(Fig,WinType);
Help Text
BST_WIN_MANAGER - GUI Window management for BrainStorm
function BrainStormWindows = bst_win_manager(Fig,WinType);
Utility routine for GUI window management in BrainStorm
Updates the appdata from the Taskbar called 'BrainStormWindows'
Fig is a figure handle corresponding to an active GUI
WinType is an optional tag that describes the type of GUI corresponding to figure Fig
WinType may be any string of characters like one of the following
which are conventional WinTypes for main BrainStorm windows/GUIs:
- 'DataManager' : windows associated with the database manager
- 'DataViewer' : viewing data
- 'MRIView' : viewing MRI images and source localizations
- 'Results' : showing source estimation results
- 'Source' : setting-up for source estimation
- 'Head' : generating head models
- 'Message' : Associated with some general message to the user
- 'Other' : windows not fitting above (Default type when WinType is not specified)
Return BrainStormWindows, a structure with fields as described above with handles to all BsT's current GUI figures
Cross-Reference Information
This function is called by
Listing of function C:\BrainStorm_2001\Toolbox\bst_win_manager.m
function BrainStormWindows = bst_win_manager(Fig,WinType);
%BST_WIN_MANAGER - GUI Window management for BrainStorm
% function BrainStormWindows = bst_win_manager(Fig,WinType);
% Utility routine for GUI window management in BrainStorm
% Updates the appdata from the Taskbar called 'BrainStormWindows'
% Fig is a figure handle corresponding to an active GUI
% WinType is an optional tag that describes the type of GUI corresponding to figure Fig
% WinType may be any string of characters like one of the following
% which are conventional WinTypes for main BrainStorm windows/GUIs:
% - 'DataManager' : windows associated with the database manager
% - 'DataViewer' : viewing data
% - 'MRIView' : viewing MRI images and source localizations
% - 'Results' : showing source estimation results
% - 'Source' : setting-up for source estimation
% - 'Head' : generating head models
% - 'Message' : Associated with some general message to the user
% - 'Other' : windows not fitting above (Default type when WinType is not specified)
%
% Return BrainStormWindows, a structure with fields as described above with handles to all BsT's current GUI figures
%<autobegin> ---------------------- 26-May-2004 11:29:51 -----------------------
% --------- Automatically Generated Comments Block Using AUTO_COMMENTS ---------
%
% CATEGORY: GUI and Related
%
% Alphabetical list of external functions (non-Matlab):
% toolbox\brainstorm.m
%
% Application data and their calls in this file:
% 'BrainStormWindows'
%
% setappdata(TASKBAR,'BrainStormWindows',BrainStormWindows);
%
% BrainStormWindows = getappdata(TASKBAR,'BrainStormWindows');
%
% At Check-in: $Author: Mosher $ $Revision: 17 $ $Date: 5/26/04 9:59a $
%
% This software is part of BrainStorm Toolbox Version 2.0 (Alpha) 24-May-2004
%
% Principal Investigators and Developers:
% ** Richard M. Leahy, PhD, Signal & Image Processing Institute,
% University of Southern California, Los Angeles, CA
% ** John C. Mosher, PhD, Biophysics Group,
% Los Alamos National Laboratory, Los Alamos, NM
% ** Sylvain Baillet, PhD, Cognitive Neuroscience & Brain Imaging Laboratory,
% CNRS, Hopital de la Salpetriere, Paris, France
%
% See BrainStorm website at http://neuroimage.usc.edu for further information.
%
% Copyright (c) 2004 BrainStorm by the University of Southern California
% This software distributed under the terms of the GNU General Public License
% as published by the Free Software Foundation. Further details on the GPL
% license can be found at http://www.gnu.org/copyleft/gpl.html .
%
% FOR RESEARCH PURPOSES ONLY. THE SOFTWARE IS PROVIDED "AS IS," AND THE
% UNIVERSITY OF SOUTHERN CALIFORNIA AND ITS COLLABORATORS DO NOT MAKE ANY
% WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, NOR DO THEY ASSUME ANY
% LIABILITY OR RESPONSIBILITY FOR THE USE OF THIS SOFTWARE.
%<autoend> ------------------------ 26-May-2004 11:29:51 -----------------------
% /--- Script Authors -----------------------------------\
% | |
% | *** Sylvain Baillet Ph.D. |
% | Cognitive Neuroscience & Brain Imaging Laboratory |
% | CNRS UPR640 - LENA |
% | Hopital de la Salpetriere, Paris, France |
% | sylvain.baillet@chups.jussieu.fr |
% | |
% | *** John C. Mosher, Ph.D. |
% | Biophysics Group |
% | Los Alamos National Laboratory |
% | Los Alamos, New Mexico, USA |
% | |
% \------------------------------------------------------/
%
% Date of creation: April 2002
% Script History ---------------------------------------------------------------
% SB 28-May-2002 Minor upgrade when nargin ==1
% SB 08-Aug-2002 Added feature so that any WinType is admissible.
% JCM 09-Sep-2003 Commenting, removing old taskbar
% JCM 11-May-2004 Removing old handles if figures no longer exist, old "if" test
% switch
% ------------------------------------------------------------------------------
% Get handle to BrainStorm's Taskbar
% JCM moved it to the new taskbar
TASKBAR = findobj(0,'Tag','static_taskbar');
BrainStormWindows = getappdata(TASKBAR,'BrainStormWindows'); % return empty if not defined
if isempty(BrainStormWindows) % Define the whole structure
BrainStormWindows = struct('All',[],'DataManager',[],'DataViewer',[],'MRIView',[],...
'Results',[],'Source',[],'Head',[],'Message',[],'Other',[]);
end
if nargin == 0
Fig = [];
WinType = 'Other';
else
if ~ishandle(Fig)
errordlg('Not a proper figure handle','bst_win_manager error')
return
end
end
if nargin == 1
WinType = 'Other'; % Assign default window type
else
BrainStormWindows.All = unique([BrainStormWindows.All(ishandle(BrainStormWindows.All)),Fig]);
end
switch(lower(WinType))
case 'datamanager'
BrainStormWindows.DataManager = Fig;
case 'dataviewer'
% The ishandle command ensure that all entries are valid and current figure handles
BrainStormWindows.DataViewer = unique([BrainStormWindows.DataViewer(ishandle(BrainStormWindows.DataViewer)),Fig]);
case 'mrriview'
BrainStormWindows.MRIView = unique([BrainStormWindows.MRIView(ishandle(BrainStormWindows.MRIView)),Fig]);
case 'results'
BrainStormWindows.Results = unique([BrainStorm.Results(ishandle(BrainStorm.Results)),Fig]);
case 'source'
BrainStormWindows.Source = Fig;
case 'head'
BrainStormWindows.Head = Fig;
case 'message'
BrainStormWindows.Message = unique([BrainStormWindows.Message(ishandle(BrainStormWindows.Message)),Fig]);
% case 'other'
% BrainStormWindows.Other = unique([BrainStormWindows.Other(ishandle(BrainStormWindows.Other)),Fig]);
%
otherwise % Create a new type of window
%errordlg(sprintf('Figure Window of unauthorized type %s',WinType),'Error from bst_win_manager')
%return
% Check if new type of window exists
if ~isfield(BrainStormWindows,WinType) % If not : initialization to empty field.
BrainStormWindows = setfield(BrainStormWindows,WinType,[]);
end
eval(sprintf('BrainStormWindows.%s = unique([BrainStormWindows.%s(ishandle(BrainStormWindows.%s)),Fig]);',WinType,WinType,WinType));
end
% final sanity check of all figures
NAMES = fieldnames(BrainStormWindows); % all of the fields
for i = 1:length(NAMES),
% for each field name
ndx = eval(['find(ishandle(BrainStormWindows.',NAMES{i},'));']); % valid figure handles
eval(['BrainStormWindows.',NAMES{i},' = BrainStormWindows.',NAMES{i},'(ndx);']); % keep only the good
end
setappdata(TASKBAR,'BrainStormWindows',BrainStormWindows);
Produced by color_mat2html, a customized BrainStorm 2.0 (Alpha) version of mat2html on Tue Oct 12 12:05:14 2004
Cross-Directory links are: ON