diff m-toolbox/classes/@constructor/buildObj.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/@constructor/buildObj.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,35 @@
+function buildObj(varargin)
+  
+  mainfig = varargin{end};
+    
+  % get object name
+  varh = findobj(mainfig.handle, 'Tag', 'VariableTxt');
+  varname = get(varh, 'String');
+
+  % get base workspace variables
+  ws_vars = evalin('base','who');
+  
+  % check if this one is there or not
+  if ismember(varname, ws_vars)
+    j = 1;
+    vname = varname;
+    while ismember(vname, ws_vars)
+      vname = sprintf('%s_%03d', varname, j);
+      j = j + 1;
+    end
+  else
+    vname = varname;
+  end
+  
+  disp(sprintf('** exporting to %s', vname));
+  
+  % get constructor string
+  h = findobj(mainfig.handle, 'Tag', 'ConstructorDisplay');
+  cstr = get(h, 'String');
+  
+  cmd = sprintf('%s = %s;', vname, cstr);
+  evalin('base', cmd);
+  
+  
+  
+end