Types/StyleSpecification: Difference between revisions
(1.1: added natrual_size, never_hide_by_search, ignored_by_search) |
(Added an example of adding a custom style) |
||
Line 218: | Line 218: | ||
'''Default''': 1.0 | '''Default''': 1.0 | ||
== Example == | |||
Example of adding a custom style via [[Prototype/GuiStyle]], in this case a [[Types/FrameStyleSpecification]]: | |||
<syntaxhighlight lang="lua">data.raw["gui-style"]["default"]["custom_style_for_a_frame"] = | |||
{ | |||
type = "frame_style", | |||
parent = "frame", | |||
use_header_filler = false, | |||
drag_by_title = false | |||
}</syntaxhighlight> |
Revision as of 17:38, 11 March 2021
A table, used as a value in Prototype/GuiStyle, named by the key that is used there. Prototype/GuiStyle loads one of the extensions of this prototype, depending on the specified type
.
Extensions
- Types/ActivityBarStyleSpecification activity_bar_style
- Types/EmptyWidgetStyleSpecification empty_widget_style
- Types/CameraStyleSpecification camera_style
- Types/MinimapStyleSpecification minimap_style
- Types/DropDownStyleSpecification dropdown_style
- Types/FlowStyleSpecification flow_style
- Types/FrameStyleSpecification frame_style
- Types/GlowStyleSpecification glow_style
- Types/GraphStyleSpecification graph_style
- Types/HorizontalFlowStyleSpecification horizontal_flow_style
- Types/ImageStyleSpecification image_style
- Types/LabelStyleSpecification label_style
- Types/LineStyleSpecification line_style
- Types/ListBoxStyleSpecification list_box_style
- Types/ProgressBarStyleSpecification progressbar_style
- Types/ScrollBarStyleSpecification <abstract>
- Types/HorizontalScrollBarStyleSpecification horizontal_scrollbar_style
- Types/VerticalScrollBarStyleSpecification vertical_scrollbar_style
- Types/ScrollPaneStyleSpecification scroll_pane_style
- Types/SliderStyleSpecification slider_style
- Types/DoubleSliderStyleSpecification double_slider_style
- Types/SpeechBubbleStyleSpecification speech_bubble_style
- Types/StyleWithClickableGraphicalSetSpecification <abstract>
- Types/ButtonStyleSpecification button_style
- Types/TechnologySlotStyleSpecification technology_slot_style
- Types/CheckBoxStyleSpecification checkbox_style
- Types/RadioButtonStyleSpecification radiobutton_style
- Types/ButtonStyleSpecification button_style
- Types/SwitchStyleSpecification switch_style
- Types/TabbedPaneStyleSpecification tabbed_pane_style
- Types/TableStyleSpecification table_style
- Types/TabStyleSpecification tab_style
- Types/TextBoxStyleSpecification textbox_style
- Types/VerticalFlowStyleSpecification vertical_flow_style
Mandatory properties
type
Type: string
The type of one of the above listed extensions, this style specification is then loaded as that extension.
Optional properties
parent
Type: string
Name of a Types/StyleSpecification. This style specification inherits all property values from the parent style specification.
It is recommended to always set the parent style to at least the basic vanilla style. If no parent is set, some style properties become mandatory and behavior may be unexpected, such as an element not showing up because its size defaults to 0.
horizontal_align
Type: string
Default: "left"
Either "left", "center" or "right".
vertical_align
Type: string
Default: "top"
Either "top", "center" or "bottom".
ignored_by_search
Type: bool
never_hide_by_search
Type: bool
horizontally_stretchable
Type: string
Default: "auto"
Either "off", "on", "auto" or "stretch_and_expand".
vertically_stretchable
Type: string
Default: "auto"
Either "off", "on", "auto" or "stretch_and_expand".
horizontally_squashable
Type: string
Default: "auto"
Either "off", "on", "auto" or "stretch_and_expand".
vertically_squashable
Type: string
Default: "auto"
Either "off", "on", "auto" or "stretch_and_expand".
natural_size
Type: uint32 or table of uint32
If this is an array, the first member of the array is natural_width
and the second is natural_height
. Otherwise the size is both natural_width
and natural_height
.
size
Type: uint32 or table of uint32
If this is an array, the first member of the array is width
and the second is height
. Otherwise the size is both width
and height
.
width
Type: uint32
Sets minimal_width
, maximal_width
and natural_width
.
minimal_width
Type: uint32
Default: 0
Minimal width ensures, that the widget will never be smaller than than that size. It can't be squashed to be smaller.
maximal_width
Type: uint32
Default: 0
Maximal width ensures, that the widget will never be bigger than than that size. It can't be stretched to be bigger.
natural_width
Type: uint32
Default: 0
Natural width specifies the width of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.
height
Type: uint32
Sets minimal_height
, maximal_height
and natural_height
.
minimal_height
Type: uint32
Default: 0
Minimal height ensures, that the widget will never be smaller than than that size. It can't be squashed to be smaller.
maximal_height
Type: uint32
Default: 0
Maximal height ensures, that the widget will never be bigger than than that size. It can't be stretched to be bigger.
natural_height
Type: uint32
Default: 0
Natural height specifies the height of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.
padding
Type: int16
Sets top_padding
, right_padding
, bottom_padding
and left_padding
.
top_padding
Type: int16
Default: 0
right_padding
Type: int16
Default: 0
bottom_padding
Type: int16
Default: 0
left_padding
Type: int16
Default: 0
margin
Type: int16
Sets top_margin
, right_margin
, bottom_margin
and left_margin
.
top_margin
Type: int16
Default: 0
right_margin
Type: int16
Default: 0
bottom_margin
Type: int16
Default: 0
left_margin
Type: int16
Default: 0
effect
Type: string
effect_opacity
Type: float
Default: 1.0
Example
Example of adding a custom style via Prototype/GuiStyle, in this case a Types/FrameStyleSpecification:
data.raw["gui-style"]["default"]["custom_style_for_a_frame"] =
{
type = "frame_style",
parent = "frame",
use_header_filler = false,
drag_by_title = false
}