[[BackLinksMenu]] [[TicketQuery(summary=FRAME_PROPERTY_LOCKING_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]] = Analysis = == Overview == Frame property locking provides the ability a property to be protected from changing. Frame property locking should be presented to the user as a checkbox in the Frame hud. When the checkbox is checked for a property, it's value will not be changeable until it's checkbox is unchecked. == Task requirements == Provide a prototype of frame property locking. Locking should be available for frame: * content * insets * bounds * border style * background style * shadow style Providing locking for these is enough for this revision. In later revisions, they may be split into sub-elements (border style - border thickness, border color, etc). == Task result == The result of this task must be code. == Implementation idea == Create a value property * contentLock * insetsLock * boundsLock * borderLock * backgroundLock * shadowLock at the Frame class. == Related == [wiki:FRAME_TEMPLATES_R0] == How to demo == * Create a frame. * Lock the border. * Change border width. * Assert that border width is the same. = Design = * Add following properties in the Frame class * !RwProp<Boolean> contentLock() - value property - It will provide if content could be changed. If content is locked, it could not be changed. * !RwProp<Boolean> borderLock() - value property - It will provide if border could be changed. If border is locked, it could not be changed. * !RwProp<Boolean> backgroundLock() - value property - It will provide if background could be changed. If background is locked, it could not be changed. * !RwProp<Boolean> shadowLock() - value property - It will provide if shadow could be changed. If shadow is locked, it could not be changed. * !RwProp<Boolean> paddingInsetsLock() - value property - It will provide if padding could be changed. If padding is locked, it could not be changed. * !RwProp<Boolean> marginInsetsLock() - value property - It will provide if margin could be changed. If margin is locked, it could not be changed. = Implementation = ^(Implementation results should be described and linked here (from the wiki or the repository))^ = Testing = = Comments = ^(Write comments for this or later revisions here.)