Claims
- 1. In a computing environment comprising a user interface, the user interface comprising an element, the element comprising a property, a method for searching for a value to provide to the property, the method comprising:
searching for an in-line rule that provides a value to the property; if no in-line rule is found that provides a value to the property, then searching for a non-default property sheet that includes a rule that provides a value to the property; and if no non-default property sheet is found that includes a rule that provides a value to the property, then searching for a default property sheet that includes a rule that provides a value to the property.
- 2. The method of claim 1 wherein the element of the user interface is selected from the group consisting of: visual elements and audio elements.
- 3. The method of claim 1 wherein a default property sheet includes rules that express a presentation theme for the user interface.
- 4. The method of claim 3 wherein the presentation theme for the user interface is selected from the group consisting of: an accessibility theme, a system theme, and a branded application theme.
- 5. The method of claim 1 wherein searching for a non-default property sheet that includes a rule that provides a value to the property comprises:
searching for a non-default property sheet of the element that includes a rule that provides a value to the property; and if no non-default property sheet of the element is found that includes a rule that provides a value to the property, then searching for a non-default property sheet of an ancestor of the element that includes a rule that provides a value to the property.
- 6. The method of claim 1 wherein the user interface comprises a plurality of elements, wherein at least one element comprises a plurality of properties, and wherein there is at most one default property sheet for all of the elements of the user interface.
- 7. The method of claim 1 further comprising:
if no default property sheet is found that includes a rule that provides a value to the property, then searching for a value inheritance rule that provides a value to the property.
- 8. The method of claim 7 further comprising:
if no value inheritance rule is found that provides a value to the property, then providing a default value to the property.
- 9. A computer-readable medium containing computer-executable instructions for performing a method for searching for a value to provide to a property of an element of a user interface, the method comprising:
searching for an in-line rule that provides a value to the property; if no in-line rule is found that provides a value to the property, then searching for a non-default property sheet that includes a rule that provides a value to the property; and if no non-default property sheet is found that includes a rule that provides a value to the property, then searching for a default property sheet that includes a rule that provides a value to the property.
- 10. In a computing environment comprising a user interface, the user interface comprising an element, the element comprising a property, a method for providing a value to the property, the method comprising:
if an in-line rule exists to provide a value to the property, then applying the in-line rule to provide a value to the property; else if a non-default property sheet includes a rule to provide a value to the property, then applying the non-default property sheet rule to provide a value to the property; else if a default property sheet includes a rule to provide a value to the property, then applying the default property sheet rule to provide a value to the property.
- 11. The method of claim 10 wherein the element of the user interface is selected from the group consisting of: visual elements and audio elements.
- 12. The method of claim 10 wherein a default property sheet includes rules that express a presentation theme for the user interface.
- 13. The method of claim 12 wherein the presentation theme for the user interface is selected from the group consisting of: an accessibility theme, a system theme, and a branded application theme.
- 14. The method of claim 10 wherein applying the non-default property sheet rule to provide a value to the property comprises:
if a non-default property sheet of the element includes a rule to provide a value to the property, then applying the rule of the non-default property sheet of the element to provide a value to the property; else if a non-default property sheet of an ancestor of the element includes a rule to provide a value to the property, then applying the rule of the non-default property sheet of the ancestor of the element to provide a value to the property.
- 15. The method of claim 10 wherein the user interface comprises a plurality of elements, wherein at least one element comprises a plurality of properties, and wherein there is at most one default property sheet for all of the elements of the user interface.
- 16. The method of claim 10 wherein applying the default property sheet rule comprises:
providing a fixed value to the property.
- 17. The method of claim 10 wherein applying the default property sheet rule comprises:
calculating a value, the calculated value based, at least in part, on the computing environment comprising the user interface; and providing the calculated value to the property.
- 18. The method of claim 10 wherein applying the default property sheet rule does not depend upon the order of rules in the default property sheet.
- 19. The method of claim 10 wherein applying the default property sheet rule comprises:
if the default property sheet includes two rules to provide values to the property, and if one of the rules is more specific than the other rule, then applying the more specific rule to provide a value to the property.
- 20. The method of claim 10 further comprising:
if no default property sheet includes a rule to provide a value to the property, then if a value inheritance rule exists to provide a value to the property, then applying the value inheritance rule to provide a value to the property.
- 21. The method of claim 20 further comprising:
if no value inheritance rule exists to provides a value to the property, then providing a default value to the property.
- 22. A computer-readable medium containing computer-executable instructions for performing a method for providing a value to a property of an element of a user interface, the method comprising:
if an in-line rule exists to provide a value to the property, then applying the in-line rule to provide a value to the property; else if a non-default property sheet includes a rule to provide a value to the property, then applying the non-default property sheet rule to provide a value to the property; else if a default property sheet includes a rule to provide a value to the property, then applying the default property sheet rule to provide a value to the property.
- 23. A computer-readable medium having stored thereon a default property sheet data structure, the default property sheet data structure comprising:
a first field comprising data representing a rule that provides a default value to a property of a first element of a user interface; and a second field comprising data representing a rule that provides a default value to a property of a second element of the user interface.
- 24. The computer-readable medium of claim 23 wherein the first element of the user interface is selected from the group consisting of: visual elements and audio elements.
- 25. The computer-readable medium of claim 23 wherein the rule of the first field is selected from the group consisting of: a rule that provides a fixed value to the property of the first element of the user interface and a rule that provides a calculated value to the property of the first element of the user interface, the calculated value based, at least in part, on a computing environment that comprises the user interface.
- 26. The computer-readable medium of claim 23 wherein the first element and the second element are the same element, and wherein the property of the first element and the property of the second element are not the same property.
- 27. In a computing environment comprising a user interface, the user interface comprising a plurality of elements, each element comprising a property, a method for building a default property sheet, the method comprising:
adding to the default property sheet a first rule that provides a default value to a property of a first element of the user interface; and adding to the default property sheet a second rule that provides a default value to a property of a second element of the user interface.
- 28. The method of claim 27 wherein the first element of the user interface is selected from the group consisting of: visual elements and audio elements.
- 29. The method of claim 27 wherein the first rule is selected from the group consisting of: a rule that provides a fixed value to the property of the first element and a rule that provides a calculated value to the property of the first element, the calculated value based, at least in part, on the computing environment.
- 30. The method of claim 27 wherein the first element and the second element are the same element, and wherein the property of the first element and the property of the second element are not the same property.
- 31. The method of claim 27 further comprising:
accepting the first rule from a first author; and accepting the second rule from a second author, wherein the first author and the second author are not the same author.
- 32. A computer-readable medium containing computer-executable instructions for performing a method for building a default property sheet, the method comprising:
adding to the default property sheet a first rule that provides a default value to a property of a first element of a user interface; and adding to the default property sheet a second rule that provides a default value to a property of a second element of the user interface.
- 33. In a computing environment comprising a user interface, the user interface comprising a plurality of elements, each element comprising a property, a method for building a default property sheet, the method comprising:
determining whether a first candidate rule meets criteria for addition; if the first candidate rule meets the criteria for addition, then adding to the default property sheet the first rule that provides a default value to a property of a first element of the user interface; determining whether a second candidate rule meets the criteria for addition; and if the second candidate rules meets the criteria for addition, then adding to the default property sheet the second rule that provides a default value to a property of a second element of the user interface.
- 34. The method of claim 33 wherein the criteria comprise: the rule has no tree selector and a type of the rule matches that of an element adding the rule.
- 35. The method of claim 33 wherein the criteria comprise: the rule has a tree selector, a last tree selector of the rule is a child selector, and a type of the last tree selector of the rule matches that of an element adding the rule.
- 36. The method of claim 33 wherein the first element of the user interface is selected from the group consisting of: visual elements and audio elements.
- 37. The method of claim 33 wherein the first rule is selected from the group consisting of: a rule that provides a fixed value to the property of the first element and a rule that provides a calculated value to the property of the first element, the calculated value based, at least in part, on the computing environment.
- 38. The method of claim 33 wherein the first element and the second element are the same element, and wherein the property of the first element and the property of the second element are not the same property.
- 39. The method of claim 33 further comprising:
accepting the first rule from a first author; and accepting the second rule from a second author, wherein the first author and the second author are not the same author.
- 40. A computer-readable medium containing computer-executable instructions for performing a method for building a default property sheet, the method comprising:
determining whether a first candidate rule meets criteria for addition; if the first candidate rule meets the criteria for addition, then adding to the default property sheet the first rule that provides a default value to a property of a first element of a user interface; determining whether a second candidate rule meets the criteria for addition; and if the second candidate rules meets the criteria for addition, then adding to the default property sheet the second rule that provides a default value to a property of a second element of the user interface.
RELATED APPLICATION
[0001] The present application contains subject matter related to that of patent application Ser. No. ______ “Method and System for Selectively Enforcing Presentation Themes,” attorney docket number 218843.