Difference between revisions of "GUI Themes/STX Syntax"

Jump to navigation Jump to search
3,396 bytes removed ,  15:16, 25 October 2018
m
Text replacement - "</source>" to "</syntaxhighlight>"
m (Text replacement - "</source>" to "</syntaxhighlight>")
(10 intermediate revisions by 5 users not shown)
Line 11: Line 11:
===== Example =====
===== Example =====


<pre>&lt;render_info resolution = &quot;320x240&quot;&gt;
<syntaxhighlight lang="xml">
<render_info resolution = "y>399">
     ...
     ...
&lt;/render_info&gt;</pre>
</render_info>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 20: Line 23:
===== Properties =====
===== Properties =====


* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 32: Line 35:
===== Example =====
===== Example =====


<pre>&lt;palette&gt;
<syntaxhighlight lang="xml">
<palette>
     ...
     ...
&lt;/palette&gt;</pre>
</palette>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 49: Line 55:
===== Example =====
===== Example =====


<pre>&lt;color name = 'red'
<syntaxhighlight lang="xml">
<color name = 'red'
         rgb = '255, 0, 0'
         rgb = '255, 0, 0'
/&gt;</pre>
/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 73: Line 82:
===== Example =====
===== Example =====


<pre>&lt;bitmaps&gt;
<syntaxhighlight lang="xml">
<bitmaps>
     ...
     ...
&lt;/bitmaps&gt;</pre>
</bitmaps>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 91: Line 103:
===== Example =====
===== Example =====


<pre>&lt;bitmap filename = 'logo.bmp'/&gt;</pre>
<syntaxhighlight lang="xml">
<bitmap filename = 'logo.bmp'/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 101: Line 116:


* <tt>filename [string]</tt>: Path and filename to the bitmap file.
* <tt>filename [string]</tt>: Path and filename to the bitmap file.
* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 113: Line 128:
===== Example =====
===== Example =====


<pre>&lt;fonts&gt;
<syntaxhighlight lang="xml">
<fonts>
     ...
     ...
&lt;/fonts&gt;</pre>
</fonts>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 127: Line 145:
Parent: <tt>&lt;fonts&gt;</tt><br />
Parent: <tt>&lt;fonts&gt;</tt><br />
Children: -<br />
Children: -<br />
Properties: <tt>id</tt> (''required''), <tt>file</tt> (''required''), <tt>color</tt> (''required''), <tt>resolution</tt>
Properties: <tt>id</tt> (''required''), <tt>file</tt> (''required''), <tt>resolution</tt>


===== Example =====
===== Example =====


<pre>&lt;font  id = 'text_default'
<syntaxhighlight lang="xml">
<font  id = 'text_default'
         file = 'default'
         file = 'default'
        color = 'black'
/>
/&gt;</pre>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 144: Line 164:


* <tt>text_default</tt>: Core font for the engine, used to draw all the static text and most of the text in widgets.
* <tt>text_default</tt>: Core font for the engine, used to draw all the static text and most of the text in widgets.
* <tt>text_hover</tt>: Used for text which is currently being highlighted / hovered by the mouse.
* <tt>text_button</tt>: Text for Button widgets.
* <tt>text_disabled</tt>: Used for text on disabled widgets.
* <tt>text_inverted</tt>: Text which is currently selected and has a special selection background.
* <tt>text_button</tt>: Default text for Button widgets.
* <tt>text_button_hover</tt>: Default text for highlighted button widgets.
* <tt>text_normal</tt>: ''Normal'', smaller text (i.e. non bold) used sparsely (editable text widgets, about dialog, etc).
* <tt>text_normal</tt>: ''Normal'', smaller text (i.e. non bold) used sparsely (editable text widgets, about dialog, etc).
For performance reasons, these identifiers are unique and limited (i.e. the parser doesn't expect any other custom identifiers). Future versions of the Theme Format may allow for custom Fonts specific to certain widgets.
For performance reasons, these identifiers are unique and limited (i.e. the parser doesn't expect any other custom identifiers). Future versions of the Theme Format may allow for custom Fonts specific to certain widgets.


Line 156: Line 173:
* <tt>id [string]</tt>: Unique font identifier.
* <tt>id [string]</tt>: Unique font identifier.
* <tt>file [string]</tt>: External Font file to load. Use &quot;default&quot; to let the renderer choose the most appropriate default font based on the active resolution (usually an builtin one).
* <tt>file [string]</tt>: External Font file to load. Use &quot;default&quot; to let the renderer choose the most appropriate default font based on the active resolution (usually an builtin one).
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.
-----
==== <tt>&lt;text_color&gt;</tt> ====
Parent: <tt>&lt;fonts&gt;</tt><br />
Children: -<br />
Properties: <tt>id</tt> (''required''), <tt>color</tt> (''required'')
===== Example =====
<syntaxhighlight lang="xml">
<text_color id = 'color_normal'
            color = 'black'
/>
</syntaxhighlight>
===== Description =====
The GUI code allows the different draw steps to specify a color to draw the text data in. The user can specify the colors for different (currently predefined) text types via this.
===== Required text color identifiers =====
Here is a list of the currently available text color types. All need to be defined by the theme configuration file.
* <tt>color_normal</tt>: This should be the default color.
* <tt>color_normal_hover</tt>: The default color for hovered widgets.
* <tt>color_normal_disabled</tt>: The default color for disabled widgets.
* <tt>color_normal_inverted</tt>: The default color for inverted text, like used in the ListWidget.
* <tt>color_alternative</tt>: An alternative color, which the widgets might use.
* <tt>color_alternative_hover</tt>: The hovered version of the alternative color.
* <tt>color_alternative_disabled</tt>: The disabled version of the alternative color.
* <tt>color_alternative_inverted</tt>: The inverted version of the alternative color.
* <tt>color_button</tt>: The color to be used in button widgets.
* <tt>color_button_hover</tt>: Hovered version of the button widget text color.
* <tt>color_button_disabled</tt>: Disabled version of the button widget text color.
For performance reasons, these identifiers are unique and limited (i.e. the parser doesn't expect any other custom identifiers). Future versions of the Theme Format may allow for custom Fonts specific to certain widgets.
The GUI code itself relies only on "color_normal*" and "color_alternative*" to be present. The button color is there to allow different text colors of the button text's, like used in the modern theme of ScummVM.
===== Properties =====
* <tt>id [string]</tt>: Unique color identifier.
* <tt>color [int, int, int|string]</tt>: Color to draw the text with.
* <tt>color [int, int, int|string]</tt>: Color to draw the text with.
* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 169: Line 230:
===== Example =====
===== Example =====


<pre>&lt;defaults fill = 'gradient' fg_color = 'white' bevel_color = '237, 169, 72'/&gt;</pre>
<syntaxhighlight lang="xml">
<defaults fill = 'gradient' fg_color = 'white' bevel_color = '237, 169, 72'/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 187: Line 251:
===== Example =====
===== Example =====


<pre>&lt;cursor file = 'cursor.bmp' hotspot = '0, 0' scale = '3'/&gt;</pre>
<syntaxhighlight lang="xml">
<cursor file = 'cursor.bmp' hotspot = '0, 0' scale = '3'/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 199: Line 266:
* <tt>hotspot [int, int]</tt>: Coordinates for the point in the bitmap which will be used for click calculations.
* <tt>hotspot [int, int]</tt>: Coordinates for the point in the bitmap which will be used for click calculations.
* <tt>scale [int]</tt>: Scale at which this cursor is supposed to be used.
* <tt>scale [int]</tt>: Scale at which this cursor is supposed to be used.
* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 211: Line 278:
===== Example =====
===== Example =====


<pre>&lt;drawdata id = 'mainmenu_bg' cache = false&gt;
<syntaxhighlight lang="xml">
     &lt;drawstep  ...
<drawdata id = 'mainmenu_bg' cache = false>
     /&gt;
     <drawstep  ...
&lt;/drawdata&gt;</pre>
     />
</drawdata>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 247: Line 317:
* <tt>id [string]</tt>: Unique identifier for the drawing asset.
* <tt>id [string]</tt>: Unique identifier for the drawing asset.
* <tt>cache [bool]</tt>: Lets the renderer know that this drawing asset may be cached for performance.
* <tt>cache [bool]</tt>: Lets the renderer know that this drawing asset may be cached for performance.
* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 259: Line 329:
===== Example =====
===== Example =====


<pre>&lt;drawstep  func = 'roundedsq'
<syntaxhighlight lang="xml">
<drawstep  func = 'roundedsq'
             radius = '6'
             radius = '6'
             stroke = 1
             stroke = 1
Line 268: Line 339:
             gradient_end = 'darkred'
             gradient_end = 'darkred'
             bevel = 1
             bevel = 1
/&gt;</pre>
/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 337: Line 410:
Parent: <tt>&lt;drawdata&gt;</tt><br />
Parent: <tt>&lt;drawdata&gt;</tt><br />
Children: -<br />
Children: -<br />
Properties: <tt>font</tt> (''required''), <tt>vertical_align</tt> (''required''), <tt>horizontal_align</tt> (''required'')
Properties: <tt>font</tt> (''required''), <tt>text_color</tt> (''required''), <tt>vertical_align</tt> (''required''), <tt>horizontal_align</tt> (''required'')


===== Example =====
===== Example =====


<pre>&lt;text  font = 'text_button'
<syntaxhighlight lang="xml">
<text  font = 'text_button'
        text_color = 'color_button'
         vertical_align = 'center'
         vertical_align = 'center'
         horizontal_align = 'center'
         horizontal_align = 'center'
/&gt;</pre>
/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 365: Line 442:


* <tt>font [string]</tt>: Font identifier from a previously created <tt>font</tt> key. This font will be used to draw the text.
* <tt>font [string]</tt>: Font identifier from a previously created <tt>font</tt> key. This font will be used to draw the text.
* <tt>text_color [string]</tt>: Color to use. This entry has to match a identifier defined via the <tt>text_color</tt> key.
* <tt>vertical_alignment [string]</tt>: Vertical (Y axis) alignment of the text. Possible values:
* <tt>vertical_alignment [string]</tt>: Vertical (Y axis) alignment of the text. Possible values:
** <tt>top</tt>
** <tt>top</tt>
Line 384: Line 462:
===== Example =====
===== Example =====


<pre>&lt;layout_info resolution = '320xY'&gt;
<syntaxhighlight lang="xml">
<layout_info resolution = 'y>399'>
     ...
     ...
&lt;/layout_info&gt;</pre>
</layout_info>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 393: Line 474:
===== Properties =====
===== Properties =====


* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 405: Line 486:
===== Example =====
===== Example =====


<pre>&lt;globals&gt;
<syntaxhighlight lang="xml">
<globals>
     ...
     ...
&lt;/globals&gt;</pre>
</globals>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 423: Line 507:
===== Example =====
===== Example =====


<pre>&lt;def var = 'WidgetSize' value = 'kBigWidgetSize' /&gt;
<syntaxhighlight lang="xml">
&lt;def resolution = '320xY' var = 'WidgetSize' value = 'kNormalWidgetSize' /&gt;</pre>
<def var = 'WidgetSize' value = 'kBigWidgetSize' />
<def resolution = 'y>399' var = 'WidgetSize' value = 'kNormalWidgetSize' />
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 459: Line 546:
** kNormalWidgetSize
** kNormalWidgetSize
** kBigWidgetSize
** kBigWidgetSize
* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 470: Line 557:
===== Example =====
===== Example =====


<pre>&lt;widget name = 'SmallButton'
<syntaxhighlight lang="xml">
<widget name = 'SmallButton'
         size = '128, 18'
         size = '128, 18'
/&gt;</pre>
/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


A global widget definition is a parser-exclusive alias for the layout properties of a specific widget. For instance, the definition of a global widget named <tt>Slider</tt> with certain size properties will allow you to specify <tt>Slider</tt> as a Widget type when adding widgets to a Dialog, and that widget will inherit the size properties defined in this global definition. For more information, please check the documentation on <tt>&lt;widget&gt;</tt> (''local widget definition'').
A global widget definition is a parser-exclusive alias for the layout properties of a specific widget. For instance, the definition of a global widget named <tt>Slider</tt> with certain size properties will allow you to specify <tt>Slider</tt> as a Widget type when adding widgets to a Dialog, and that widget will inherit the size properties defined in this global definition. For more information, please check the documentation on <tt>&lt;widget&gt;</tt> (''local widget definition'').


<pre>&lt;dialog name = 'SampleDialog' overlays = 'screen'&gt;
<syntaxhighlight lang="xml">
     &lt;layout type = 'vertical' ...&gt;
<dialog name = 'SampleDialog' overlays = 'screen'>
     <layout type = 'vertical' ...>


     /*   
     /*   
Line 485: Line 576:
         automaticall inherits its size
         automaticall inherits its size
     */
     */
         &lt;widget name = 'A.Sample.Button'
         <widget name = 'A.Sample.Button'
                 type = 'SmallButton'
                 type = 'SmallButton'
         /&gt;
         />


         ...
         ...
     &lt;/layout&gt;
     </layout>
&lt;/dialog&gt;</pre>
</dialog>
</syntaxhighlight>
 
Because of this, there are no unique identifiers for Widget names. You may give them any alias (since these aliases are only queried by your own layout definition, inside the parser). However, for added customization, the Theme Renderer will also poll a few unique Global Widget names for their layout information:
Because of this, there are no unique identifiers for Widget names. You may give them any alias (since these aliases are only queried by your own layout definition, inside the parser). However, for added customization, the Theme Renderer will also poll a few unique Global Widget names for their layout information:


Line 507: Line 600:
* <tt>size [int, int]</tt>: Width and height of the widget. You may use previously declared <tt>def</tt>s or builtin constants instead of integers.
* <tt>size [int, int]</tt>: Width and height of the widget. You may use previously declared <tt>def</tt>s or builtin constants instead of integers.
* <tt>padding [int, int, int, int]</tt>: Pixel padding for Left, Right, Top and Bottom sides, respectively.
* <tt>padding [int, int, int, int]</tt>: Pixel padding for Left, Right, Top and Bottom sides, respectively.
* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 519: Line 612:
===== Example =====
===== Example =====


<pre>&lt;dialog name = 'Launcher' overlays = 'screen'&gt;
<syntaxhighlight lang="xml">
<dialog name = 'Launcher' overlays = 'screen'>
     ...
     ...
&lt;/dialog&gt;
</dialog>


&lt;dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'&gt;
<dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'>
     ...
     ...
&lt;/dialog&gt;</pre>
</dialog>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 559: Line 655:
* <tt>ScummSaveLoad</tt>: Save/Load menu for SCUMM based games.
* <tt>ScummSaveLoad</tt>: Save/Load menu for SCUMM based games.
* <tt>ScummHelp</tt>: Help menu for SCUMM based games.
* <tt>ScummHelp</tt>: Help menu for SCUMM based games.
* <tt>KeyMapper</tt>: Dialog for mapping keys.
===== Properties =====
===== Properties =====


Line 572: Line 671:
* <tt>enabled [bool]</tt>: Sets whether this dialog is enabled. Defaults always to true. May be used to disable dialogs on certain resolutions.
* <tt>enabled [bool]</tt>: Sets whether this dialog is enabled. Defaults always to true. May be used to disable dialogs on certain resolutions.
* <tt>inset [int]</tt>: Sets the inset value for Screen and Dialog overlays (the amount by which the new dialog is contracted).
* <tt>inset [int]</tt>: Sets the inset value for Screen and Dialog overlays (the amount by which the new dialog is contracted).
* <tt>resolution [int x int]</tt>: Load only on a given resolution. See resolution-dependant keys.
* <tt>resolution [[x|y][<|>]int]</tt>: Load only on a given resolution. See resolution-dependant keys.


-----
-----
Line 584: Line 683:
===== Example =====
===== Example =====


<pre>&lt;layout type = 'vertical' center = 'true' padding = '23, 23, 8, 23'&gt;
<syntaxhighlight lang="xml">
<layout type = 'vertical' center = 'true' padding = '23, 23, 8, 23'>
     ...
     ...
&lt;/layout&gt;</pre>
</layout>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 615: Line 717:
===== Example =====
===== Example =====


<pre>&lt;dialog name = 'GameOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'&gt;
<syntaxhighlight lang="xml">
     &lt;layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'&gt;
<dialog name = 'GameOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'>
         &lt;widget name = 'EnableTabCheckbox' type = 'Checkbox' /&gt;
     <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
         &lt;import layout = 'Dialog.GlobalOptions_Audio' /&gt;
         <widget name = 'EnableTabCheckbox' type = 'Checkbox' />
     &lt;/layout&gt;
         <import layout = 'Dialog.GlobalOptions_Audio' />
&lt;/dialog&gt;</pre>
     </layout>
</dialog>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 641: Line 746:
===== Example =====
===== Example =====


<pre>&lt;widget name = 'StartButton' type = 'Button'/&gt;
<syntaxhighlight lang="xml">
&lt;space size = '16' /&gt;
<widget name = 'StartButton' type = 'Button'/>
&lt;widget name = 'AddGameButton' type = 'Button' /&gt;</pre>
<space size = '16' />
<widget name = 'AddGameButton' type = 'Button' />
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 652: Line 760:
Space keys may be optionally left without a <tt>size</tt> property: The space will automatically expand itself to fill all the remaining space inside the layout. This may be used to align widgets on the further side of a layout.
Space keys may be optionally left without a <tt>size</tt> property: The space will automatically expand itself to fill all the remaining space inside the layout. This may be used to align widgets on the further side of a layout.


<pre>&lt;layout type = 'horizontal' ...&gt;
<syntaxhighlight lang="xml">
<layout type = 'horizontal' ...>
     /** Add a button on the left */
     /** Add a button on the left */
     &lt;widget name = 'Button1' type = 'Button'/&gt;
     <widget name = 'Button1' type = 'Button'/>


     /** The space without size value will expand to fill all the layout */
     /** The space without size value will expand to fill all the layout */
     &lt;space/&gt;
     <space/>


     /** Add another button: */
     /** Add another button: */
     &lt;widget name = 'Button2' type = 'Button'/&gt;
     <widget name = 'Button2' type = 'Button'/>
     /** Since the space had filled the layout, this new button shrinks the
     /** Since the space had filled the layout, this new button shrinks the
         space by the button's width; hence Button2 is now aligned to the right */
         space by the button's width; hence Button2 is now aligned to the right */
&lt;/layout&gt;</pre>
</layout>
</syntaxhighlight>
 
===== Properties =====
===== Properties =====


Line 674: Line 785:
Parent: <tt>&lt;layout&gt;</tt><br />
Parent: <tt>&lt;layout&gt;</tt><br />
Children: -<br />
Children: -<br />
Properties: <tt>name</tt> (''required''), <tt>width</tt>, <tt>height</tt>, <tt>type</tt>, <tt>enabled</tt>
Properties: <tt>name</tt> (''required''), <tt>width</tt>, <tt>height</tt>, <tt>type</tt>, <tt>enabled</tt>, <tt>textalign</tt>


===== Example =====
===== Example =====


<pre>&lt;widget name = 'AddGameButton'  
<syntaxhighlight lang="xml">
<widget name = 'AddGameButton'  
         width = '95'
         width = '95'
         height = 'Globals.Button.Height'  
         height = 'Globals.Button.Height'  
/&gt;
>
&lt;widget name = 'AboutButton'  
<widget name = 'AboutButton'  
         type = 'Button'  
         type = 'Button'  
/&gt;</pre>
/>
</syntaxhighlight>
 
===== Description =====
===== Description =====


Line 693: Line 807:
===== GUI Widget Distribution =====
===== GUI Widget Distribution =====


This is a list of all the Widget definitions which are expected by the Theme engine, inside each of the Dialogs of the GUI:
For a complete list of all the Widget definitions which are expected by the Theme engine, see <tt>scummmodern_layout.stx</tt> file in <tt>scummmodern</tt> theme.
 
* <tt>Dialog.Launcher</tt>:
** <tt>Dialog.Launcher.Version</tt>
** <tt>Dialog.Launcher.Logo</tt>
** <tt>Dialog.Launcher.GameList</tt>
** <tt>Dialog.Launcher.StartButton</tt>
** <tt>Dialog.Launcher.AddGameButton</tt>
** <tt>Dialog.Launcher.EditGameButton</tt>
** <tt>Dialog.Launcher.RemoveGameButton</tt>
** <tt>Dialog.Launcher.OptionsButton</tt>
** <tt>Dialog.Launcher.AboutButton</tt>
** <tt>Dialog.Launcher.QuitButton</tt>
* <tt>Dialog.Browser</tt>:
** <tt>Dialog.Browser.Choose</tt>
** <tt>Dialog.Browser.Cancel</tt>
** <tt>Dialog.Browser.Up</tt>
** <tt>Dialog.Browser.List</tt>
** <tt>Dialog.Browser.Path</tt>
** <tt>Dialog.Browser.Headline</tt>
* <tt>Dialog.GlobalOptions</tt>:
** <tt>Dialog.GlobalOptions.Ok</tt>
** <tt>Dialog.GlobalOptions.Cancel</tt>
** <tt>Dialog.GlobalOptions.TabWidget</tt>
* <tt>Dialog.GlobalOptions_Graphics</tt>:
** <tt>Dialog.GlobalOptions_Graphics.grModePopup</tt>
** <tt>Dialog.GlobalOptions_Graphics.grRenderPopup</tt>
** <tt>Dialog.GlobalOptions_Graphics.grAspectCheckbox</tt>
** <tt>Dialog.GlobalOptions_Graphics.grFullScreenCheckbox</tt>
* <tt>Dialog.GlobalOptions_Audio</tt>:<tt>-</tt>Dialog.GlobalOptions_Audio.auMidiPopup<tt>-</tt>Dialog.GlobalOptions_Audio.auSampleRatePopup<tt>-</tt>Dialog.GlobalOptions_Audio.subToggleDesc<tt>-</tt>Dialog.GlobalOptions_Audio.subToggleButton<tt>-</tt>Dialog.GlobalOptions_Audio.subSubtitleSpeedSlider<tt>-</tt>Dialog.GlobalOptions_Audio.subSubtitleSpeedDesc<tt>-</tt>Dialog.GlobalOptions_Audio.subSubtitleSpeedLabel`
* <tt>Dialog.GlobalOptions_Volume</tt>:
** <tt>Dialog.GlobalOptions_Volume.vcMusicText</tt>
** <tt>Dialog.GlobalOptions_Volume.vcMusicSlider</tt>
** <tt>Dialog.GlobalOptions_Volume.vcMusicLabel</tt>
** <tt>Dialog.GlobalOptions_Volume.vcSfxText</tt>
** <tt>Dialog.GlobalOptions_Volume.vcSfxSlider</tt>
** <tt>Dialog.GlobalOptions_Volume.vcSfxLabel</tt>
** <tt>Dialog.GlobalOptions_Volume.vcSpeechText</tt>
** <tt>Dialog.GlobalOptions_Volume.vcSpeechLabel</tt>
** <tt>Dialog.GlobalOptions_Volume.vcSpeechSlider</tt>
* <tt>Dialog.GlobalOptions_MIDI</tt>:
** <tt>Dialog.GlobalOptions_MIDI.mcFontButton</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcFontClearButton</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcFontPath</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcMixedCheckbox</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcMt32Checkbox</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcGSCheckbox</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcMidiGainText</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcMidiGainSlider</tt>
** <tt>Dialog.GlobalOptions_MIDI.mcMidiGainLabel</tt>
* <tt>Dialog.GlobalOptions_Paths</tt>:
** <tt>Dialog.GlobalOptions_Paths.SaveButton</tt>
** <tt>Dialog.GlobalOptions_Paths.SavePath</tt>
** <tt>Dialog.GlobalOptions_Paths.ThemeButton</tt>
** <tt>Dialog.GlobalOptions_Paths.ThemePath</tt>
** <tt>Dialog.GlobalOptions_Paths.ExtraButton</tt>
** <tt>Dialog.GlobalOptions_Paths.ExtraPath</tt>
* <tt>Dialog.GlobalOptions_Misc</tt>:
** <tt>Dialog.GlobalOptions_Misc.ThemeButton</tt>
** <tt>Dialog.GlobalOptions_Misc.CurTheme</tt>
** <tt>Dialog.GlobalOptions_Misc.AutosavePeriod</tt>
* <tt>Dialog.GameOptions</tt>:
** <tt>Dialog.GameOptions.Ok</tt>
** <tt>Dialog.GameOptions.Cancel</tt>
** <tt>Dialog.GameOptions.TabWidget</tt>
* <tt>Dialog.GameOptions_Graphics</tt>:
** <tt>Dialog.GameOptions_Graphics.EnableTabCheckbox</tt>
** ''All widgets from'' <tt>Dialog.GlobalOptions_Graphics</tt>
* <tt>Dialog.GameOptions_Audio</tt>:
** <tt>Dialog.GameOptions_Graphics.EnableTabCheckbox</tt>
** ''All widgets from'' <tt>Dialog.GlobalOptions_Audio</tt>
* <tt>Dialog.GameOptions_Volume</tt>:
** <tt>Dialog.GameOptions_Graphics.EnableTabCheckbox</tt>
** ''All widgets from'' <tt>Dialog.GlobalOptions_Volume</tt>
* <tt>Dialog.GameOptions_MIDI</tt>:
** <tt>Dialog.GameOptions_Graphics.EnableTabCheckbox</tt>
** ''All widgets from'' <tt>Dialog.GlobalOptions_MIDI</tt>
* <tt>Dialog.GameOptions_Game</tt>:
** <tt>Dialog.GameOptions_Game.Id</tt>
** <tt>Dialog.GameOptions_Game.Domain</tt>
** <tt>Dialog.GameOptions_Game.Name</tt>
** <tt>Dialog.GameOptions_Game.Desc</tt>
** <tt>Dialog.GameOptions_Game.Lang</tt>
** <tt>Dialog.GameOptions_Game.Platform</tt>
* <tt>Dialog.GameOptions_Paths</tt>:
** <tt>Dialog.GameOptions_Paths.Savepath</tt>
** <tt>Dialog.GameOptions_Paths.SavepathText</tt>
** <tt>Dialog.GameOptions_Paths.Extrapath</tt>
** <tt>Dialog.GameOptions_Paths.ExtrapathText</tt>
** <tt>Dialog.GameOptions_Paths.Gamepath</tt>
** <tt>Dialog.GameOptions_Paths.GamepathText</tt>
* <tt>Dialog.ScummMain</tt>:
** <tt>Dialog.ScummMain.Resume</tt>
** <tt>Dialog.ScummMain.Save</tt>
** <tt>Dialog.ScummMain.Options</tt>
** <tt>Dialog.ScummMain.Help</tt>
** <tt>Dialog.ScummMain.About</tt>
** <tt>Dialog.ScummMain.Quit</tt>
* <tt>Dialog.ScummConfig</tt>:
** <tt>Dialog.ScummConfig.Cancel</tt>
** <tt>Dialog.ScummConfig.Ok</tt>
** <tt>Dialog.ScummConfig.subSubtitleSpeedDesc</tt>
** <tt>Dialog.ScummConfig.subSubtitleSpeedSlider</tt>
** <tt>Dialog.ScummConfig.subSubtitleSpeedLabel</tt>
** <tt>Dialog.ScummConfig.subToggleDesc</tt>
** <tt>Dialog.ScummConfig.subToggleButton</tt>
** <tt>Dialog.ScummConfig.vcSpeechText</tt>
** <tt>Dialog.ScummConfig.vcSpeechSlider</tt>
** <tt>Dialog.ScummConfig.vcSpeechLabel</tt>
** <tt>Dialog.ScummConfig.vcSfxText</tt>
** <tt>Dialog.ScummConfig.vcSfxSlider</tt>
** <tt>Dialog.ScummConfig.vcSfxLabel</tt>
** <tt>Dialog.ScummConfig.vcMusicText</tt>
** <tt>Dialog.ScummConfig.vcMusicSlider</tt>
** <tt>Dialog.ScummConfig.vcMusicLabel</tt>
* <tt>Dialog.ScummSaveLoad</tt>:
** <tt>Dialog.ScummSaveLoad.Choose</tt>
** <tt>Dialog.ScummSaveLoad.Cancel</tt>
** <tt>Dialog.ScummSaveLoad.Thumbnail</tt>
** <tt>Dialog.ScummSaveLoad.List</tt>
* <tt>Dialog.ScummHelp</tt>:
** <tt>Dialog.ScummHelp.Prev</tt>
** <tt>Dialog.ScummHelp.Next</tt>
** <tt>Dialog.ScummHelp.Close</tt>
** <tt>Dialog.ScummHelp.HelpText</tt>
** <tt>Dialog.ScummHelp.Title</tt>
Note that this list uses the full, internal names of each Widget, for reference reasons. When defining the widget called <tt>Dialog.ScummConfig.vcSfxLabel</tt>, the value of the <tt>name</tt> key must be <tt>vcSfxLabel</tt>, but such key must obviously be contained inside the <tt>ScummConfig</tt> dialog.


===== Properties =====
===== Properties =====
Line 828: Line 816:
* <tt>type [string]</tt>: Global Widget Definition from which this widget will inherit its properties.
* <tt>type [string]</tt>: Global Widget Definition from which this widget will inherit its properties.
* <tt>enabled [bool]</tt>: Sets whether this widget is enabled. Defaults always to true. May be used to disable widgets on certain resolutions.
* <tt>enabled [bool]</tt>: Sets whether this widget is enabled. Defaults always to true. May be used to disable widgets on certain resolutions.
* <tt>textalign [string]</tt>: Sets horizontal alignment of text on this widget. Allowed values are <tt>left</tt>, <tt>right</tt> and <tt>center</tt>. Default value is <tt>left</tt>.
TrustedUser
2,147

edits

Navigation menu