<br><div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup { position:absolute; z-index:9999; padding: 0px 0px; margin-left: 0px; margin-top: 0px; width: 240px; overflow: hidden; word-wrap: break-word; color: black; font-size: 10px; text-align: left; line-height: 13px;}</style><br>
<div class="gmail_quote">2010/7/30 Frank Warmerdam <span dir="ltr"><<a href="mailto:warmerdam@pobox.com">warmerdam@pobox.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><br></div>
I do not agree with applications directly changing the OGRFieldDefn, even<br>
if ultimately the flag is stored here. There needs to be a virtual method<br>
on the OGRLayer (IMHO) so that drivers have an opportunity to hook the<br>
method to do something special when the list of desired fields changes.<br>
<br></blockquote><div><br>I agree with this approach if I understood correctly, that the flags would be stored in OGRFieldDefn/OGRFeatueDefn and would be set by a single virtual method in OGRLayer which could continue to be:<br>
<br><pre class="wiki">virtual OGRErr OGRLayer::SetIgnoredFields( const char **papszFields );<br></pre><br></div></div>With the assumption that the fields are identified by name and not by the position in the array.<br><br>
<br>Best regards,<br><br>Tamas<br><br>