diff m-toolbox/classes/@LTPDAprefs/LTPDAprefs.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/@LTPDAprefs/LTPDAprefs.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,250 @@
+% LTPDAprefs is a graphical user interface for editing LTPDA preferences.
+%
+% CALL: LTPDAprefs
+%       LTPDAprefs(h) % build the preference panel in the figure with handle, h.
+%
+%       LTPDAprefs(cat, property, value) % Set the temporary value of a property
+%
+% Category and property names are case sensitive.
+%
+% The properties that can be set are
+%
+%  Category    |    Property         | Description
+% -------------------------------------------------------------------------
+%  display     |  verboseLevel       | Set the level of terminal output from LTPDA
+%              |                     | (see "help utils.const.msg" for
+%              |                     | supported levels).
+% -------------------------------------------------------------------------
+%              |  wrapstrings        | Set the point where strings are wrapped in
+%              |                     | some methods of LTPDA.
+% -------------------------------------------------------------------------
+%  plot        |  axesFontSize       | Set the font size for new plot axes
+% -------------------------------------------------------------------------
+%              |  axesFontWeight     | Set the font weight for new plot axes
+% -------------------------------------------------------------------------
+%              |  axesLineWidth      | Set the line width for new plot axes
+% -------------------------------------------------------------------------
+%              |  lineLineWidth      | Set the line width for new traces
+% -------------------------------------------------------------------------
+%              |  lineMarkerSize     | Set the marker size for new traces
+% -------------------------------------------------------------------------
+%              |  gridStyle          | Set the grid line style for new axes
+% -------------------------------------------------------------------------
+%              |  minorGridStyle     | Set the minor-grid line style for new axes
+% -------------------------------------------------------------------------
+%              |  legendFontSize     | Set the font size for the legend
+% -------------------------------------------------------------------------
+%              |  includeDescription | Set the description of an object to the plot
+% -------------------------------------------------------------------------
+%  time        |  timezone           | Set the timezone used to display time
+%              |                     | objects. (>> time.getTimezones)
+% -------------------------------------------------------------------------
+%              |  timeformat         | Set the format for displaying time objects
+% -------------------------------------------------------------------------
+%  misc        |  default_window     | The default spectral window object for
+%              |                     | use by LTPDA's spectral analysis tools
+% -------------------------------------------------------------------------
+%
+% Example: to set the verbose level of LTPDA from the command-line:
+%
+% >> LTPDAprefs('Display', 'verboseLevel', 3)
+%
+% The value of all properties in the table can also be retrieved by:
+%
+% >> LTPDAprefs.<property_name>
+%
+% for example,
+%
+% >> vl = LTPDAprefs.verboseLevel;
+%
+%
+% M Hewitson 07-12-08
+%
+% $Id: LTPDAprefs.m,v 1.27 2011/04/27 12:45:49 hewitson Exp $
+%
+classdef LTPDAprefs < handle
+  
+  properties (Constant = true)
+    oldpreffile = fullfile(prefdir, 'ltpda_prefs.xml');
+    preffile = fullfile(prefdir, 'ltpda_prefs2.xml');
+  end
+  
+  properties
+    gui = [];
+  end
+  
+  
+  methods
+    function mainfig = LTPDAprefs(varargin)
+      
+      if nargin == 3 && ischar(varargin{1}) && ischar(varargin{2})
+        
+        %--- set preference by command-line
+        
+        category  = lower(varargin{1});
+        property  = varargin{2};
+        value     = varargin{3};
+        
+        LTPDAprefs.setPreference(category, property, value);
+        
+      else
+        % -- load GUI
+        
+        % get prefs from appdata
+        prefs = getappdata(0, 'LTPDApreferences');
+        
+        % make a gui
+        mainfig.gui = javaObjectEDT('mpipeline.ltpdapreferences.LTPDAPrefsGui', [], false, prefs);
+        
+        % upload the available window types
+        winTypes = specwin.getTypes;
+        for kk=1:numel(winTypes)
+          javaMethodEDT('addAvailableWindow', mainfig.gui, winTypes{kk});
+        end
+        
+        %--- called when window is closed
+        h = handle(mainfig.gui, 'callbackproperties');
+        set(h, 'WindowClosedCallback', {@mainfig.cb_guiClosed});
+        
+        %--- Add extension path button
+        h = handle(mainfig.gui.getPrefsTabPane().getExtensionsPanel().getAddPathBtn(), 'callbackproperties');
+        set(h, 'ActionPerformedCallback', {@mainfig.cb_addExtensionPath});
+        
+        %--- Remove extension path button
+        h = handle(mainfig.gui.getPrefsTabPane().getExtensionsPanel().getRemovePathBtn(), 'callbackproperties');
+        set(h, 'ActionPerformedCallback', {@mainfig.cb_removeExtensionPath});
+        
+        %--- Plot preferences changed
+        h = handle(mainfig.gui.getPrefsTabPane().getPlotPanel(), 'callbackproperties');
+        set(h, 'PropertyChangeCallback', {@mainfig.cb_plotPrefsChanged});
+        
+        % Make gui visible
+        mainfig.gui.setVisible(true);
+        
+      end
+      
+    end % End constructor
+    
+    function display(varargin)
+    end
+    
+  end % End public methods
+  
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %                            Methods (static)                               %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+  methods (Static=true)
+    
+    %------------ add here the prototypes
+    
+    varargout = loadPrefs(varargin)
+    varargout = upgradeFromPlist(varargin)
+    varargout = setApplicationData(varargin)
+    
+    %------------ quick accessors for preferences
+    
+    % display
+    function val = verboseLevel
+      prefs = LTPDAprefs.getPreferences;
+      val = double(prefs.getDisplayPrefs.getDisplayVerboseLevel);
+    end
+    
+    function val = wrapStrings
+      prefs = LTPDAprefs.getPreferences;
+      val = double(prefs.getDisplayPrefs.getDisplayWrapStrings);
+    end
+    
+    % plot
+    function val = axesFontSize
+      prefs = LTPDAprefs.getPreferences;
+      val = double(prefs.getPlotPrefs.getPlotDefaultAxesFontSize);
+    end
+    
+    function val = axesFontWeight
+      prefs = LTPDAprefs.getPreferences;
+      val = char(prefs.getPlotPrefs.getPlotDefaultAxesFontWeight);
+    end
+    
+    function val = axesLineWidth
+      prefs = LTPDAprefs.getPreferences;
+      val = double(prefs.getPlotPrefs.getPlotDefaultAxesLineWidth);
+    end
+    
+    function val = lineLineWidth
+      prefs = LTPDAprefs.getPreferences;
+      val = double(prefs.getPlotPrefs.getPlotDefaultLineLineWidth);
+    end
+    
+    function val = lineMarkerSize
+      prefs = LTPDAprefs.getPreferences;
+      val = double(prefs.getPlotPrefs.getPlotDefaultLineMarkerSize);
+    end
+    
+    function val = gridStyle
+      prefs = LTPDAprefs.getPreferences;
+      val = char(prefs.getPlotPrefs.getPlotDefaultAxesGridLineStyle);
+    end
+    
+    function val = minorGridStyle
+      prefs = LTPDAprefs.getPreferences;
+      val = char(prefs.getPlotPrefs.getPlotDefaultAxesMinorGridLineStyle);
+    end
+    
+    function val = legendFontSize
+      prefs = LTPDAprefs.getPreferences;
+      val = double(prefs.getPlotPrefs.getPlotDefaultLegendFontSize);
+    end
+    
+    function val = includeDescription
+      prefs = LTPDAprefs.getPreferences;
+      val = prefs.getPlotPrefs.getPlotDefaultIncludeDescription().booleanValue();
+    end
+    
+    % time
+    function val = timezone
+      prefs = LTPDAprefs.getPreferences;
+      val = char(prefs.getTimePrefs.getTimeTimezone);
+    end
+    
+    function val = timeformat
+      prefs = LTPDAprefs.getPreferences;
+      val = char(prefs.getTimePrefs.getTimestringFormat);
+    end
+    
+    % misc
+    function val = default_window
+      prefs = LTPDAprefs.getPreferences;
+      val = char(prefs.getMiscPrefs.getDefaultWindow);
+    end
+    
+  end
+  
+  
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %                         Methods (static, private)                         %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  methods (Access = private, Static=true)
+    
+    prefs = getPreferences()
+    setPreference(category, property, value)
+    
+  end
+  
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %                         Methods (private)                                 %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+  methods (Access = private)
+
+    cb_guiClosed(varargin)
+    cb_addModelPath(varargin)
+    cb_removeModelPath(varargin)
+    cb_addExtensionPath(varargin)    
+    cb_removeExtensionPath(varargin)
+    
+  end
+  
+end
+
+% END