Mercurial > hg > ltpda
diff m-toolbox/classes/@specwinViewer/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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/@specwinViewer/buildMainfig.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,246 @@ +% BUILDMAINFIG build the main constructor window +% +% M Hewitson 18-10-08 +% +% $Id: buildMainfig.m,v 1.2 2011/05/18 08:25:36 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 = 1000; + mainfig.Gproperties.Gheight = 600; + mainfig.Gproperties.Gborder = 10; + mainfig.Gproperties.fontsize = 12; + + l = (Screen(3)/2-mainfig.Gproperties.Gwidth/2); + b = (Screen(4)/2-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', 'SPECWINVIEWERmainfig'); +% set(mainfig.handle, 'Units', 'normalized'); + else + % Initialize and hide the GUI as it is being constructed. + mainfig.handle = figure('Name', 'LTPDA Specwin Viewer',... + 'NumberTitle', 'off',... + 'Visible','off',... + 'Position',mainfig.Gproperties.Gposition,... + 'Toolbar', 'none',... + 'MenuBar', 'none',... + 'Color', mainfig.Gproperties.Gcol,... + 'Resize', 'on',... + 'Tag', 'SPECWINVIEWERmainfig'); +% 'Units','normalized',... + end + + % Set mainfig callbacks + set(mainfig.handle, 'CloseRequestFcn', {'specwinViewer.cb_mainfigClose', mainfig}); + + %------------------------------------------------------------------------ + %- General properties + %------------------------------------------------------------------------ + hmarg = 0.02; + vmarg = 0.02; + commHeight = 0.06; + % 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 build panel + w = 0.5-2*hmarg; + h = 1-2*vmarg; + l = 0.5+hmarg; + b = vmarg; + ppan = uipanel(mainfig.handle,... + 'Title', 'Build ', ... + 'FontSize', mainfig.Gproperties.fontsize, ... + 'BackgroundColor', [200 220 240]/255, ... + 'Position', [l b w h], ... + 'BorderType', 'line', ... + 'BorderWidth', 1, ... + 'Tag', 'SPECWINVIEWERparamspanel', ... + 'HighlightColor', [0.5 0.5 0.5]); + + + %--- Settings + + % Select window to construct + % label + l = hmarg; + h = commHeight; + b = 1-h-3*hmarg; + w = 0.35; + sth = uicontrol(span, 'Style','text',... + 'String', 'Window type ',... + 'Units', 'normalized', ... + 'HorizontalAlignment', 'right',... + 'BackgroundColor', [0.9 0.9 0.9], ... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'Position',[l b w h]); + + % menu box + l = l + w + hmarg; + w = 0.5; + clsh = uicontrol(span, ... + 'Style', 'popupmenu', ... + 'Units', 'normalized',... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'BackgroundColor', 'w', ... + 'String', specwin.getTypes, ... + 'Position', [l b w h],... + 'Tag', 'WindowSelect', ... + 'Callback', {'specwinViewer.cb_selectWindow', mainfig}); + + % Select window size + % label + b = b - h - hmarg; + l = hmarg; + w = 0.35; + sth = uicontrol(span, 'Style','text',... + 'String', 'Window size ',... + 'Units', 'normalized', ... + 'HorizontalAlignment', 'right',... + 'BackgroundColor', [0.9 0.9 0.9], ... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'Position',[l b w h]); + + % menu box + l = l + w + hmarg; + w = 0.5; + ssh = uicontrol(span, ... + 'Style', 'edit', ... + 'Units', 'normalized',... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'BackgroundColor', 'w', ... + 'String', '100', ... + 'Position', [l b w h],... + 'Tag', 'WindowSize'); + + % Select window psll + % label + b = b - h - hmarg; + l = hmarg; + w = 0.35; + sth = uicontrol(span, 'Style','text',... + 'String', 'Window PSLL ',... + 'Units', 'normalized', ... + 'HorizontalAlignment', 'right',... + 'BackgroundColor', [0.9 0.9 0.9], ... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'Position',[l b w h], ... + 'Tag', 'WindowPSLLlabel'); + + % menu box + l = l + w + hmarg; + w = 0.5; + ssh = uicontrol(span, ... + 'Style', 'edit', ... + 'Units', 'normalized',... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'BackgroundColor', 'w', ... + 'String', '100', ... + 'Position', [l b w h],... + 'Tag', 'WindowPSLL'); + + % Plot time btn + w = 0.4; + l = hmarg; + b = b - h - hmarg; + pbh = uicontrol(span,'Style','pushbutton',... + 'String','Plot Time-domain',... + 'Callback', {'specwinViewer.cb_plotTime', mainfig}, ... + 'Units', 'normalized', ... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'Position',[l b w h]); + + % Plot freq btn + l = l+w+hmarg; + pbh = uicontrol(span,'Style','pushbutton',... + 'String','Plot Freq-domain',... + 'Callback', {'specwinViewer.cb_plotFreq', mainfig}, ... + 'Units', 'normalized', ... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'Position',[l b w h]); + + % info display + w = 1-2*hmarg; + l = hmarg; + h = 0.4; + b = b - h - hmarg; + pbh = uicontrol(span,'Style','text',... + 'String',' ',... + 'BackgroundColor', [1 1 1], ... + 'ForegroundColor', [0.2 0.2 1], ... + 'Units', 'normalized', ... + 'Fontsize', 14, ... + 'Tag', 'InfoDisplay', ... + 'Position',[l b w h]); + + % constructor display + w = 1-2*hmarg; + l = hmarg; + h = 0.1; + b = b - h - hmarg; + pbh = uicontrol(span,'Style','edit',... + 'String',' ',... + 'BackgroundColor', [1 1 1], ... + 'ForegroundColor', [0 0 0], ... + 'Units', 'normalized', ... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'Tag', 'ConstructorDisplay', ... + 'Position',[l b w h]); + + % axes + M = 0.01; + ax = axes('Position', [0.2+M 0.2 0.7 0.7], ... + 'Parent', ppan, ... + 'Tag', 'SpecwinViewerAxes', ... + 'Visible', 'on', ... + 'Box', 'on'); + + setappdata(mainfig.handle, 'axes', ax); + + % plot button + w = 0.2; + l = 1-w-vmarg; + b = hmarg; + pbh = uicontrol(ppan,'Style','pushbutton',... + 'String','plot',... + 'Callback', {'specwinViewer.cb_plot', mainfig}, ... + 'Units', 'normalized', ... + 'Fontsize', mainfig.Gproperties.fontsize, ... + 'Position',[l b w h]); + + + % Fire callbacks + specwinViewer.cb_selectWindow(mainfig); + + +end