mextglob.m
上传用户:haiyisale
上传日期:2013-01-09
资源大小:3246k
文件大小:5k
源码类别:

波变换

开发平台:

Matlab

  1. function varargout = mextglob(option,varargin)
  2. %MEXTGLOB Module of extended objects globals.
  3. %   VARARGOUT = MEXTGLOB(OPTION,VARARGIN)
  4. %
  5. %   OPTION : 'ini' , 'pref' , 'clear' 
  6. %            'get' , 'set'  , 'is_on'
  7. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 01-May-96.
  8. %   Last Revision: 02-Aug-2000.
  9. %   Copyright 1995-2002 The MathWorks, Inc.
  10. % $Revision: 1.17 $
  11. global Def_WGlob_Struct
  12. switch option
  13.   case {'ini','pref'}
  14.       defaultMode = wmachdep('read_defaultMode');
  15.       if isempty(Def_WGlob_Struct)
  16.           option = 'ini';
  17.           if nargin==1 , pref = defaultMode; else , pref = varargin{1}; end
  18.       elseif nargin==1
  19.           return
  20.       else
  21.           option = 'pref';
  22.           pref   = varargin{1};
  23.           if isequal(Def_WGlob_Struct.initMode,pref) , return; end
  24.       end
  25.   case {'get','set','clear','is_on'}
  26.   otherwise , errargt(mfilename,'Unknown Option','msg');
  27. end
  28. switch option
  29.     case 'ini'
  30.         % Initialization.
  31.         Def_WGlob_Struct.initMode = 0;
  32.         Def_WGlob_Struct.sizes  = [];
  33.         Def_WGlob_Struct.colors = [];
  34.         [sizes,colors] = wmachdep('globals');
  35.         Def_WGlob_Struct.sizes  = sizes;
  36.         Def_WGlob_Struct.colors = colors;
  37.         if isempty(pref) , pref = defaultMode; end
  38.         mextglob('pref',pref);
  39.     case 'pref'
  40.         allPrefMode = [1:8 , 666];
  41.         prefMode = varargin{1};
  42.         if     isempty(prefMode) , prefMode = defaultMode;
  43.         elseif ischar(prefMode)   , prefMode = 'm';  % monochrome
  44.         elseif isempty(find(prefMode==allPrefMode))
  45.             prefMode = wmachdep('test_prefMode',prefMode);
  46.             prefMode = defaultMode;
  47.         end
  48.         Def_WGlob_Struct.initMode = prefMode;
  49.         colors = Def_WGlob_Struct.colors;
  50.         colors = wmachdep('colors',prefMode,colors);
  51.         Def_WGlob_Struct.colors = colors;
  52.     case 'get'
  53.         if isempty(Def_WGlob_Struct) , mextglob('ini'); end
  54.         sizes  = Def_WGlob_Struct.sizes;
  55.         colors = Def_WGlob_Struct.colors;
  56.         nbout  = nargout;
  57.         nbin   = nargin-1;
  58.         for k=1:min([nbin,nbout])
  59.             switch varargin{k}
  60.               case 'InitMode'        , varargout{k} = Def_WGlob_Struct.initMode;
  61.               case 'Terminal_Prop'   , varargout{k} = sizes.termProp;
  62.               case 'ShiftTop_Fig'    , varargout{k} = sizes.figShiftTop;
  63.               case 'Def_Btn_Height'  , varargout{k} = sizes.btnHeight;
  64.               case 'Def_Btn_Width'   , varargout{k} = sizes.btnWidth;
  65.               case 'Def_Txt_Height'  , varargout{k} = sizes.txtHeight;
  66.               case 'Pop_Min_Width'   , varargout{k} = sizes.popWidth;
  67.               case 'Sli_YProp'       , varargout{k} = sizes.sliYProp;
  68.               case 'X_Spacing'       , varargout{k} = sizes.xSpacing;
  69.               case 'Y_Spacing'       , varargout{k} = sizes.ySpacing;
  70.               case 'X_Graph_Ratio'   , varargout{k} = sizes.xGraRatio;
  71.               case 'Def_AxeFontSize' , varargout{k} = sizes.axeFontSize;
  72.               case 'Def_TxtFontSize' , varargout{k} = sizes.txtFontSize;
  73.               case 'Def_UicFtWeight' , varargout{k} = sizes.uicFontWeight;
  74.               case 'Def_AxeFtWeight' , varargout{k} = sizes.axeFontWeight;
  75.               case 'Def_TxtFtWeight' , varargout{k} = sizes.txtFontWeight;
  76.               case 'Lst_ColorMap'    , varargout{k} = colors.lstColorMap;
  77.               case 'Def_UICBkColor'  , varargout{k} = colors.uicBkColor;
  78.               case 'Def_TxtBkColor'  , varargout{k} = colors.txtBkColor;
  79.               case 'Def_EdiBkColor'  , varargout{k} = colors.ediBkColor;
  80.               case 'Def_FraBkColor'  , varargout{k} = colors.fraBkColor;
  81.               case 'Def_FigColor'    , varargout{k} = colors.figColor;
  82.               case 'Def_DefColor'    , varargout{k} = colors.defColor;
  83.               case 'Def_AxeXColor'   , varargout{k} = colors.axeXColor;
  84.               case 'Def_AxeYColor'   , varargout{k} = colors.axeYColor;
  85.               case 'Def_AxeZColor'   , varargout{k} = colors.axeZColor;
  86.               case 'Def_TxtColor'    , varargout{k} = colors.txtColor;
  87.             end
  88.         end
  89.     case 'set'
  90.         if isempty(Def_WGlob_Struct) , mextglob('ini'); end
  91.         nbin = nargin-1;
  92.         for k=1:2:nbin
  93.             switch varargin{k}
  94.               case 'ShiftTop_Fig'
  95.                 Def_WGlob_Struct.sizes.figShiftTop = varargin{k+1};
  96.               end
  97.         end
  98.     case 'is_on'
  99.         varargout{1} = ~isempty(Def_WGlob_Struct);
  100.     
  101.     case 'clear'
  102.         clear global Def_WGlob_Struct
  103.     otherwise
  104.         errargt(mfilename,'Unknown Option','msg');
  105.         error('*');
  106. end