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
+
+
+