Mercurial > octave-nkf
comparison scripts/plot/findobj.m @ 10549:95c3e38098bf
Untabify .m scripts
author | Rik <code@nomad.inbox5.com> |
---|---|
date | Fri, 23 Apr 2010 11:28:50 -0700 |
parents | dbd0c77e575e |
children | be55736a0783 |
comparison
equal
deleted
inserted
replaced
10548:479536c5bb10 | 10549:95c3e38098bf |
---|---|
82 h = zeros (0, 1); | 82 h = zeros (0, 1); |
83 return; | 83 return; |
84 endif | 84 endif |
85 if (n1 <= nargin) | 85 if (n1 <= nargin) |
86 if (ischar (varargin{n1})) | 86 if (ischar (varargin{n1})) |
87 if (strcmpi (varargin{n1}, "flat")) | 87 if (strcmpi (varargin{n1}, "flat")) |
88 depth = 0; | 88 depth = 0; |
89 n1 = n1 + 1; | 89 n1 = n1 + 1; |
90 elseif (strcmpi (varargin{n1}, "-depth")) | 90 elseif (strcmpi (varargin{n1}, "-depth")) |
91 depth = varargin{n1+1}; | 91 depth = varargin{n1+1}; |
92 n1 = n1 + 2; | 92 n1 = n1 + 2; |
93 endif | 93 endif |
94 else | 94 else |
95 error ("findobj: properties and options must be strings"); | 95 error ("findobj: properties and options must be strings"); |
96 endif | 96 endif |
97 endif | 97 endif |
98 endif | 98 endif |
99 | 99 |
100 if (n1 <= nargin && nargin > 0) | 100 if (n1 <= nargin && nargin > 0) |
115 regularexpression(np) = 0; | 115 regularexpression(np) = 0; |
116 property(np) = 0; | 116 property(np) = 0; |
117 logicaloperator{np} = "and"; | 117 logicaloperator{np} = "and"; |
118 if (ischar (args{na})) | 118 if (ischar (args{na})) |
119 if (strcmpi (args{na}, "-regexp")) | 119 if (strcmpi (args{na}, "-regexp")) |
120 if (na + 2 <= numel (args)) | 120 if (na + 2 <= numel (args)) |
121 regularexpression(np) = 1; | 121 regularexpression(np) = 1; |
122 na = na + 1; | 122 na = na + 1; |
123 pname{np} = args{na}; | 123 pname{np} = args{na}; |
124 na = na + 1; | 124 na = na + 1; |
125 pvalue{np} = args{na}; | 125 pvalue{np} = args{na}; |
126 na = na + 1; | 126 na = na + 1; |
127 np = np + 1; | 127 np = np + 1; |
128 else | 128 else |
129 error ("findobj: inconsistent number of arguments"); | 129 error ("findobj: inconsistent number of arguments"); |
130 endif | 130 endif |
131 elseif (strcmpi (args{na}, "-property")) | 131 elseif (strcmpi (args{na}, "-property")) |
132 if (na + 1 <= numel (args)) | 132 if (na + 1 <= numel (args)) |
133 na = na + 1; | 133 na = na + 1; |
134 property(np) = 1; | 134 property(np) = 1; |
135 pname{np} = args{na}; | 135 pname{np} = args{na}; |
136 na = na + 1; | 136 na = na + 1; |
137 pvalue{np} = []; | 137 pvalue{np} = []; |
138 np = np + 1; | 138 np = np + 1; |
139 else | 139 else |
140 error ("findobj: inconsistent number of arguments"); | 140 error ("findobj: inconsistent number of arguments"); |
141 endif | 141 endif |
142 elseif (! strcmp (args{na}(1), "-")) | 142 elseif (! strcmp (args{na}(1), "-")) |
143 ## Parameter/value pairs. | 143 ## Parameter/value pairs. |
144 if (na + 1 <= numel (args)) | 144 if (na + 1 <= numel (args)) |
145 pname{np} = args{na}; | 145 pname{np} = args{na}; |
146 na = na + 1; | 146 na = na + 1; |
147 pvalue{np} = args{na}; | 147 pvalue{np} = args{na}; |
148 na = na + 1; | 148 na = na + 1; |
149 if (na <= numel(args)) | 149 if (na <= numel(args)) |
150 if (ischar (args{na})) | 150 if (ischar (args{na})) |
151 if strcmpi(args{na}, "-and") | 151 if strcmpi(args{na}, "-and") |
152 logicaloperator{np} = "and"; | 152 logicaloperator{np} = "and"; |
153 na = na+1; | 153 na = na+1; |
154 elseif strcmpi(args{na}, "-or") | 154 elseif strcmpi(args{na}, "-or") |
155 logicaloperator{np} = "or"; | 155 logicaloperator{np} = "or"; |
156 na = na+1; | 156 na = na+1; |
157 elseif strcmpi(args{na}, "-xor") | 157 elseif strcmpi(args{na}, "-xor") |
158 logicaloperator{np} = "xor"; | 158 logicaloperator{np} = "xor"; |
159 na = na+1; | 159 na = na+1; |
160 elseif strcmpi(args{na}, "-not") | 160 elseif strcmpi(args{na}, "-not") |
161 logicaloperator{np} = "not"; | 161 logicaloperator{np} = "not"; |
162 na = na+1; | 162 na = na+1; |
163 endif | 163 endif |
164 else | 164 else |
165 error ("findobj: properties and options must be strings"); | 165 error ("findobj: properties and options must be strings"); |
166 endif | 166 endif |
167 else | 167 else |
168 logicaloperator{np} = "and"; | 168 logicaloperator{np} = "and"; |
169 endif | 169 endif |
170 np = np + 1; | 170 np = np + 1; |
171 else | 171 else |
172 error ("findobj: inconsistent number of arguments"); | 172 error ("findobj: inconsistent number of arguments"); |
173 endif | 173 endif |
174 else | 174 else |
175 ## This is sloppy ... but works like Matlab. | 175 ## This is sloppy ... but works like Matlab. |
176 if strcmpi(args{na}, "-not") | 176 if strcmpi(args{na}, "-not") |
177 h = []; | 177 h = []; |
178 return | 178 return |
179 endif | 179 endif |
180 na = na + 1; | 180 na = na + 1; |
181 endif | 181 endif |
182 else | 182 else |
183 error ("findobj: properties and options must be strings"); | 183 error ("findobj: properties and options must be strings"); |
184 endif | 184 endif |
185 endwhile | 185 endwhile |
202 keepers = ones (size (h)); | 202 keepers = ones (size (h)); |
203 if (numpairs > 0) | 203 if (numpairs > 0) |
204 for nh = 1 : numel(h) | 204 for nh = 1 : numel(h) |
205 p = get (h (nh)); | 205 p = get (h (nh)); |
206 for np = 1 : numpairs | 206 for np = 1 : numpairs |
207 fields = fieldnames (p); | 207 fields = fieldnames (p); |
208 fieldindex = find (strcmpi (fields, pname{np}), 1); | 208 fieldindex = find (strcmpi (fields, pname{np}), 1); |
209 if (numel (fieldindex)) | 209 if (numel (fieldindex)) |
210 pname{np} = fields{fieldindex}; | 210 pname{np} = fields{fieldindex}; |
211 if (property(np)) | 211 if (property(np)) |
212 match = 1; | 212 match = 1; |
213 else | 213 else |
214 if (regularexpression(np)) | 214 if (regularexpression(np)) |
215 match = regexp (p.(pname{np}), pvalue{np}); | 215 match = regexp (p.(pname{np}), pvalue{np}); |
216 if isempty (match) | 216 if isempty (match) |
217 match = 0; | 217 match = 0; |
218 endif | 218 endif |
219 elseif (numel (p.(pname{np})) == numel (pvalue{np})) | 219 elseif (numel (p.(pname{np})) == numel (pvalue{np})) |
220 if (ischar (pvalue{np})) | 220 if (ischar (pvalue{np})) |
221 match = strcmpi (pvalue{np}, p.(pname{np})); | 221 match = strcmpi (pvalue{np}, p.(pname{np})); |
222 else | 222 else |
223 match = (pvalue{np} == p.(pname{np})); | 223 match = (pvalue{np} == p.(pname{np})); |
224 endif | 224 endif |
225 else | 225 else |
226 match = 0; | 226 match = 0; |
227 endif | 227 endif |
228 match = all (match); | 228 match = all (match); |
229 endif | 229 endif |
230 if (strcmpi (logicaloperator{np}, "not")) | 230 if (strcmpi (logicaloperator{np}, "not")) |
231 keepers(nh) = ! keepers(nh) & ! match; | 231 keepers(nh) = ! keepers(nh) & ! match; |
232 else | 232 else |
233 keepers(nh) = feval (logicaloperator{np}, keepers(nh), match); | 233 keepers(nh) = feval (logicaloperator{np}, keepers(nh), match); |
234 endif | 234 endif |
235 else | 235 else |
236 keepers(nh) = 0; | 236 keepers(nh) = 0; |
237 endif | 237 endif |
238 endfor | 238 endfor |
239 endfor | 239 endfor |
240 endif | 240 endif |
241 | 241 |
242 h = h (keepers != 0); | 242 h = h (keepers != 0); |