193 lines
7.4 KiB
INI
193 lines
7.4 KiB
INI
#textdomain wesnoth
|
|
[schema]
|
|
identifier="re ^[a-zA-Z_]+$"
|
|
# slash-separated filenames
|
|
path="re ^([a-z0-9\-.+]+/)*[a-z0-9\-.+]+$"
|
|
# for non-negative geometry
|
|
unsigned="re ^[0-9]+$"
|
|
|
|
border="enum top,bottom,left,right,all"
|
|
halign="enum left,right,center"
|
|
valign="enum top,bottom,center"
|
|
|
|
[root]
|
|
_gui="required gui" # or repeated? maybe we need a new 'at least one' type
|
|
[/root]
|
|
|
|
[column]
|
|
border="optional border"
|
|
border_size="optional unsigned"
|
|
grow_factor="optional unsigned"
|
|
horizontal_alignment="optional halign"
|
|
horizontal_grow="optional boolean"
|
|
vertical_alignment="optional valign"
|
|
vertical_grow="optional boolean"
|
|
#TODO: possible other stuff
|
|
|
|
# A column should contain exactly one widget
|
|
# How are we going to define that, if at all?
|
|
_button="optional button"
|
|
_horizontal_listbox="optional horizontal_listbox"
|
|
_horizontal_scrollbar="optional horizontal_scrollbar"
|
|
_image="optional image"
|
|
_label="optional label"
|
|
_listbox="optional listbox"
|
|
_menubar="optional menubar"
|
|
_minimap="optional minimap"
|
|
_multi_page="optional multi_page"
|
|
_panel="optional panel"
|
|
_repeating_button="optional repeating_button"
|
|
_scroll_label="optional scroll_label"
|
|
_scrollbar_panel="optional scrollbar_panel"
|
|
_slider="optional slider"
|
|
_spacer="optional spacer"
|
|
_stacked_widget="optional stacked_widget"
|
|
_text_box="optional text_box"
|
|
_password_box="optional password_box"
|
|
_toggle_button="optional toggle_button"
|
|
_toggle_panel="optional toggle_panel"
|
|
_tree_view="optional tree_view"
|
|
_vertical_scrollbar="optional vertical_scrollbar"
|
|
_grid="optional grid"
|
|
[/column]
|
|
[grid]
|
|
_row="repeated row"
|
|
|
|
id="optional identifier"
|
|
linked_group="optional identifier"
|
|
[/grid]
|
|
[gui]
|
|
_settings="required settings"
|
|
|
|
#TODO: make sure all the below are actually optional
|
|
_button_definition="repeated button_definition"
|
|
_horizontal_listbox_definition="repeated horizontal_listbox_definition"
|
|
_horizontal_scrollbar_definition="repeated horizontal_scrollbar_definition"
|
|
_image_definition="repeated image_definition"
|
|
_label_definition="repeated label_definition"
|
|
_listbox_definition="repeated listbox_definition"
|
|
_menubar_definition="repeated menubar_definition"
|
|
_minimap_definition="repeated minimap_definition"
|
|
_multi_page_definition="repeated multi_page_definition"
|
|
_panel_definition="repeated panel_definition"
|
|
_repeating_button_definition="repeated repeating_button_definition"
|
|
_scrollbar_panel_definition="repeated scrollbar_panel_definition"
|
|
_scroll_label_definition="repeated scroll_label_definition"
|
|
_slider_definition="repeated slider_definition"
|
|
_spacer_definition="repeated spacer_definition"
|
|
_stacked_widget_definition="repeated stacked_widget_definition"
|
|
_text_box_definition="repeated text_box_definition"
|
|
_toggle_button_definition="repeated toggle_button_definition"
|
|
_toggle_panel_definition="repeated toggle_panel_definition"
|
|
_tooltip_definition="repeated tooltip_definition"
|
|
_tree_view_definition="repeated tree_view_definition"
|
|
_vertical_scrollbar_definition="repeated vertical_scrollbar_definition"
|
|
_window_definition="repeated window_definition"
|
|
_window="repeated window"
|
|
|
|
id="required identifier"
|
|
description="required string"
|
|
[/gui]
|
|
[label:control]
|
|
wrap="optional boolean"
|
|
[/label:control]
|
|
[panel_definition:control_definition]
|
|
_resolution="repeated panel_definition-resolution"
|
|
[/panel_definition:control_definition]
|
|
[panel_definition-resolution:resolution_definition]
|
|
bottom_border="optional unsigned"
|
|
left_border="optional unsigned"
|
|
right_border="optional unsigned"
|
|
top_border="optional unsigned"
|
|
|
|
_background="optional state_definition"
|
|
_foreground="optional state_definition"
|
|
[/panel_definition-resolution:resolution_definition]
|
|
[row]
|
|
grow_factor="optional unsigned"
|
|
|
|
_column="repeated column"
|
|
[/row]
|
|
[settings]
|
|
double_click_time="required unsigned"
|
|
help_show_time="optional unsigned"
|
|
popup_show_delay="optional unsigned"
|
|
popup_show_time="optional unsigned"
|
|
repeat_button_repeat_time="optional unsigned"
|
|
sound_button_click="optional path"
|
|
sound_toggle_button_click="optional path"
|
|
sound_toggle_panel_click="optional path"
|
|
sound_slider_adjust="optional path"
|
|
[/settings]
|
|
[state_definition]
|
|
_draw="required draw"
|
|
[/state_definition]
|
|
[window:widget]
|
|
_resolution="repeated resolution"
|
|
|
|
# We *may* want to move this to widget, if all instances of tbuilder_widget actually have it
|
|
description="required string"
|
|
id="required identifier"
|
|
[/window:widget]
|
|
[window_definition:control_definition]
|
|
_resolution="repeated window_definition-resolution"
|
|
[/window_definition:control_definition]
|
|
[window_definition-resolution:panel_definition-resolution]
|
|
_grid="optional grid" #TODO: check if it's actually required
|
|
[/window_definition-resolution:panel_definition-resolution]
|
|
|
|
# Base things that are only (mostly) derived from
|
|
[control:widget]
|
|
debug_border_color="optional string"
|
|
debug_border_mode="optional unsigned"
|
|
definition="optional identifier"
|
|
help="optional string"
|
|
id="optional identifier"
|
|
label="optional string"
|
|
linked_group="optional identifier"
|
|
tooltip="optional string"
|
|
use_tooltip_on_label_overflow="optional boolean"
|
|
[/control:widget]
|
|
[control_definition]
|
|
_resolution="repeated resolution"
|
|
|
|
description="required string"
|
|
id="required identifier"
|
|
[/control_definition]
|
|
[resolution]
|
|
_grid="required grid"
|
|
_linked_group="repeated linked_group"
|
|
|
|
automatic_placement="optional boolean"
|
|
click_dismiss="optional boolean"
|
|
definition="optional identifier"
|
|
height="optional string" # A formula that returns unsigned
|
|
horizontal_placement="optional halign"
|
|
maximum_height="optional unsigned"
|
|
maximum_width="optional unsigned"
|
|
vertical_placement="optional valign"
|
|
width="optional string" # A formula that returns unsigned
|
|
window_height="optional unsigned"
|
|
window_width="optional unsigned"
|
|
x="optional string" # A formula that returns unsigned
|
|
y="optional string" # A formula that returns unsigned
|
|
[/resolution]
|
|
[resolution_definition]
|
|
default_height="optional unsigned"
|
|
default_width="optional unsigned"
|
|
max_height="optional unsigned"
|
|
max_width="optional unsigned"
|
|
min_height="optional unsigned"
|
|
min_width="optional unsigned"
|
|
text_extra_height="optional unsigned"
|
|
text_extra_width="optional unsigned"
|
|
text_font_size="optional unsigned"
|
|
text_font_family="optional identifier"
|
|
window_height="optional unsigned"
|
|
window_width="optional unsigned"
|
|
|
|
text_font_style="optional string" #TODO: this is an enum
|
|
[/resolution_definition]
|
|
[widget]
|
|
[/widget]
|
|
[/schema]
|