0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 1 function create_property_desc(fid, meta_obj, indentation_in)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 2
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 3 % fid_read = fopen('property_descriptions.txt', 'r');
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 4 % f_line = fgetl(fid_read);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 5 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 6 % prop_desc = struct();
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 7 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 8 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 9 % %%% Create from the desc_file a struct which contains %%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 10 % %%% all information of the file. %%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 11 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 12 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 13 % %%% Create a struct with
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 14 % %%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 15 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 16 % while ischar(f_line)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 17 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 18 % f_line = strtrim(f_line); % Remove leading and ending whitespace
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 19 % if isempty(f_line)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 20 % % skip this line
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 21 % elseif f_line(1) == '%'
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 22 % % skip comment line
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 23 % else
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 24 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 25 % [prop_name, desc] = strtok(f_line, '-');
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 26 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 27 % prop_name = strtrim(prop_name);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 28 % desc = strtrim(desc(2:end));
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 29 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 30 % [class_name, prop_name] = strtok(prop_name, '.');
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 31 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 32 % prop_name = prop_name(2:end);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 33 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 34 % prop_desc.(class_name).(prop_name) = desc;
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 35 % end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 36 % f_line = fgetl(fid_read);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 37 % end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 38 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 39 % fclose(fid_read);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 40
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 42 %%% Append to the fid the Information of the properties %%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 44
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 45 indentation(1:indentation_in) = ' ';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 46
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 47 %%% Headline
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 48 fprintf(fid, '%s<h2 class="title"><a name="top_properties"/>Properties</h2>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 49
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 50 fprintf(fid, '%s<p>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 51 fprintf(fid, '%s The LTPDA toolbox restrict access of the properties.<br></br>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 52 fprintf(fid, '%s The get access is ''public'' and thus it is possible to get the values with the dot-command (similar to structures).<br></br>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 53 fprintf(fid, '%s <pre class="programlisting">For example:<br></br>val = obj.prop(2).prop;</pre>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 54 fprintf(fid, '%s The set access is ''protected'' and thus it is only possible to assign a value to a property with a set-method.\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 55 fprintf(fid, '%s <pre class="programlisting">\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 56 fprintf(fid, 'For example:\n');
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 57 fprintf(fid, 'obj2 = obj1.setName(<span class="string">''my name''</span>) <span class="comment">%% This command creates a copy of obj1 (obj1 ~= obj2)</span>\n');
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 58 fprintf(fid, 'obj.setName(<span class="string">''my name''</span>); <span class="comment">%% This command applies to obj</span>');
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 59 fprintf(fid, '%s </pre>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 60 fprintf(fid, '%s</p>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 61
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 62 %%% Table predefinitions %%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 63 fprintf(fid, '%s<!-- ===== Properties ===== -->\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 64 fprintf(fid, '%s<p>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 65 fprintf(fid, '%s <table cellspacing="0" class="body" cellpadding="2" border="0" width="80%%">\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 66 fprintf(fid, '%s <colgroup>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 67 fprintf(fid, '%s <col width="15%%"/>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 68 fprintf(fid, '%s <col width="73%%"/>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 69 fprintf(fid, '%s <col width="12%%"/>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 70 fprintf(fid, '%s </colgroup>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 71 fprintf(fid, '%s <thead>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 72 fprintf(fid, '%s <tr valign="top">\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 73 fprintf(fid, '%s <th class="categorylist">Properties</th>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 74 fprintf(fid, '%s <th class="categorylist">Description</th>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 75 fprintf(fid, '%s <th class="categorylist">Defined in class</th>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 76 fprintf(fid, '%s </tr>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 77 fprintf(fid, '%s </thead>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 78 fprintf(fid, '%s <tbody>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 79
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 80 for ii = 1:length(meta_obj.Properties)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 81
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 82 prop = meta_obj.Properties{ii};
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 83
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 84 if ~prop.Hidden && ~prop.Dependent
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 85
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 86 try
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 87
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 88 % Special case for ao.hist because the AO class have a method with
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 89 % this name :(
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 90 if strcmp(meta_obj.Name, 'ao') && strcmp(prop.Name, 'hist')
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 91 description = 'History of the object (history object)';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 92 elseif strcmp(meta_obj.Name, 'filterbank') && strcmp(prop.Name, 'type')
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 93 description = 'Type of the bank';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 94 else
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 95 description = help(sprintf('%s.%s', meta_obj.Name, prop.Name));
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 96 description = regexp(description, '(?<= - ).*', 'match');
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 97 description = strtrim(description{1});
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 98 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 99
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 100 catch
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 101 description = '-- No description found --';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 102 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 103
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 104 if mod(ii,2) == 0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 105 bgcolor = '';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 106 else
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 107 bgcolor = ' bgcolor="#f3f4f5"';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 108 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 109
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 110 fprintf(fid, '%s <!-- Property: ''%s'' -->\n', indentation, prop.Name);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 111 fprintf(fid, '%s <tr valign="top">\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 112 fprintf(fid, '%s <td%s>\n', indentation, bgcolor);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 113 fprintf(fid, '%s <p><a href="matlab:doc(''%s.%s'')">%s</a></p>\n', indentation, meta_obj.Name, prop.Name, prop.Name);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 114 fprintf(fid, '%s </td>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 115 fprintf(fid, '%s <td%s>\n', indentation, bgcolor);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 116 fprintf(fid, '%s <p>%s</p>\n', indentation, description);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 117 fprintf(fid, '%s </td>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 118 fprintf(fid, '%s <td%s>\n', indentation, bgcolor);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 119 fprintf(fid, '%s <p>%s</p>\n', indentation, prop.DefiningClass.Name);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 120 fprintf(fid, '%s </td>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 121 fprintf(fid, '%s </tr>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 122
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 123 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 124 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 125
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 126 %%% Table end %%%
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 127 fprintf(fid, '%s </tbody>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 128 fprintf(fid, '%s </table>\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 129 fprintf(fid, '%s</p>\n\n', indentation);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 130
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 131 %%% Top of page link
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 132 create_top_of_page(fid, indentation_in);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 133
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 134 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 135
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 136
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 137
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 138
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 139
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 140