source: trunk/src/uvmat_doc/FUNCTIONS_DOC/dataview.html @ 37

Last change on this file since 37 was 37, checked in by sommeria, 14 years ago

create_grid.fig ,
uvmat_doc and all the included files added

File size: 44.0 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of dataview</title>
6  <meta name="keywords" content="dataview">
7  <meta name="description" content="TEST 'dataview': function for scanning directories in a campaign (TEST)">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../index.html">Home</a> &gt;  <a href="index.html">.</a> &gt; dataview.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for .&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
19
20<h1>dataview
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
24<div class="box"><strong>TEST 'dataview': function for scanning directories in a campaign (TEST)</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
27<div class="box"><strong>function varargout = dataview(varargin) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
30<div class="fragment"><pre class="comment">TEST 'dataview': function for scanning directories in a campaign (TEST)
31------------------------------------------------------------------------
32 function varargout = series(varargin)
33 associated with the GUI dataview.fig
34
35AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
36  Copyright Joel Sommeria, 2008, LEGI / CNRS-UJF-INPG, sommeria@coriolis-legi.org.
37AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
38     This file is part of the toolbox UVMAT.
39 
40     UVMAT is free software; you can redistribute it and/or modify
41     it under the terms of the GNU General Public License as published by
42     the Free Software Foundation; either version 2 of the License, or
43     (at your option) any later version.
44 
45     UVMAT is distributed in the hope that it will be useful,
46     but WITHOUT ANY WARRANTY; without even the implied warranty of
47     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
48     GNU General Public License (file UVMAT/COPYING.txt) for more details.
49AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</pre></div>
50
51<!-- crossreference -->
52<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
53This function calls:
54<ul style="list-style-image:url(../matlabicon.gif)">
55<li><a href="ListDir.html" class="code" title="function [ListDevices,ListRecords,ListXml,List]=ListDir(CurrentPath,ListExperiments,ListDevices_in,ListRecords_in)">ListDir</a>  'ListDir': scan the structure of the directory tree (for dataview.m)</li><li><a href="editxml.html" class="code" title="function varargout = editxml(varargin)">editxml</a>     'editxml': function for editing xml files using a xml schema (associated with the GUI editxml.fig)</li><li><a href="msgbox_uvmat.html" class="code" title="function varargout = msgbox_uvmat(varargin)">msgbox_uvmat</a>        'msgbox_uvmat': associated with GUI msgbox_uvmat.fig to display message boxes, for error, warning or input calls</li><li><a href="struct2xml.html" class="code" title="function t=struct2xml(Object,t,root_uid)">struct2xml</a> 'struct2xml': transform a matlab structure to a xml tree.</li><li><a href="warndlg_uvmat.html" class="code" title="function hwarn=warndlg_uvmat(warntext,title)">warndlg_uvmat</a>      'warndlg_uvmat': display warning message (error, warning, confirmation) in a given figure</li></ul>
56This function is called by:
57<ul style="list-style-image:url(../matlabicon.gif)">
58<li><a href="editxml.html" class="code" title="function varargout = editxml(varargin)">editxml</a>      'editxml': function for editing xml files using a xml schema (associated with the GUI editxml.fig)</li><li><a href="geometry_calib.html" class="code" title="function varargout = geometry_calib(varargin)">geometry_calib</a>  'geometry_calib': performs geometric calibration from a set of reference points</li></ul>
59<!-- crossreference -->
60
61<h2><a name="_subfunctions"></a>SUBFUNCTIONS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
62<ul style="list-style-image:url(../matlabicon.gif)">
63<li><a href="#_sub1" class="code">function dataview_OpeningFcn(hObject, eventdata, handles, varargin)</a></li><li><a href="#_sub2" class="code">function varargout = dataview_OutputFcn(hObject, eventdata, handles)</a></li><li><a href="#_sub3" class="code">function browser_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub4" class="code">function OpenSubCampaign_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub5" class="code">function RootDirectory_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub6" class="code">function ListExperiments_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub7" class="code">function ListDevices_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub8" class="code">function ListRecords_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub9" class="code">function CampaignDoc_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub10" class="code">function edit_xml_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub11" class="code">function  [Title,test_mod]=check_heading(Currentpath,Campaign,Experiment,Device,Record,xmlname,testSubCampaign)</a></li><li><a href="#_sub12" class="code">function HELP_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub13" class="code">function SubCampaignTest_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub14" class="code">function ListXml_Callback(hObject, eventdata, handles)</a></li><li><a href="#_sub15" class="code">function clean_civ_cmx_Callback(hObject, eventdata, handles)</a></li></ul>
64<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
65<div class="fragment"><pre>0001 <span class="comment">%TEST 'dataview': function for scanning directories in a campaign (TEST)</span>
660002 <span class="comment">%------------------------------------------------------------------------</span>
670003 <span class="comment">% function varargout = series(varargin)</span>
680004 <span class="comment">% associated with the GUI dataview.fig</span>
690005 <span class="comment">%</span>
700006 <span class="comment">%AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</span>
710007 <span class="comment">%  Copyright Joel Sommeria, 2008, LEGI / CNRS-UJF-INPG, sommeria@coriolis-legi.org.</span>
720008 <span class="comment">%AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</span>
730009 <span class="comment">%     This file is part of the toolbox UVMAT.</span>
740010 <span class="comment">%</span>
750011 <span class="comment">%     UVMAT is free software; you can redistribute it and/or modify</span>
760012 <span class="comment">%     it under the terms of the GNU General Public License as published by</span>
770013 <span class="comment">%     the Free Software Foundation; either version 2 of the License, or</span>
780014 <span class="comment">%     (at your option) any later version.</span>
790015 <span class="comment">%</span>
800016 <span class="comment">%     UVMAT is distributed in the hope that it will be useful,</span>
810017 <span class="comment">%     but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
820018 <span class="comment">%     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
830019 <span class="comment">%     GNU General Public License (file UVMAT/COPYING.txt) for more details.</span>
840020 <span class="comment">%AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</span>
850021
860022 <a name="_sub0" href="#_subfunctions" class="code">function varargout = dataview(varargin)</a>
870023
880024 <span class="comment">% Last Modified by GUIDE v2.5 28-Apr-2009 00:12:36</span>
890025
900026 <span class="comment">% Begin initialization code - DO NOT EDIT</span>
910027 gui_Singleton = 1;
920028 gui_State = struct(<span class="string">'gui_Name'</span>,       mfilename, <span class="keyword">...</span>
930029                    <span class="string">'gui_Singleton'</span>,  gui_Singleton, <span class="keyword">...</span>
940030                    <span class="string">'gui_OpeningFcn'</span>, @<a href="#_sub1" class="code" title="subfunction dataview_OpeningFcn(hObject, eventdata, handles, varargin)">dataview_OpeningFcn</a>, <span class="keyword">...</span>
950031                    <span class="string">'gui_OutputFcn'</span>,  @<a href="#_sub2" class="code" title="subfunction varargout = dataview_OutputFcn(hObject, eventdata, handles)">dataview_OutputFcn</a>, <span class="keyword">...</span>
960032                    <span class="string">'gui_LayoutFcn'</span>,  [] , <span class="keyword">...</span>
970033                    <span class="string">'gui_Callback'</span>,   []);
980034 <span class="keyword">if</span> nargin &amp; isstr(varargin{1})
990035     gui_State.gui_Callback = str2func(varargin{1});
1000036 <span class="keyword">end</span>
1010037
1020038 <span class="keyword">if</span> nargout
1030039     [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
1040040 <span class="keyword">else</span>
1050041     gui_mainfcn(gui_State, varargin{:});
1060042 <span class="keyword">end</span>
1070043 <span class="comment">% End initialization code - DO NOT EDIT</span>
1080044
1090045
1100046 <span class="comment">% --- Executes just before dataview is made visible.</span>
1110047 <a name="_sub1" href="#_subfunctions" class="code">function dataview_OpeningFcn(hObject, eventdata, handles, varargin)</a>
1120048
1130049 <span class="comment">% Choose default command line output for dataview</span>
1140050 handles.output = hObject;
1150051
1160052 <span class="comment">% Update handles structure</span>
1170053 guidata(hObject, handles);
1180054
1190055 <span class="comment">%----------------------------------------------------------------</span>
1200056 <span class="comment">% --- Outputs from this function are returned to the command line.</span>
1210057 <a name="_sub2" href="#_subfunctions" class="code">function varargout = dataview_OutputFcn(hObject, eventdata, handles)</a>
1220058
1230059 <span class="comment">% Get default command line output from handles structure</span>
1240060 varargout{1} = handles.output;
1250061
1260062
1270063
1280064 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
1290065 <span class="comment">%------------------------------------------------------</span>
1300066 <span class="comment">% --- Executes on button press in browser.</span>
1310067 <a name="_sub3" href="#_subfunctions" class="code">function browser_Callback(hObject, eventdata, handles)</a>
1320068 <span class="comment">%------------------------------------------------------------------------</span>
1330069
1340070 CurrentFile=<span class="string">'/coriolis/bigone/PROJETS'</span>;<span class="comment">%get(handles.RootDirectory,'String');</span>
1350071 set(handles.SubCampaignTest,<span class="string">'Value'</span>,0)
1360072 CampaignDir=uigetdir(CurrentFile,<span class="string">'Open the Campaign directory'</span>); <span class="comment">%file browser</span>
1370073 set(handles.RootDirectory,<span class="string">'String'</span>,CampaignDir)
1380074 <a href="#_sub5" class="code" title="subfunction RootDirectory_Callback(hObject, eventdata, handles)">RootDirectory_Callback</a>(hObject, eventdata, handles)
1390075
1400076 <span class="comment">% --- Executes on button press in open_SubCampaign.</span>
1410077 <a name="_sub4" href="#_subfunctions" class="code">function OpenSubCampaign_Callback(hObject, eventdata, handles)</a>
1420078 CurrentFile=<span class="string">'/coriolis/bigone/PROJETS'</span>;<span class="comment">%get(handles.RootDirectory,'String');</span>
1430079 set(handles.SubCampaignTest,<span class="string">'Value'</span>,1)
1440080 CampaignDir=uigetdir(CurrentFile,<span class="string">'Open the Campaign directory'</span>); <span class="comment">%file browser</span>
1450081 set(handles.RootDirectory,<span class="string">'String'</span>,CampaignDir)
1460082
1470083 <a href="#_sub5" class="code" title="subfunction RootDirectory_Callback(hObject, eventdata, handles)">RootDirectory_Callback</a>(hObject, eventdata, handles)
1480084
1490085 <span class="comment">%------------------------------------------------------------------------</span>
1500086
1510087 <a name="_sub5" href="#_subfunctions" class="code">function RootDirectory_Callback(hObject, eventdata, handles)</a>
1520088 CampaignDir=get(handles.RootDirectory,<span class="string">'String'</span>);
1530089 <span class="keyword">if</span> exist(CampaignDir,<span class="string">'dir'</span>)
1540090     hdir=dir(CampaignDir); <span class="comment">%list files and dirs</span>
1550091     idir=0;
1560092     <span class="keyword">for</span> ilist=1:length(hdir)
1570093         <span class="keyword">if</span> hdir(ilist).isdir
1580094             dirname=hdir(ilist).name;
1590095             <span class="keyword">if</span> ~isequal(dirname(1),<span class="string">'.'</span>)&amp;&amp;~isequal(dirname(1),<span class="string">'0'</span>)
1600096                 idir=idir+1;
1610097                 ExpName{idir}=hdir(ilist).name;
1620098             <span class="keyword">end</span>
1630099             <span class="comment">% look for the list of 'devices'</span>
1640100         <span class="keyword">else</span>
1650101             <span class="comment">%warning for isolated files</span>
1660102         <span class="keyword">end</span>
1670103     <span class="keyword">end</span>
1680104     set(handles.ListExperiments,<span class="string">'String'</span>,[{<span class="string">'*'</span>};ExpName'])
1690105     set(handles.ListExperiments,<span class="string">'Value'</span>,1)
1700106     <a href="#_sub6" class="code" title="subfunction ListExperiments_Callback(hObject, eventdata, handles)">ListExperiments_Callback</a>(hObject, eventdata, handles)
1710107 <span class="keyword">else</span>
1720108     <a href="warndlg_uvmat.html" class="code" title="function hwarn=warndlg_uvmat(warntext,title)">warndlg_uvmat</a>([<span class="string">'The input '</span> CampaignDir <span class="string">' is not a directory'</span>],<span class="string">'ERROR'</span>)
1730109 <span class="keyword">end</span>
1740110
1750111 <span class="comment">%------------------------------------------------------------------------</span>
1760112 <span class="comment">% --- Executes on selection change in ListExperiments.</span>
1770113  <span class="keyword">function</span> <a href="#_sub6" class="code" title="subfunction ListExperiments_Callback(hObject, eventdata, handles)">ListExperiments_Callback</a>(hObject, eventdata, handles)
1780114 CurrentPath=get(handles.RootDirectory,<span class="string">'String'</span>);
1790115 ListExperiments=get(handles.ListExperiments,<span class="string">'String'</span>);
1800116 list_val=get(handles.ListExperiments,<span class="string">'Value'</span>);
1810117 <span class="keyword">if</span> isequal(list_val(1),1)
1820118     ListExperiments=ListExperiments(2:end); <span class="comment">%choose all experiments</span>
1830119     testList=1;
1840120     set(handles.ListExperiments,<span class="string">'Value'</span>,1)
1850121 <span class="keyword">else</span>
1860122     ListExperiments=ListExperiments(list_val);<span class="comment">%choose selected experiments</span>
1870123     testList=0;
1880124 <span class="keyword">end</span>
1890125 set(handles.ListDevices,<span class="string">'Value'</span>,1)
1900126 set(handles.ListRecords,<span class="string">'Value'</span>,1)
1910127 set(handles.ListXml,<span class="string">'Value'</span>,1)
1920128 [ListDevices,ListRecords,ListXml,List]=<a href="ListDir.html" class="code" title="function [ListDevices,ListRecords,ListXml,List]=ListDir(CurrentPath,ListExperiments,ListDevices_in,ListRecords_in)">ListDir</a>(CurrentPath,ListExperiments,{},{});
1930129 set(handles.ListRecords,<span class="string">'String'</span>,[{<span class="string">'*'</span>};ListRecords'])
1940130 set(handles.ListDevices,<span class="string">'String'</span>,[{<span class="string">'*'</span>};ListDevices'])
1950131 set(handles.ListXml,<span class="string">'String'</span>,[{<span class="string">'*'</span>};ListXml'])
1960132 <span class="keyword">if</span> testList
1970133     hh=get(handles.ListExperiments,<span class="string">'parent'</span>);
1980134     set(hh,<span class="string">'UserData'</span>,List)
1990135 <span class="keyword">end</span>
2000136 set(handles.CampaignDoc,<span class="string">'Visible'</span>,<span class="string">'on'</span>)
2010137 set(handles.edit_xml,<span class="string">'Visible'</span>,<span class="string">'on'</span>)
2020138
2030139 <span class="comment">%------------------------------------------------------------------------</span>
2040140 <span class="comment">% --- Executes on button press in update_headings.</span>
2050141 <a name="_sub6" href="#_subfunctions" class="code">function ListDevices_Callback(hObject, eventdata, handles)</a>
2060142 CurrentPath=get(handles.RootDirectory,<span class="string">'String'</span>);
2070143 ListExperiments=get(handles.ListExperiments,<span class="string">'String'</span>);
2080144 list_val=get(handles.ListExperiments,<span class="string">'Value'</span>);
2090145 <span class="keyword">if</span> isequal(list_val,1)
2100146     ListExperiments=ListExperiments(2:end);
2110147 <span class="keyword">else</span>
2120148     ListExperiments=ListExperiments(list_val);
2130149 <span class="keyword">end</span>
2140150 set(handles.ListRecords,<span class="string">'Value'</span>,1)
2150151 set(handles.ListXml,<span class="string">'Value'</span>,1)
2160152 ListDevices=get(handles.ListDevices,<span class="string">'String'</span>);
2170153 list_val=get(handles.ListDevices,<span class="string">'Value'</span>);
2180154 <span class="keyword">if</span> isequal(list_val,1)
2190155     ListDevices=ListDevices(2:end);
2200156 <span class="keyword">else</span>
2210157     ListDevices=ListDevices(list_val);
2220158 <span class="keyword">end</span>
2230159 [ListDevices,ListRecords,ListXml]=<a href="ListDir.html" class="code" title="function [ListDevices,ListRecords,ListXml,List]=ListDir(CurrentPath,ListExperiments,ListDevices_in,ListRecords_in)">ListDir</a>(CurrentPath,ListExperiments,ListDevices,{});
2240160 set(handles.ListRecords,<span class="string">'String'</span>,[{<span class="string">'*'</span>};ListRecords'])
2250161 set(handles.ListXml,<span class="string">'String'</span>,[{<span class="string">'*'</span>};ListXml'])
2260162
2270163
2280164 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
2290165
2300166
2310167
2320168 <span class="comment">%------------------------------------------------------------------------</span>
2330169 <span class="comment">% --- Executes on selection change in ListRecords.</span>
2340170 <a name="_sub7" href="#_subfunctions" class="code">function ListRecords_Callback(hObject, eventdata, handles)</a>
2350171 Value=get(handles.ListRecords,<span class="string">'Value'</span>);
2360172 <span class="keyword">if</span> isequal(Value(1),1)
2370173     set(handles.ListRecords,<span class="string">'Value'</span>,1);
2380174 <span class="keyword">end</span>
2390175
2400176 <span class="comment">%------------------------------------------------------------------------</span>
2410177 <span class="comment">% --- Executes on button press in CampaignDoc.</span>
2420178 <a name="_sub8" href="#_subfunctions" class="code">function CampaignDoc_Callback(hObject, eventdata, handles)</a>
2430179 <span class="comment">%------------------------------------------------------------------------</span>
2440180 answer=<a href="msgbox_uvmat.html" class="code" title="function varargout = msgbox_uvmat(varargin)">msgbox_uvmat</a>(<span class="string">'INPUT_Y-N'</span>,<span class="string">'This function will update the global xml rpresentation of the data set and the Heading of each xml file'</span>)
2450181 <span class="keyword">if</span> ~isequal(answer{1},<span class="string">'OK'</span>)
2460182     <span class="keyword">return</span>
2470183 <span class="keyword">end</span>
2480184 set(handles.ListExperiments,<span class="string">'Value'</span>,1)
2490185 <a href="#_sub6" class="code" title="subfunction ListExperiments_Callback(hObject, eventdata, handles)">ListExperiments_Callback</a>(hObject, eventdata, handles)<span class="comment">%update the overview of the experiment directories</span>
2500186 hh=get(handles.CampaignDoc,<span class="string">'parent'</span>);
2510187 List=get(hh,<span class="string">'UserData'</span>);
2520188 Currentpath=get(handles.RootDirectory,<span class="string">'String'</span>);
2530189 [Currentpath,Campaign,DirExt]=fileparts(Currentpath);
2540190 Campaign=[Campaign DirExt];
2550191 t=xmltree;
2560192 t=set(t,1,<span class="string">'name'</span>,<span class="string">'CampaignDoc'</span>);
2570193 t = attributes(t,<span class="string">'add'</span>,1,<span class="string">'source'</span>,<span class="string">'directory'</span>);
2580194 SubCampaignTest=get(handles.SubCampaignTest,<span class="string">'Value'</span>);
2590195 root_uid=1;
2600196 <span class="keyword">if</span> SubCampaignTest
2610197     <span class="comment">%TO DO open an exoiting xml doc</span>
2620198     [t,root_uid]=add(t,1,<span class="string">'element'</span>,<span class="string">'SubCampaign'</span>);
2630199     t =attributes(t,<span class="string">'add'</span>,root_uid,<span class="string">'DirName'</span>,Campaign);
2640200 <span class="keyword">end</span>
2650201 <span class="keyword">for</span> iexp=1:length(List.Experiment)
2660202     set(handles.ListExperiments,<span class="string">'Value'</span>,iexp+1)
2670203     drawnow
2680204     test_mod=0;
2690205     [t,uid_exp]=add(t,root_uid,<span class="string">'element'</span>,<span class="string">'Experiment'</span>);
2700206     t = attributes(t,<span class="string">'add'</span>,uid_exp,<span class="string">'i'</span>,num2str(iexp));
2710207     ExpName=List.Experiment{iexp}.name;
2720208     t = attributes(t,<span class="string">'add'</span>,uid_exp,<span class="string">'DirName'</span>,List.Experiment{iexp}.name);
2730209   
2740210     <span class="keyword">if</span> isfield(List.Experiment{iexp},<span class="string">'Device'</span>)
2750211         <span class="keyword">for</span> idevice=1:length(List.Experiment{iexp}.Device)
2760212             [t,uid_device]=add(t,uid_exp,<span class="string">'element'</span>,<span class="string">'Device'</span>);
2770213             DeviceName=List.Experiment{iexp}.Device{idevice}.name;
2780214             t = attributes(t,<span class="string">'add'</span>,uid_device,<span class="string">'DirName'</span>,List.Experiment{iexp}.Device{idevice}.name);       
2790215             <span class="keyword">if</span> isfield(List.Experiment{iexp}.Device{idevice},<span class="string">'xmlfile'</span>)
2800216                 <span class="keyword">for</span> ixml=1:length(List.Experiment{iexp}.Device{idevice}.xmlfile)
2810217                     FileName=List.Experiment{iexp}.Device{idevice}.xmlfile{ixml};
2820218                     [Title,test]=<a href="#_sub11" class="code" title="subfunction  [Title,test_mod]=check_heading(Currentpath,Campaign,Experiment,Device,Record,xmlname,testSubCampaign)">check_heading</a>(Currentpath,Campaign,ExpName,DeviceName,[],FileName,SubCampaignTest);
2830219                     <span class="keyword">if</span> test
2840220                         [List.Experiment{iexp}.Device{idevice}.xmlfile{ixml} <span class="string">' , Heading updated'</span>]
2850221                     <span class="keyword">end</span>
2860222                     <span class="keyword">if</span> isequal(Title,<span class="string">'ImaDoc'</span>)
2870223                         [t,uid_xml]=add(t,uid_device,<span class="string">'element'</span>,<span class="string">'ImaDoc'</span>);
2880224                         t = attributes(t,<span class="string">'add'</span>,uid_xml,<span class="string">'source'</span>,<span class="string">'file'</span>);
2890225                         [t]=add(t,uid_xml,<span class="string">'chardata'</span>,List.Experiment{iexp}.Device{idevice}.xmlfile{ixml});                   
2900226                     <span class="keyword">end</span>
2910227                 <span class="keyword">end</span>
2920228              <span class="keyword">elseif</span> isfield(List.Experiment{iexp}.Device{idevice},<span class="string">'Record'</span>)
2930229                 <span class="keyword">for</span> irecord=1:length(List.Experiment{iexp}.Device{idevice}.Record)
2940230                     RecordName=List.Experiment{iexp}.Device{idevice}.Record{irecord}.name;
2950231                     [t,uid_record]=add(t,uid_device,<span class="string">'element'</span>,<span class="string">'Record'</span>);
2960232                     t = attributes(t,<span class="string">'add'</span>,uid_record,<span class="string">'DirName'</span>,RecordName);
2970233                     <span class="keyword">if</span> isfield(List.Experiment{iexp}.Device{idevice}.Record{irecord},<span class="string">'xmlfile'</span>)
2980234                         <span class="keyword">for</span> ixml=1:length(List.Experiment{iexp}.Device{idevice}.Record{irecord}.xmlfile)
2990235                             FileName=List.Experiment{iexp}.Device{idevice}.Record{irecord}.xmlfile{ixml};
3000236                             [Title,test]=<a href="#_sub11" class="code" title="subfunction  [Title,test_mod]=check_heading(Currentpath,Campaign,Experiment,Device,Record,xmlname,testSubCampaign)">check_heading</a>(Currentpath,Campaign,ExpName,DeviceName,RecordName,FileName,SubCampaignTest);
3010237                             <span class="keyword">if</span> test
3020238                                 [FileName <span class="string">' , Heading updated'</span>]
3030239                             <span class="keyword">end</span>
3040240                             [t,uid_xml]=add(t,uid_record,<span class="string">'element'</span>,<span class="string">'ImaDoc'</span>);
3050241                             t = attributes(t,<span class="string">'add'</span>,uid_xml,<span class="string">'source'</span>,<span class="string">'file'</span>);
3060242                             [t]=add(t,uid_xml,<span class="string">'chardata'</span>,FileName);
3070243                         <span class="keyword">end</span>
3080244                     <span class="keyword">end</span>
3090245                 <span class="keyword">end</span>
3100246             <span class="keyword">end</span>
3110247         <span class="keyword">end</span>
3120248     <span class="keyword">end</span>
3130249 <span class="keyword">end</span>
3140250 set(handles.ListExperiments,<span class="string">'Value'</span>,1)
3150251 outputdir=get(handles.RootDirectory,<span class="string">'String'</span>);
3160252 [path,dirname]=fileparts(outputdir);
3170253 outputfile=fullfile(outputdir,[dirname <span class="string">'.xml'</span>]);
3180254 <span class="comment">%campaigndoc(t);</span>
3190255 save(t,outputfile)
3200256
3210257 <span class="comment">%------------------------------------------------------------------------</span>
3220258 <span class="comment">% --- Executes on button press in CampaignDoc.</span>
3230259 <a name="_sub9" href="#_subfunctions" class="code">function edit_xml_Callback(hObject, eventdata, handles)</a>
3240260 <span class="comment">%------------------------------------------------------------------------</span>
3250261 CurrentPath=get(handles.RootDirectory,<span class="string">'String'</span>);
3260262 <span class="comment">%[CurrentPath,Name,Ext]=fileparts(CurrentDir);</span>
3270263 ListExperiments=get(handles.ListExperiments,<span class="string">'String'</span>);
3280264 Value=get(handles.ListExperiments,<span class="string">'Value'</span>);
3290265 <span class="keyword">if</span> ~isequal(Value,1)
3300266     ListExperiments=ListExperiments(Value);
3310267 <span class="keyword">end</span>
3320268 ListDevices=get(handles.ListDevices,<span class="string">'String'</span>);
3330269 Value=get(handles.ListDevices,<span class="string">'Value'</span>);
3340270 <span class="keyword">if</span> ~isequal(Value,1)
3350271     ListDevices=ListDevices(Value);
3360272 <span class="keyword">end</span>
3370273 ListRecords=get(handles.ListRecords,<span class="string">'String'</span>);
3380274 Value=get(handles.ListRecords,<span class="string">'Value'</span>);
3390275 <span class="keyword">if</span> ~isequal(Value,1)
3400276     ListRecords=ListRecords(Value);
3410277 <span class="keyword">end</span>
3420278 [ListDevices,ListRecords,ListXml,List]=<a href="ListDir.html" class="code" title="function [ListDevices,ListRecords,ListXml,List]=ListDir(CurrentPath,ListExperiments,ListDevices_in,ListRecords_in)">ListDir</a>(CurrentPath,ListExperiments,ListDevices,ListRecords);
3430279 ListXml=get(handles.ListXml,<span class="string">'String'</span>);
3440280 Value=get(handles.ListXml,<span class="string">'Value'</span>);
3450281 set(handles.ListXml,<span class="string">'Value'</span>,Value(1));
3460282 <span class="keyword">if</span> isequal(Value(1),1)
3470283     <a href="warndlg_uvmat.html" class="code" title="function hwarn=warndlg_uvmat(warntext,title)">warndlg_uvmat</a>(<span class="string">'an xml file needs to be selected'</span>,<span class="string">'ERROR'</span>)
3480284    <span class="keyword">return</span>
3490285 <span class="keyword">else</span>
3500286     XmlName=ListXml{Value(1)};
3510287 <span class="keyword">end</span>
3520288 <span class="keyword">for</span> iexp=1:length(List.Experiment)
3530289     ExpName=List.Experiment{iexp}.name;
3540290     <span class="keyword">if</span> isfield(List.Experiment{iexp},<span class="string">'Device'</span>)
3550291         <span class="keyword">for</span> idevice=1:length(List.Experiment{iexp}.Device)
3560292             DeviceName=List.Experiment{iexp}.Device{idevice}.name;
3570293             <span class="keyword">if</span> isfield(List.Experiment{iexp}.Device{idevice},<span class="string">'xmlfile'</span>)
3580294                 <span class="keyword">for</span> ixml=1:length(List.Experiment{iexp}.Device{idevice}.xmlfile)
3590295                     FileName=List.Experiment{iexp}.Device{idevice}.xmlfile{ixml}
3600296                     <span class="keyword">if</span> isequal(FileName,XmlName)
3610297                         <a href="editxml.html" class="code" title="function varargout = editxml(varargin)">editxml</a>(fullfile(CurrentPath,ExpName,DeviceName,FileName));
3620298                         <span class="keyword">return</span>
3630299                     <span class="keyword">end</span>
3640300                 <span class="keyword">end</span>
3650301              <span class="keyword">elseif</span> isfield(List.Experiment{iexp}.Device{idevice},<span class="string">'Record'</span>)
3660302                 <span class="keyword">for</span> irecord=1:length(List.Experiment{iexp}.Device{idevice}.Record)
3670303                     RecordName=List.Experiment{iexp}.Device{idevice}.Record{irecord}.name;
3680304                     <span class="keyword">if</span> isfield(List.Experiment{iexp}.Device{idevice}.Record{irecord},<span class="string">'xmlfile'</span>)
3690305                         <span class="keyword">for</span> ixml=1:length(List.Experiment{iexp}.Device{idevice}.Record{irecord}.xmlfile)
3700306                             FileName=List.Experiment{iexp}.Device{idevice}.Record{irecord}.xmlfile{ixml};
3710307                             <span class="keyword">if</span> isequal(FileName,XmlName)
3720308                                 <a href="editxml.html" class="code" title="function varargout = editxml(varargin)">editxml</a>(fullfile(CurrentPath,ExpName,DeviceName,RecordName,FileName));
3730309                                 <span class="keyword">return</span>
3740310                             <span class="keyword">end</span>                         
3750311                         <span class="keyword">end</span>
3760312                     <span class="keyword">end</span>
3770313                 <span class="keyword">end</span>
3780314             <span class="keyword">end</span>
3790315         <span class="keyword">end</span>
3800316     <span class="keyword">end</span>
3810317 <span class="keyword">end</span>
3820318
3830319
3840320
3850321 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
3860322 <span class="comment">% CurrentPath/Campaign: root directory</span>
3870323 <a name="_sub10" href="#_subfunctions" class="code">function  [Title,test_mod]=check_heading(Currentpath,Campaign,Experiment,Device,Record,xmlname,testSubCampaign)</a>
3880324
3890325  <span class="comment">%Shema for Heading:</span>
3900326 <span class="comment">%  Campaign</span>
3910327 <span class="comment">%  (SubCampaign)</span>
3920328 <span class="comment">% Experiment</span>
3930329 <span class="comment">%  Device</span>
3940330 <span class="comment">%  (Record)</span>
3950331 <span class="comment">%  ImageName</span>
3960332 <span class="comment">%  DateExp</span>
3970333 <span class="comment">%                 old: %Project: suppressed ( changed to Campaign)</span>
3980334                        <span class="comment">%Exp: suppressed (changed to experiment)</span>
3990335                        <span class="comment">%ImaNames: changed to ImageName</span>
4000336 <span class="keyword">if</span> exist(<span class="string">'Record'</span>,<span class="string">'var'</span>) &amp;&amp; ~isempty(Record)
4010337     xmlfullname=fullfile(Currentpath,Campaign,Experiment,Device,Record,xmlname); 
4020338     testrecord=1;
4030339 <span class="keyword">else</span>
4040340     xmlfullname=fullfile(Currentpath,Campaign,Experiment,Device,xmlname);
4050341     testrecord=0;
4060342 <span class="keyword">end</span>
4070343 <span class="keyword">if</span> ~exist(<span class="string">'testSubCampaign'</span>,<span class="string">'var'</span>)
4080344     testSubCampaign=0;
4090345 <span class="keyword">end</span>
4100346 <span class="keyword">if</span> testSubCampaign
4110347    SubCampaign=Campaign;
4120348    [Currentpath,Campaign,DirExt]=fileparts(Currentpath);
4130349    Campaign=[Campaign DirExt];
4140350 <span class="keyword">end</span>
4150351 test_mod=0; <span class="comment">%test for the modification of the xml file</span>
4160352 t_device=xmltree(xmlfullname);
4170353 Title=get(t_device,1,<span class="string">'name'</span>);
4180354 uid_child=children(t_device,1);
4190355 Heading_old=[];
4200356 uidheading=0;
4210357 <span class="keyword">for</span> ilist=1:length(uid_child)
4220358     name=get(t_device,uid_child(ilist),<span class="string">'name'</span>);
4230359     <span class="keyword">if</span> isequal(name,<span class="string">'Heading'</span>)
4240360         uidheading=uid_child(ilist);
4250361     <span class="keyword">end</span>
4260362 <span class="keyword">end</span>
4270363 <span class="keyword">if</span> uidheading
4280364     subt=branch(t_device,uidheading);
4290365     Heading_old=convert(subt);
4300366 <span class="keyword">else</span>
4310367    <span class="keyword">return</span> <span class="comment">% do not edit xml files without element 'Heading'</span>
4320368 <span class="keyword">end</span>
4330369 <span class="keyword">if</span> ~(isfield(Heading_old,<span class="string">'Campaign'</span>)&amp;&amp; isequal(Heading_old.Campaign,Campaign))
4340370     test_mod=1;
4350371 <span class="keyword">end</span>
4360372 Heading.Campaign=Campaign;
4370373 <span class="keyword">if</span> testSubCampaign
4380374     <span class="keyword">if</span> ~(isfield(Heading_old,<span class="string">'SubCampaign'</span>)&amp;&amp; isequal(Heading_old.SubCampaign,SubCampaign))
4390375         test_mod=1;
4400376     <span class="keyword">end</span>
4410377     Heading.SubCampaign=SubCampaign;
4420378 <span class="keyword">end</span>
4430379 <span class="keyword">if</span> ~(isfield(Heading_old,<span class="string">'Experiment'</span>)&amp;&amp; isequal(Heading_old.Experiment,Experiment))
4440380     test_mod=1;
4450381 <span class="keyword">end</span>
4460382 Heading.Experiment=Experiment;
4470383 <span class="keyword">if</span> ~(isfield(Heading_old,<span class="string">'Device'</span>)&amp;&amp; isequal(Heading_old.Device,Device))
4480384     test_mod=1;
4490385 <span class="keyword">end</span>
4500386 Heading.Device=Device;
4510387 <span class="keyword">if</span> testrecord
4520388     <span class="keyword">if</span> ~(isfield(Heading_old,<span class="string">'Record'</span>)&amp;&amp; isequal(Heading_old.Record,Record))
4530389         test_mod=1;
4540390     <span class="keyword">end</span>
4550391     Heading.Record=Record;
4560392 <span class="keyword">end</span>
4570393 <span class="keyword">if</span> isfield(Heading_old,<span class="string">'ImaNames'</span>)
4580394     test_mod=1;
4590395     <span class="keyword">if</span>  ~isempty(Heading_old.ImaNames)
4600396         Heading.ImageName=Heading_old.ImaNames;
4610397     <span class="keyword">end</span>
4620398 <span class="keyword">end</span>
4630399 <span class="keyword">if</span> isfield(Heading_old,<span class="string">'ImageName'</span>)&amp;&amp; ~isempty(Heading_old.ImageName)
4640400     Heading.ImageName=Heading_old.ImageName;
4650401 <span class="keyword">end</span>
4660402 <span class="keyword">if</span> isfield(Heading_old,<span class="string">'DateExp'</span>)&amp;&amp; ~isempty(Heading_old.DateExp)
4670403     Heading.DateExp=Heading_old.DateExp;
4680404 <span class="keyword">end</span>
4690405 <span class="keyword">if</span> test_mod &amp;&amp; uidheading
4700406      uid_child=children(t_device,uidheading);
4710407      t_device=delete(t_device,uid_child);
4720408     t_device=<a href="struct2xml.html" class="code" title="function t=struct2xml(Object,t,root_uid)">struct2xml</a>(Heading,t_device,uidheading);
4730409     backupfile=xmlfullname;
4740410     testexist=2;
4750411     <span class="keyword">while</span> testexist==2
4760412        backupfile=[backupfile <span class="string">'~'</span>];
4770413        testexist=exist(backupfile,<span class="string">'file'</span>);
4780414     <span class="keyword">end</span>
4790415     [success,message]=copyfile(xmlfullname,backupfile);<span class="comment">%make backup</span>
4800416     <span class="keyword">if</span> isequal(success,1)
4810417         delete(xmlfullname)
4820418     <span class="keyword">else</span>
4830419         <span class="keyword">return</span>
4840420     <span class="keyword">end</span>
4850421     save(t_device,xmlfullname)
4860422 <span class="keyword">end</span>
4870423
4880424 <span class="comment">% --- Executes on button press in HELP.</span>
4890425 <a name="_sub11" href="#_subfunctions" class="code">function HELP_Callback(hObject, eventdata, handles)</a>
4900426 path_to_uvmat=which (<span class="string">'uvmat'</span>)<span class="comment">% check the path of uvmat</span>
4910427 pathelp=fileparts(path_to_uvmat);
4920428 helpfile=fullfile(pathelp,<span class="string">'UVMAT_DOC'</span>,<span class="string">'uvmat_doc.html'</span>);
4930429 <span class="keyword">if</span> isempty(dir(helpfile)), errordlg(<span class="string">'Please put the help file uvmat_doc.html in the directory UVMAT/UVMAT_DOC'</span>)
4940430 <span class="keyword">else</span>
4950431 web([helpfile <span class="string">'#dataview'</span>])   
4960432 <span class="keyword">end</span>
4970433
4980434
4990435
5000436
5010437 <span class="comment">% --- Executes on button press in SubCampaignTest.</span>
5020438 <a name="_sub12" href="#_subfunctions" class="code">function SubCampaignTest_Callback(hObject, eventdata, handles)</a>
5030439
5040440
5050441 <span class="comment">% --- Executes on selection change in ListXml.</span>
5060442 <a name="_sub13" href="#_subfunctions" class="code">function ListXml_Callback(hObject, eventdata, handles)</a>
5070443 Value=get(handles.ListXml,<span class="string">'Value'</span>);
5080444 <span class="keyword">if</span> isequal(Value(1),1)
5090445     set(handles.ListXml,<span class="string">'Value'</span>,1);
5100446 <span class="keyword">end</span>
5110447
5120448
5130449 <span class="comment">% --- Executes on button press in clean_civ_cmx.</span>
5140450 <a name="_sub14" href="#_subfunctions" class="code">function clean_civ_cmx_Callback(hObject, eventdata, handles)</a>
5150451 message=<span class="string">'this function will delete all files with extensions .log, .bat, .cmx,.cmx2,.errors in the input directory(ies)'</span>;
5160452 answer=<a href="msgbox_uvmat.html" class="code" title="function varargout = msgbox_uvmat(varargin)">msgbox_uvmat</a>(<span class="string">'INPUT_Y-N'</span>,message);
5170453 <span class="keyword">if</span> ~isequal(answer{1},<span class="string">'OK'</span>)
5180454     <span class="keyword">return</span>
5190455 <span class="keyword">end</span>
5200456 set(handles.ListExperiments,<span class="string">'Value'</span>,1)
5210457 <a href="#_sub6" class="code" title="subfunction ListExperiments_Callback(hObject, eventdata, handles)">ListExperiments_Callback</a>(hObject, eventdata, handles)<span class="comment">%update the overview of the experiment directories</span>
5220458 hh=get(handles.CampaignDoc,<span class="string">'parent'</span>);
5230459 List=get(hh,<span class="string">'UserData'</span>);
5240460 Currentpath=get(handles.RootDirectory,<span class="string">'String'</span>);
5250461 [Currentpath,Campaign,DirExt]=fileparts(Currentpath);
5260462 Campaign=[Campaign DirExt];
5270463 SubCampaignTest=get(handles.SubCampaignTest,<span class="string">'Value'</span>);
5280464 nbdelete_tot=0;
5290465 <span class="keyword">for</span> iexp=1:length(List.Experiment)
5300466     set(handles.ListExperiments,<span class="string">'Value'</span>,iexp+1)
5310467     drawnow
5320468     test_mod=0;
5330469     ExpName=List.Experiment{iexp}.name; 
5340470     nbdelete=0;
5350471     <span class="keyword">if</span> isfield(List.Experiment{iexp},<span class="string">'Device'</span>)
5360472         <span class="keyword">for</span> idevice=1:length(List.Experiment{iexp}.Device)
5370473             DeviceName=List.Experiment{iexp}.Device{idevice}.name;     
5380474             <span class="keyword">if</span> isfield(List.Experiment{iexp}.Device{idevice},<span class="string">'xmlfile'</span>)
5390475                 currentdir=fullfile(Currentpath,Campaign,ExpName,DeviceName);
5400476                 hdir=dir(currentdir); <span class="comment">%list files and dirs</span>
5410477                 idir=0;
5420478                 <span class="keyword">for</span> ilist=1:length(hdir)
5430479                     <span class="keyword">if</span> hdir(ilist).isdir
5440480                         dirname=hdir(ilist).name;
5450481                         <span class="keyword">if</span> ~isequal(dirname(1),<span class="string">'.'</span>)&amp;&amp;~isequal(dirname(1),<span class="string">'0'</span>)
5460482                             CivDir=fullfile(currentdir,dirname)
5470483                             hCivDir=dir(CivDir);
5480484                             <span class="keyword">for</span> ilist=1:length(hCivDir)
5490485                                 FileName=hCivDir(ilist).name;
5500486                                 [dd,ff,Ext]=fileparts(FileName);
5510487                                 <span class="keyword">if</span> isequal(Ext,<span class="string">'.log'</span>)||isequal(Ext,<span class="string">'.bat'</span>)||isequal(Ext,<span class="string">'.cmx'</span>)||isequal(Ext,<span class="string">'.cmx2'</span>)|| isequal(Ext,<span class="string">'.errors'</span>)
5520488                                     delete(fullfile(CivDir,FileName))
5530489                                     nbdelete=nbdelete+1;
5540490                                 <span class="keyword">end</span>
5550491                             <span class="keyword">end</span>
5560492                         <span class="keyword">end</span>
5570493                     <span class="keyword">end</span>
5580494                 <span class="keyword">end</span>
5590495              <span class="keyword">elseif</span> isfield(List.Experiment{iexp}.Device{idevice},<span class="string">'Record'</span>)
5600496                 <span class="keyword">for</span> irecord=1:length(List.Experiment{iexp}.Device{idevice}.Record)
5610497                     RecordName=List.Experiment{iexp}.Device{idevice}.Record{irecord}.name;
5620498                     <span class="keyword">if</span> isfield(List.Experiment{iexp}.Device{idevice}.Record{irecord},<span class="string">'xmlfile'</span>)
5630499                         <span class="string">'look at subdirectories'</span>
5640500                     <span class="keyword">end</span>
5650501                 <span class="keyword">end</span>
5660502             <span class="keyword">end</span>
5670503         <span class="keyword">end</span>
5680504     <span class="keyword">end</span>
5690505     display([num2str(nbdelete) <span class="string">' files deleted'</span>])
5700506     nbdelete_tot=nbdelete_tot+nbdelete;
5710507 <span class="keyword">end</span>
5720508 <a href="msgbox_uvmat.html" class="code" title="function varargout = msgbox_uvmat(varargin)">msgbox_uvmat</a>(<span class="string">'CONFIRMATION'</span>,[<span class="string">'END: '</span> num2str(nbdelete_tot) <span class="string">' files deleted by clean_civ_cmx'</span>])
5730509 set(handles.ListExperiments,<span class="string">'Value'</span>,1)
5740510
5750511
5760512
5770513</pre></div>
578<hr><address>Generated on Fri 13-Nov-2009 11:17:03 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
579</body>
580</html>
Note: See TracBrowser for help on using the repository browser.