| 1 | = !MapGuide RFC 33 - Convenience Methods for Selection = |
| 2 | |
| 3 | This page contains an change request (RFC) for the !MapGuide Open Source project. |
| 4 | More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. |
| 5 | |
| 6 | |
| 7 | == Status == |
| 8 | |
| 9 | ||RFC Template Version||1.0|| |
| 10 | ||Submission Date||September 5, 2007|| |
| 11 | ||Last Modified||trevorwekel [[Timestamp]]|| |
| 12 | ||Author||Trevor Wekel|| |
| 13 | ||RFC Status||draft|| |
| 14 | ||Implementation Status||pending|| |
| 15 | ||Proposed Milestone||2.0|| |
| 16 | ||Assigned PSC guide(s)|||| |
| 17 | ||'''Voting History'''||September 5, 2007|| |
| 18 | ||+1|||| |
| 19 | ||+0|||| |
| 20 | ||-0|||| |
| 21 | ||-1|||| |
| 22 | |
| 23 | == Overview == |
| 24 | |
| 25 | This RFC adds convenience methods to !MgSelection so that selected features can be obtained in a more straightforward fashion. |
| 26 | |
| 27 | == Motivation == |
| 28 | |
| 29 | The existing !MgSelection API does not provide easy access to the selected features and is a bit of a hassle to use. |
| 30 | |
| 31 | == Proposed Solution == |
| 32 | |
| 33 | Implement two new methods for !MgSelection |
| 34 | |
| 35 | {{{ |
| 36 | /// Returns the number of selected features for the specified feature class. |
| 37 | /// |
| 38 | /// Input parameters |
| 39 | /// layer: Input layer, className: Feature class name |
| 40 | /// |
| 41 | /// Returns a count of all selected features |
| 42 | /// |
| 43 | int GetSelectedFeaturesCount(MgLayerBase layer, CREFSTRING className); |
| 44 | }}} |
| 45 | |
| 46 | {{{ |
| 47 | /// Returns the selected feature data for the specified feature class. |
| 48 | /// |
| 49 | /// Input parameters |
| 50 | /// layer: Input layer, className: Feature class name |
| 51 | /// |
| 52 | /// Returns a feature reader containing all the features for the given |
| 53 | /// feature class in this selection. |
| 54 | /// |
| 55 | MgFeatureReader GetSelectedFeatures(MgLayerBase layer, CREFSTRING className); |
| 56 | }}} |
| 57 | |
| 58 | These methods will be implemented from existing !MgSelection and !MgLayer functionality. |
| 59 | |
| 60 | |
| 61 | == Implications == |
| 62 | |
| 63 | None. These are new API additions so backward compatibility is maintained. Documentation will be autogenerated from the header file. |
| 64 | |
| 65 | == Test Plan == |
| 66 | |
| 67 | Validate that new APIs function correctly by returning the correct features and count. Perform visual testing with the existing sample applications to ensure that the existing !MgSelection APIs are still functioning correctly. |
| 68 | |
| 69 | == Funding/Resources == |
| 70 | |
| 71 | Autodesk |