Mercurial > hg > ltpda
view m-toolbox/classes/@sigBuilder/buildMainfig.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line source
% BUILDMAINFIG build the main sigBuilder window % % M Hewitson 18-10-08 % % $Id: buildMainfig.m,v 1.1 2008/10/19 11:42:40 hewitson Exp $ % function mainfig = buildMainfig(mainfig, varargin) % %% Check if I exist already % id = findobj('Tag', 'SIGBUILDERmainfig'); % if ~isempty(id) % figure(id) % return % end %% Some initial setup Screen = get(0,'screensize'); mainfig.Gproperties.Gcol = [255 255 255]/255; mainfig.Gproperties.Screen = Screen; mainfig.Gproperties.Gwidth = 0.5; mainfig.Gproperties.Gheight = 0.5; mainfig.Gproperties.Gborder = 10; mainfig.Gproperties.fontsize = 12; l = (0.5-mainfig.Gproperties.Gwidth/2); b = (0.5-mainfig.Gproperties.Gheight/2); w = mainfig.Gproperties.Gwidth; h = mainfig.Gproperties.Gheight; mainfig.Gproperties.Gposition = [l b w h]; if ~isempty(varargin) && ishandle(varargin{1}) mainfig.handle = varargin{1}; set(mainfig.handle, 'Tag', 'SIGBUILDERmainfig'); set(mainfig.handle, 'Units', 'normalized'); else % Initialize and hide the GUI as it is being constructed. mainfig.handle = figure('Name', 'LTPDA Signal Builder',... 'NumberTitle', 'off',... 'Visible','off',... 'Units','normalized',... 'Position',mainfig.Gproperties.Gposition,... 'Toolbar', 'none',... 'MenuBar', 'none',... 'Color', mainfig.Gproperties.Gcol,... 'Resize', 'on',... 'Tag', 'SIGBUILDERmainfig'); end % Set mainfig callbacks set(mainfig.handle, 'CloseRequestFcn', {'sigBuilder.cb_mainfigClose', mainfig}); %------------------------------------------------------------------------ %- General properties %------------------------------------------------------------------------ hmarg = 0.006; vmarg = 0.012; commHeight = 0.05; % l b w h % make settings panel w = 0.5-2*hmarg; h = 1-2*vmarg; l = hmarg; b = vmarg; span = uipanel(mainfig.handle,... 'Title', 'Settings', ... 'FontSize', mainfig.Gproperties.fontsize, ... 'BackgroundColor', [0.9 0.9 0.9], ... 'Position', [l b w h], ... 'BorderType', 'line', ... 'BorderWidth', 1, ... 'Tag', 'SettingsPanel', ... 'HighlightColor', [0.5 0.5 0.5]); % make list panel w = 0.5-2*hmarg; h = 1-2*vmarg; l = 0.5+hmarg; b = vmarg; ppan = uipanel(mainfig.handle,... 'Title', 'Signal List', ... 'FontSize', mainfig.Gproperties.fontsize, ... 'BackgroundColor', [200 220 240]/255, ... 'Position', [l b w h], ... 'BorderType', 'line', ... 'BorderWidth', 1, ... 'HighlightColor', [0.5 0.5 0.5]); %------------------------------------------------------------------------ % Sample rate % label l = hmarg; h = commHeight; b = 1-2*vmarg-h; w = 0.25; sth = uicontrol(span, 'Style','text',... 'String', 'Sample Rate [Hz]',... 'Units', 'normalized', ... 'HorizontalAlignment', 'right',... 'BackgroundColor', [0.9 0.9 0.9], ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % edit box l = l + w + hmarg; w = 0.15; sth = uicontrol(span, 'Style','edit',... 'String', '10',... 'Units', 'normalized', ... 'BackgroundColor', 'w', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h], ... 'Tag', 'SampleRateEdit'); %------------------------------------------------------------------------ % T0 % label l = l + w + hmarg; w = 0.15; sth = uicontrol(span, 'Style','text',... 'String', 'Start Time',... 'Units', 'normalized', ... 'HorizontalAlignment', 'right',... 'BackgroundColor', [0.9 0.9 0.9], ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % edit box l = l + w + hmarg; w = 0.35; t0 = time(); sth = uicontrol(span, 'Style','edit',... 'String', char(t0),... 'Units', 'normalized', ... 'BackgroundColor', 'w', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h], ... 'Tag', 'T0edit'); %------------------------------------------------------------------------ % Name % label b = b - h - vmarg; l = hmarg; w = 0.25; sth = uicontrol(span, 'Style','text',... 'String', 'Signal Name',... 'Units', 'normalized', ... 'HorizontalAlignment', 'right',... 'BackgroundColor', [0.9 0.9 0.9], ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % edit box l = l + w + hmarg; w = 0.35; sth = uicontrol(span, 'Style','edit',... 'String', 'None',... 'Units', 'normalized', ... 'BackgroundColor', 'w', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h], ... 'Tag', 'NameEdit'); %------------------------------------------------------------------------ % Signal Type % label w = 0.25; l = hmarg; b = b - h - vmarg; sth = uicontrol(span, 'Style','text',... 'String', 'Signal Type',... 'Units', 'normalized', ... 'BackgroundColor', [0.9 0.9 0.9], ... 'HorizontalAlignment', 'right',... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % drop down menu l = l + w + hmarg; w = 0.35; clsh = uicontrol(span, ... 'Style', 'popupmenu', ... 'Units', 'normalized',... 'Fontsize', mainfig.Gproperties.fontsize, ... 'BackgroundColor', 'w', ... 'String', mainfig.getSignalTypes, ... 'Position', [l b w h],... 'Tag', 'SignalTypeSelect', ... 'Callback', {'sigBuilder.cb_selectSignalType', mainfig}); %------------------------------------------------------------------------ % Panel for signal controls w = 1-4*hmarg; h = 0.65; l = 2*hmarg; b = 0.1+2*vmarg; conpan = uipanel(span,... 'Title', 'Signal Properties', ... 'FontSize', mainfig.Gproperties.fontsize, ... 'FontWeight', 'bold', ... 'BackgroundColor', 'w', ... 'Position', [l b w h], ... 'BorderType', 'line', ... 'BorderWidth', 1, ... 'Tag', 'ControlsPanel', ... 'HighlightColor', [0.5 0.5 0.5]); % Fire the callback sigBuilder.cb_selectSignalType(clsh, mainfig); %------------------------------------------------------------------------ % Add signal button h = 1.2*commHeight; w = 0.2; l = 1-w-hmarg; b = vmarg; pbh = uicontrol(span,'Style','pushbutton',... 'String','Add Signal',... 'Callback', {'sigBuilder.cb_addSignal', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); %------------------------------------------------------------------------ %------------------------------------------------------------------------ %------------------------------------------------------------------------ %- Right Panel %------------------------------------------------------------------------ %------------------------------------------------------------------------ %------------------------------------------------------------------------ %------------------------------------------------------------------------ % Signal List h = 0.7; l = hmarg; b = 1-h-vmarg; w = 1-2*hmarg; t = uitable(ppan, 'Data', [], ... 'ColumnName', {'Type', 'Name', 'Length', 'Start', 'Add'},... 'ColumnFormat', {'char', 'char', 'numeric', 'char', 'logical'},... 'ColumnWidth', {'auto', 'auto', 'auto', 'auto', 'auto'},... 'ColumnEditable', [false false false false true], ... 'units', 'normalized',... 'RowStriping', 'on', ... 'BackgroundColor', [1 1 1;0.8 0.8 0.8], ... 'ForegroundColor', [0 0 0], ... 'Fontsize', mainfig.Gproperties.fontsize,... 'Position', [l b w h],... 'CellSelectionCallback', {'sigBuilder.cb_sigListSelect', mainfig}, ... 'ButtonDownFcn', {'sigBuilder.cb_sigListClick', mainfig}, ... 'Tag', 'sigBuilderSignalList'); %------------------------------------------------------------------------ % buttons % remove h = 1.2*commHeight; w = 0.2; l = hmarg; b = b - h - vmarg; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Remove Signal',... 'Callback', {'sigBuilder.cb_removeSignal', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % clear l = l + hmarg + w; w = 0.2; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Clear List',... 'Callback', {'sigBuilder.cb_clearSignals', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % Toggle select l = l + hmarg + w; w = 0.2; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Toggle State',... 'Callback', {'sigBuilder.cb_toggleAddState', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % Select all l = l + hmarg + w; w = 0.2; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Add All',... 'Callback', {'sigBuilder.cb_addAll', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % Join type % label w = 0.25; l = hmarg; b = b - h - vmarg; sth = uicontrol(ppan, 'Style','text',... 'String', 'Join Type',... 'Units', 'normalized', ... 'BackgroundColor', [200 220 240]/255, ... 'HorizontalAlignment', 'right',... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % drop down menu l = l + w + hmarg; w = 0.35; tip = sprintf('join: overlaps taken from first time-series. (help ao/join)\nsumjoin: overlaps are sum of overlapping time-series. (help ao/sumjoin)'); clsh = uicontrol(ppan, ... 'Style', 'popupmenu', ... 'Units', 'normalized',... 'Fontsize', mainfig.Gproperties.fontsize, ... 'BackgroundColor', 'w', ... 'String', {'sumjoin', 'join'}, ... 'Position', [l b w h],... 'Tag', 'JoinTypeSelect', ... 'Tooltip', tip); % export commands b = b - vmarg - h; l = hmarg; w = 0.25; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Build Commands',... 'Callback', {'sigBuilder.cb_exportCommands', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % Save l = l + w + hmarg; w = 0.2; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Build & Save',... 'Callback', {'sigBuilder.cb_buildSave', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % View l = l + w + hmarg; w = 0.2; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Build & View',... 'Callback', {'sigBuilder.cb_buildView', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); % View l = l + w + hmarg; w = 0.2; pbh = uicontrol(ppan,'Style','pushbutton',... 'String','Build & Export',... 'Callback', {'sigBuilder.cb_buildExport', mainfig}, ... 'Units', 'normalized', ... 'Fontsize', mainfig.Gproperties.fontsize, ... 'Position',[l b w h]); end