Menu

SDK Property Metadata

SourceForge Editorial Staff
There is a newer version of this page. You can find it here.
# SDK Property Metadata ## Problem Description For better tooling support, we would like to make two improvements to the metadata on property & style declarations: * To break up large listings of properties on an item, need to grow the set standardized categories that properties and styles can be bucketed into. * To provide validation of numeric input, need new metadata to specify the allowed numeric range of int and Number properties. ## Decision _Complete this section when a decision has been made and approved_ h3. ## Decision Criteria _What factors should be accounted for in a reasonable solution to the problem?_ ## Proposed Solution(s): **Categories** * Add two new values for the category="" metadata attribute: * "Text" -- font/paragraph styles, text color, etc. * "Layout" -- settings that affect how a component lays out its children (padding/gap/etc.) or how a component is laid out by its parent (constraints, etc.) * Start using the category="" attribute as applicable on \[Style\] metadata too, not just \[Inspectable\] as today. **Numeric range** There are three proposals: Syntax A: * minValue="N" -- value must be >= N * minValueExclusive="N" -- value must be > N * maxValue="N" -- value must be <= N * maxValueExlusive="N" -- value must be < N Syntax B: * minValue="N" -- value must be >= N * minValue=">N" -- value must be > N * maxValue="N" -- value must be <= N * maxValue="<n" --="" value="" must="" be="" <="" n="" syntax="" c:="" *="" range="\[N,M\]">= N, <= M * range="(N,M)" -- value must be > N, < M * range="(N,M]" -- value must be > N, <= M * range="(N" -- value must be > N * etc. Notes: * N (or M) is any number -- for int properties it must be an int; for Number properties it must be a Number * In syntax A or B, if both min or both max attributes are specified, tooling's numeric validation behavior is undefined. * If the range is inverted (min > max), tooling's numeric validation behavior is undefined. ## Recommended Solution: **Categories** See above. **Numeric range** Recommend syntax A. This has the least "microsyntax"iness to it. [[ include ref='site:open_commentlogin' ]] </n">
[[ include ref='flexsdk:flexsdk_rightnav' ]]

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.