Precedence
Precedence of theme
files:
If there are multiple theme-[xxxx].json files, the settings
in the last file in alphabetical order will be searched and
applied first.
Precedence of theme settings for
control/object in the window (container):
If there are multiple settings defined for the same
object/control in the window container, the settings will be
searched and applied in this order:
-
setting for a specific control in the window
([windowname].[controlname] in theme-[xxxx].json) -
setting for controls of the same type in the window
([windowname]$[controltype] in theme-[xxxx].json) -
generic setting for controls of the same type
([controltype] in theme.json)
Precedence of theme settings for
control/object in the user object (container):
If there are multiple settings defined for the same
object/control in the user object container, the settings will be
searched and applied in this order:
-
setting for a specific control in the user object
([userobject].[controlname] in theme-[xxxx].json) -
setting for controls of the same type in the user object
([userobject]$[controltype] in theme-[xxxx].json) -
generic setting for controls of the same type
([controltype] in theme.json)
Precedence of theme settings for
control/object in the descendant window
(container):
If the control/object in the descendant window has custom
theme settings, its custom theme settings will take effect. If the
control/object in the descendant window has no custom theme
settings, it will inherit the theme settings from the
control/object in the ancestor window. For example, if
w_ancestor contains
cb_1, and w_descendant
inherits from w_ancestor and adds another
button cb_2, and if settings are defined for
w_descendant$commandbutton, then settings under
w_descendant$commandbutton will be effective to
cb_2, and if no settings are defined for
w_descendant$commandbutton, then settings under
w_ancestor$commandbutton will be effective to both
cb_1 and cb_2.
If there are multiple settings defined for the same
object/control in the descendant window, the settings will be
searched and applied in this order:
-
setting for a specific control in the descendant window
([descendantwindow].[controlname] in theme-[xxxx].json) -
setting for a specific control in the ancestor window
([ancestorwindow].[controlname] in theme-[xxxx].json) -
setting for controls of the same type in the descendant
window ([descendantwindow]$[controltype] in
theme-[xxxx].json) -
setting for controls of the same type in the ancestor
window ([ancestorwindow]$[controltype] in
theme-[xxxx].json) -
generic setting for controls of the same type
([controltype] in theme.json)
Precedence of theme settings for
control/object in the descendant user object
(container):
If the control/object in the descendant user object has
custom theme settings, its custom theme settings will take effect.
If the control/object in the descendant user object has no custom
theme settings, it will inherit the theme settings from the
control/object in the ancestor user object. For example, if
uo_ancestor contains
cb_1, and uo_descendant
inherits from uo_ancestor and adds another
button cb_2, and if settings are defined for
uo_descendant$commandbutton, then settings under
uo_descendant$commandbutton will be effective to
cb_2, and if no settings are defined for
uo_descendant$commandbutton, then settings under
uo_ancestor$commandbutton will be effective to both
cb_1 and cb_2.
If there are multiple settings defined for the same
object/control in the descendant user object, the settings will be
searched and applied in this order:
-
setting for a specific control in the descendant user
object ([descendantuserobject].[controlname] in
theme-[xxxx].json) -
setting for a specific control in the ancestor user
object ([ancestoruserobject].[controlname] in
theme-[xxxx].json) -
setting for controls of the same type in the descendant
user object ([descendantuserobject]$[controltype] in
theme-[xxxx].json) -
setting for controls of the same type in the ancestor
user object ([ancestoruserobject]$[controltype] in
theme-[xxxx].json) -
generic setting for controls of the same type
([controltype] in theme.json)
Precedence of theme settings for
control/object in the user object in the window (user object is
contained by the window):
If there are multiple settings defined for the same
object/control in the user object in the window, the settings will
be searched and applied in this order:
-
setting for a specific control in the user object in the
window ([windowname].[userobjectname].[controlname] in
theme-[xxxx].json) -
setting for a specific control in the user object
([userobjectname].[controlname] in theme-[xxxx].json) -
setting for controls of the same type in the user object
([userobjectname]$[controltype] in theme-[xxxx].json) -
setting for controls of the same type in the window
([windowname]$[controltype] in theme-[xxxx].json) -
generic setting for controls of the same type
([controltype] in theme.json)
Precedence of theme settings for
control/object in the descendant user object in the descendant
window (user object is contained by the window):
If there are multiple settings defined for the same
object/control in the descendant user object in the descendant
window, the settings will be searched and applied in this
order:
-
setting for a specific control in the descendant user
object in the descendant window
([descendantwindow].[userobjectname].[controlname] in
theme-[xxxx].json) -
setting for a specific control in the descendant user
object in the ancestor window
([ancestorwindow].[userobjectname].[controlname] in
theme-[xxxx].json) -
setting for a specific control in the descendant user
object ([descendantuserobject].[controlname] in
theme-[xxxx].json) -
setting for a specific control in the ancestor user
object ([ancestoruserobject].[controlname] in
theme-[xxxx].json) -
setting for controls of the same type in the descendant
user object ([descendantuserobject]$[controltype] in
theme-[xxxx].json) -
setting for controls of the same type in the ancestor
user object ([ancestoruserobject]$[controltype] in
theme-[xxxx].json) -
setting for controls of the same type in the descendant
window ([descendantwindow]$[controltype] in
theme-[xxxx].json) -
setting for controls of the same type in the ancestor
window ([ancestorwindow]$[controltype] in
theme-[xxxx].json) -
generic setting for controls of the same type
([controltype] in theme.json)