Mercurial > hg > aimmat
diff aim-mat/tools/@parameter/parameter.m @ 0:74dedb26614d
Initial checkin of AIM-MAT version 1.5 (6.4.2011).
author | tomwalters |
---|---|
date | Fri, 20 May 2011 12:32:31 +0100 |
parents | |
children | 20ada0af3d7d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aim-mat/tools/@parameter/parameter.m Fri May 20 12:32:31 2011 +0100 @@ -0,0 +1,93 @@ +% method of class @parameter +% +% (c) 2003-2008, University of Cambridge +% Maintained by Tom Walters (tcw24@cam.ac.uk), written by Stefan Bleeck (stefan@bleeck.de) +% http://www.pdn.cam.ac.uk/cnbh/aim2006/tools/parameter +% $Date: 2008-06-10 18:00:16 +0100 (Tue, 10 Jun 2008) $ +function dstr=parameter(inp,mode,position) +% class parameter + + +if nargin<1 + param.name='data structure'; + param.entries=[]; +else + if isobject(inp) + param=inp; + else + if isstr(inp) + param.name=inp; + param.entries=[]; + else + error('data structure must be called with a name'); + end + end +end + + + +% protected variables (only accessible through set/get) + +% version number. +% Version 1.0: basic functionallity works +param.version='1.0'; + + +% these values are used when a gui is used +% that one is the default value that is given back when the gui is closed +param.default_value=''; + +% that one defines whether the gui is modal or not +if nargin < 2 + param.mode='nonmodal'; +else + if strcmp(mode,'modal') || strcmp(mode,'nonmodal') + param.mode=mode; + else + disp('mode not recognised'); + param.mode='nonmodal'; + end +end +% data that the user can use to shift it between gui and application: +param.userdata=[]; + +% north - top center edge of screen +% south - bottom center edge of screen +% east - right center edge of screen +% west - left center edge of screen +% northeast - top right corner of screen +% northwest - top left corner of screen +% southeast - bottom right corner of screen +% southwest - bottom left corner +% center - center of screen +% onscreen - nearest location with respect to current location that is on +% screen The position argument can also be a two-element vector [h,v], where depending on sign, h specifies the +% the default position of the gui is in the top right corner +if nargin <3 + param.position='center'; +else + if strcmp(position,'north') || strcmp(position,'south') || strcmp(position,'west') || strcmp(position,'east') || strcmp(position,'northeast') || strcmp(position,'northwest') || strcmp(position,'southeast') || strcmp(position,'southwest') || strcmp(position,'center') || strcmp(position,'onscreen') + param.position=position; + elseif size(position)==2 + param.position=position; + else + disp('position not reconised'); + param.position='center'; + end +end + +% where the focus is directly after calling +param.firstfocus=''; + +% diosplayed when with the mouse over it +param.tooltiptext=''; + + +% a couple of informations that are used during installations (private +% variables +param.panelinfo=[]; + +dstr=class(param,'parameter'); + + +