Mercurial > hg > ltpda
view m-toolbox/m/gui/ltpdv/ltpdv.m @ 22:b11e88004fca database-connection-manager
Update collection.fromRepository
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Mon, 05 Dec 2011 16:20:06 +0100 |
parents | f0afece42f48 |
children |
line wrap: on
line source
function ltpdv(varargin) % LTPDV dataviewer based on AOs and functions in LTPDA. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % DESCRIPTION: LTPDV dataviewer based on classes and methods in LTPDA. % % % VERSION: $Id: ltpdv.m,v 1.7 2008/09/02 07:51:48 hewitson Exp $ % % % HISTORY: 22-04-08 M Hewitson % Creation % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Check if I exist already id = findobj('Tag', 'LTPDVmainfig'); if ~isempty(id) figure(id) return end %% Some initial setup Gproperties.Gcol = [240 240 240]/255; Gproperties.Gwidth = 1100; Gproperties.Gheight = 700; Gproperties.Gborder = 10; Gproperties.fontsize = 12; Gproperties.Screen = get(0,'screensize'); Gproperties.Gposition = [Gproperties.Screen(3)/2-Gproperties.Gwidth/2 ... Gproperties.Screen(4)/2-Gproperties.Gheight/2 ... Gproperties.Gwidth... Gproperties.Gheight]; % Initialize and hide the GUI as it is being constructed. mainfig = figure('Name', 'LTPDA Dataviewer',... 'NumberTitle', 'off',... 'Visible','off',... 'Position',Gproperties.Gposition,... 'Color', Gproperties.Gcol,... 'Toolbar', 'none',... 'MenuBar', 'none',... 'Resize', 'on',... 'Tag', 'LTPDVmainfig'); % Set mainfig callbacks set(mainfig, 'CloseRequestFcn', {'ltpdv_cb_mainfigClose', mainfig}); % Set Application data setappdata(mainfig, 'Gproperties', Gproperties); %% Setup GUI elements Hmargin = Gproperties.Gborder/Gproperties.Gwidth; Vmargin = Gproperties.Gborder/Gproperties.Gheight; BottomMargin = 0.2; SplitPoint = 0.35; %----------- Object list % Panel pleft = Hmargin; phght = 1-2*Vmargin; pbot = (1 - Vmargin - phght); pwid = SplitPoint - 2*Hmargin; ph = uipanel(mainfig, 'Title','Object List','FontSize', Gproperties.fontsize,... 'BackgroundColor', [0.6 0.7 0.9],... 'Position',[pleft pbot pwid phght], 'Units', 'normalized'); % Object list pmarg = 0.025; Lleft = pmarg; Lbottom = 0.4+pmarg; Lwidth = 1-2*pmarg; Lheight = 1-Lbottom-pmarg; th = uitable(ph, ... 'Units', 'normalized',... 'ColumnName', {'Name','Type'}, ... 'ColumnWidth', {220, 100}, ... 'ColumnEditable', [true false], ... 'Position', [Lleft Lbottom Lwidth Lheight],... 'Tag', 'LTPDVobjList', ... 'CellSelectionCallback', {@ltpdv_objectList_select, mainfig}, ... 'CellEditCallback', {@ltpdv_objectList_edit, mainfig}); % Set column widths set(th, 'Units', 'pixel'); pos = get(th, 'Position'); set(th, 'Units', 'normalized'); set(th, 'ColumnWidth', {0.7*pos(3), 0.2*pos(3)}); % Delete objects button pleft = pmarg; phght = 0.05; pbott = Lbottom - phght - pmarg; pwidt = 0.2; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Delete',... 'Callback', {@ltpdv_delete_objects, mainfig}, ... 'Units', 'normalized', ... 'Position',[pleft pbott pwidt phght]); % Clear objects button pleft = pmarg + pwidt + pmarg; phght = 0.05; pbott = Lbottom - phght - pmarg; pwidt = 0.2; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Clear',... 'Callback', {@ltpdv_delete_objects, mainfig, 'all'}, ... 'Units', 'normalized', ... 'Position',[pleft pbott pwidt phght]); % Save objects button pleft = pleft + pwidt + pmarg; phght = 0.05; pbott = Lbottom - phght - pmarg; pwidt = 0.2; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Save',... 'Callback', {@ltpdv_save_objects, mainfig}, ... 'Units', 'normalized', ... 'Position',[pleft pbott pwidt phght]); % Load objects button pleft = pleft + pwidt + pmarg; phght = 0.05; pbott = Lbottom - phght - pmarg; pwidt = 0.2; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Load',... 'Callback', {@ltpdv_load_objects, mainfig}, ... 'Units', 'normalized', ... 'Position',[pleft pbott pwidt phght]); % Export objects button pleft = pmarg; phght = 0.05; pbott = pbott - phght - pmarg; pwidt = 0.2; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Export',... 'Callback', {@ltpdv_export_objects, mainfig}, ... 'Units', 'normalized', ... 'Position',[pleft pbott pwidt phght]); % Explore objects button pleft = pleft + pwidt + pmarg; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Explore',... 'Callback', {@ltpdv_explore_objects, mainfig}, ... 'Units', 'normalized', ... 'Position',[pleft pbott pwidt phght]); %------- % Plot button bw = 0.2; bl = pmarg; bh = 0.05; bb = pmarg; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Plot',... 'Callback', {@ltpdv_plot, mainfig}, ... 'Units', 'normalized', ... 'Position',[bl bb bw bh]); % Plot history button bw = 0.2; bl = bl+bw+pmarg; bh = 0.05; bb = pmarg; pbh = uicontrol(ph,'Style','pushbutton',... 'String','Plot History',... 'Callback', {@ltpdv_hist_plot, mainfig}, ... 'Units', 'normalized', ... 'Position',[bl bb bw bh]); %----------- TAB PANEL PanLeft = SplitPoint; Tleft = PanLeft + Hmargin; Theight = 1-2*Vmargin ; Tbottom = (1 - Vmargin - Theight); Twidth = (1-PanLeft)-2*Hmargin; htab = uitabgroup('Parent', mainfig, ... 'Units','normalized',... 'Position',[Tleft Tbottom Twidth Theight], 'SelectionChangeFcn', {@ltpdv_tabChanged}); t1 = uitab(htab, 'title', 'Import'); t2 = uitab(htab, 'title', 'Math'); t3 = uitab(htab, 'title', 'Preprocessing'); t4 = uitab(htab, 'title', 'Filter'); t5 = uitab(htab, 'title', 'Spectral'); t6 = uitab(htab, 'title', 'Object Properties'); t7 = uitab(htab, 'title', 'Plot'); % Set app data setappdata(mainfig, 'LTPDAobjects', {}); setappdata(mainfig, 'ImportWorkspaceSelectedRows', []); setappdata(mainfig, 'ObjectListSelectedRows', []); setappdata(mainfig, 'Filters', []); setappdata(mainfig, 'FilterPoles', []); setappdata(mainfig, 'FilterZeros', []); setappdata(mainfig, 'TimesList', {}); % Build panels ltpdv_buildImportPanel(t1, mainfig); ltpdv_buildMathPanel(t2, mainfig); ltpdv_buildPreprocessPanel(t3, mainfig); ltpdv_buildFilterPanel(t4, mainfig); ltpdv_buildSpectralPanel(t5, mainfig); ltpdv_buildPropertiesPanel(t6, mainfig); ltpdv_buildPlotPanel(t7, mainfig); %% Start the GUI % Make the GUI visible. set(mainfig,'Visible','on') end