MULTI-LEVEL USER INTERFACE THEMING
The present disclosure describes methods, systems, and computer program products for providing multi-level user interface theming. One computer-implemented method includes receiving a request to modify an existing theme, receiving a change to a quick theming classified parameter, receiving a change to a base theming classified parameter, receiving a change to an expert theming classified parameter, and publishing the modified theme.
1 . A computer-implemented method comprising:
receiving a request to modify an existing theme;
receiving a change to a quick theming classified parameter;
receiving a change to a base theming classified parameter;
receiving a change to an expert theming classified parameter; and
publishing, with a computer, the modified theme.
2 . The method of claim 1 , wherein the base theming classified parameter has a global scope and is bound to the quick theming classified parameter.
3 . The method of claim 1 , wherein the expert theming classified parameter has a local scope and is bound to the base theming classified parameter.
4 . The method of claim 1 , further comprising generating custom theming source code using received edits to theming source code to reflect a desired change to a parameter not exposed by at least one of the quick theming classified parameter, the base theming classified parameter, or the expert theming classified parameter.
5 . The method of claim 4 , further comprising ensuring a lack of conflicts between the theming source code associated with the existing theme and the custom theming source code.
6 . The method of claim 4 , wherein publishing the modified theme further comprises saving only deltas between the existing theme and changes to the quick theming classified parameter, the base theming classified parameter, the expert theming classified parameter, and the theming source code associated with the existing theme.
7 . The method of claim 1 , further comprising generating runtime user interface code by:
concatenating applicable theming source code, wherein applicable theming source code includes theming source code associated with the existing theme, parameter values from the quick theming classified parameter, the base theming classified parameter, the expert theming classified parameter, and custom theming source code;
for each parameter, searching for the last occurrence and calculating the parameter, if applicable, according an associated formula; and
replacing all occurrences of the parameter with the calculated value.
8 . A non-transitory, computer-readable medium storing computer-readable instructions executable by a computer and operable to:
receive a request to modify an existing theme;
receive a change to a quick theming classified parameter;
receive a change to a base theming classified parameter;
receive a change to an expert theming classified parameter; and
publish the modified theme.
9 . The medium of claim 8 , wherein the base theming classified parameter has a global scope and is bound to the quick theming classified parameter.
10 . The medium of claim 8 , wherein the expert theming classified parameter has a local scope and is bound to the base theming classified parameter.
11 . The medium of claim 8 , further comprising instructions to generate custom theming source code using received edits to theming source code to reflect a desired change to a parameter not exposed by at least one of the quick theming classified parameter, the base theming classified parameter, or the expert theming classified parameter.
12 . The medium of claim 11 , further comprising instructions to ensure a lack of conflicts between the theming source code associated with the existing theme and the custom theming source code.
13 . The medium of claim 11 , wherein publishing the modified theme is further operable to save only deltas between the existing theme and changes to the quick theming classified parameter, the base theming classified parameter, the expert theming classified parameter, and the theming source code associated with the existing theme.
14 . The medium of claim 8 , further comprising instructions to generate runtime user interface code by:
concatenating applicable theming source code, wherein applicable theming source code includes theming source code associated with the existing theme, parameter values from the quick theming classified parameter, the base theming classified parameter, the expert theming classified parameter, and custom theming source code;
for each parameter, searching for the last occurrence and calculating the parameter, if applicable, according an associated formula; and
replacing all occurrences of the parameter with the calculated value.
15 . A system, comprising:
a memory configured to store theming data;
at least one computer interoperably coupled with the memory and configured to:
receive a request to modify an existing theme;
receive a change to a quick theming classified parameter;
receive a change to a base theming classified parameter;
receive a change to an expert theming classified parameter; and
publish the modified theme, wherein publishing the modified theme is further operable to save only deltas between the existing theme and changes to the quick theming classified parameter, the base theming classified parameter, the expert theming classified parameter, and the theming source code associated with the existing theme.
16 . The system of claim 15 , wherein the base theming classified parameter has a global scope and is bound to the quick theming classified parameter.
17 . The system of claim 15 , wherein the expert theming classified parameter has a local scope and is bound to the base theming classified parameter.
18 . The system of claim 15 , further configured to generate custom theming source code using received edits to theming source code to reflect a desired change to a parameter not exposed by at least one of the quick theming classified parameter, the base theming classified parameter, or the expert theming classified parameter.
19 . The system of claim 18 , further configured to ensure a lack of conflicts between the theming source code associated with the existing theme and the custom theming source code.
20 . The system of claim 15 , further configured to generate runtime user interface code by:
concatenating applicable theming source code, wherein applicable theming source code includes theming source code associated with the existing theme, parameter values from the quick theming classified parameter, the base theming classified parameter, the expert theming classified parameter, and custom theming source code;
for each parameter, searching for the last occurrence and calculating the parameter, if applicable, according an associated formula; and
replacing all occurrences of the parameter with the calculated value.