Mercurial > hg > ltpda
diff m-toolbox/m/gui/specwin_viewer/specwin_viewer.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/m/gui/specwin_viewer/specwin_viewer.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,174 @@ +function varargout = specwin_viewer(varargin) + +% SPECWIN_VIEWER allows the user to explore spectral windows. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DESCRIPTION: SPECWIN_VIEWER allows the user to explore spectral windows. +% +% CALL: specwin_viewer +% +% +% VERSION: $Id: specwin_viewer.m,v 1.4 2008/08/04 18:23:04 hewitson Exp $ +% +% HISTORY: 07-03-08 M Hewitson +% Creation +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%% Check if I exist already +id = findobj('Tag', 'LTPDAspecwin_viewer'); +if ~isempty(id) + figure(id) + return +end + +%% Some initial setup + +Gproperties.Gcol = [240 240 240]/255; +Gproperties.Gwidth = 800; +Gproperties.Gheight = 400; +Gproperties.Gborder = 10; +fontsize = getappdata(0, 'ltpda_repo_gui_fontsize'); + +Gproperties.Screen = get(0,'screensize'); +Gproperties.Gposition = [150 ... + 150 ... + Gproperties.Gwidth... + Gproperties.Gheight]; + +% Initialize and hide the GUI as it is being constructed. +mainfig = figure('Name', 'LTPDA Spectral Window Viewer',... + 'NumberTitle', 'off',... + 'Visible','off',... + 'Position',Gproperties.Gposition,... + 'Color', Gproperties.Gcol,... + 'ToolBar', 'none', ... + 'NextPlot', 'new', ... + 'MenuBar', 'none',... + 'Resize', 'off',... + 'Tag', 'LTPDAspecwin_viewer'); + +% Set mainfig callbacks +set(mainfig, 'CloseRequestFcn', {'ltpda_specwin_viewer_close', mainfig}); + +% Set Application data +setappdata(mainfig, 'Gproperties', Gproperties); + + +%% Window selection dialog + +%----------------------------------- Window selection box +buildWindowSelectionMenu(mainfig); + +%----------------------------------- Window size + +sth = uicontrol(mainfig,'Style','text',... + 'String','Window Size',... + 'BackgroundColor', Gprops.Gcol, ... + 'Position',[10 Gprops.Gheight-70 80 25]); + +eth = uicontrol(mainfig,'Style','edit',... + 'String','100',... + 'BackgroundColor', 'w', ... + 'Tag', 'LTPDA_specwin_viewer_WinSize', ... + 'Position',[100 Gprops.Gheight-70 120 25]); + +%------------------------------------- PSLL + +sth = uicontrol(mainfig,'Style','text',... + 'String','Window PSLL',... + 'BackgroundColor', Gprops.Gcol, ... + 'Position',[10 Gprops.Gheight-100 80 25]); + +eth = uicontrol(mainfig,'Style','edit',... + 'String','150',... + 'BackgroundColor', 'w', ... + 'Tag', 'LTPDA_specwin_viewer_PSLL', ... + 'Position',[100 Gprops.Gheight-100 120 25]); + +%--------------------------- Build Time-domain Button +pbh = uicontrol(mainfig,'Style','pushbutton',... + 'String','Plot Time-domain',... + 'Callback', {'ltpda_specwin_viewer_build_window', 'Time-domain'}, ... + 'Position',[10 Gprops.Gheight-140 100 25]); + +%--------------------------- Build Freq-domain Button +pbh = uicontrol(mainfig,'Style','pushbutton',... + 'String','Plot Freq-domain',... + 'Callback', {'ltpda_specwin_viewer_build_window', 'Freq-domain'}, ... + 'Position',[120 Gprops.Gheight-140 100 25]); + +%------------------------- Axes + +M = 0.01; +ax = axes('Position', [0.5+M 0.2 0.4 0.7], ... + 'Parent', mainfig, ... + 'Tag', 'LTPDA_specwin_viewer_axes', ... + 'Visible', 'on', ... + 'Box', 'on'); + +setappdata(mainfig, 'axes', ax); + +sth = uicontrol(mainfig,'Style','text',... + 'String','None',... + 'BackgroundColor', Gprops.Gcol, ... + 'Tag', 'LTPDA_specwin_viewer_wininfo', ... + 'Position',[10 10 300 Gproperties.Gheight/2 - 20], ... + 'FontSize', 14, 'ForegroundColor', 'b'); + +% Constructor text field +sth = uicontrol(mainfig,'Style','edit',... + 'String','',... + 'BackgroundColor', 'w', ... + 'Tag', 'LTPDA_specwin_viewer_cstr', ... + 'Position',[10 10 300 25]); + + +% call callback for window type +ltpda_specwin_viewer_wintype(mainfig); + +% draw window +ltpda_specwin_viewer_build_window('Time-domain'); + + + + +%% Start the GUI + +% Make the GUI visible. +set(mainfig,'Visible','on') + + +%% Sub-functions + + %---- Window selection box + function buildWindowSelectionMenu(mainfig) + + Gprops = getappdata(mainfig, 'Gproperties'); + + % get window list + wins = specwin.getTypes; + + % text field + sth = uicontrol(mainfig,'Style','text',... + 'String','Window Type',... + 'BackgroundColor', Gprops.Gcol, ... + 'Position',[10 Gprops.Gheight-40 80 25]); + + % pop-up dialog + pmh = uicontrol(mainfig,'Style','popupmenu',... + 'String', [{'Kaiser'} wins],... + 'Value', 1, ... + 'BackgroundColor', Gprops.Gcol, ... + 'Tag', 'LTPDA_specwin_viewer_WinType', ... + 'Callback', {'ltpda_specwin_viewer_wintype', mainfig}, ... + 'Position',[100 Gprops.Gheight-40 120 25]); + + end + +end + + +