getMacroProps: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(15 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{stub|Examples}}
{{MacroFunction
{{MacroFunction
|name=getMacroProps
|name=getMacroProps
|version=1.3b48
|version=1.3b48
|description=
|description=
Returns a property list of the properties for a [[macro button]] for the [[Token:Current Token|Current Token]]. You can retrieve the index of a [[macro button]] with the [[Macros:Functions:getMacroIndexes|getMacroIndexes()]] function.The type of the value returned depends on the delimiter parameter.  
Returns a property list of the properties for a [[Macro_Button|macro button]] for the [[Current Token]]. You can retrieve the index of a [[Macro_Button|macro button]] with the [[getMacroIndexes|getMacroIndexes()]] or [[getMacroButtonIndex|getMacroButtonIndex()]] function. The type of the value returned depends on the delimiter parameter.  


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
getMacroProps(label)
</source>
<source lang="mtmacro" line>
getMacroProps(index)
getMacroProps(index)
</source>
<source lang="mtmacro" line>
getMacroProps(label, delim)
</source>
<source lang="mtmacro" line>
getMacroProps(index, delim)
getMacroProps(index, delim)
</source>
getMacroProps(index, delim, tokenRef)
<source lang="mtmacro" line>
getMacroProps(index, delim, tokenRef, mapRef)
getMacroProps(label, delim, id)
</syntaxhighlight>
</source>
<source lang="mtmacro" line>
getMacroProps(index, delim, id)
</source>
'''Parameters'''
'''Parameters'''
{{param|label|The label for the macro button. If you specify a label then '''all''' [[macro buttons]] on the [[Token:token|token]] that have that label will be returned.}}
{{param|index|The index of the [[Macro_Button|macro button]].}}
{{param|index|The index of the [[macro button]].}}
{{param|delim|The delimiter used to separate the values in the  [[Macros:string property list|string property list]] which defaults to {{code|";"}} if not specified. This function returns a [[JSON Object]] if {{code|"json"}} is specified.}}
{{param|delim|The delimiter used to separate the values in the  [[Macros:string property list|string property list]] which defaults to {{code|";"}} if not specified. This function returns a [[JSON object]] if {{code|"json"}} is specified.}}
{{param|tokenRef|Either the token [[getSelected|{{code|id}}]] or [[getTokenName|Token Name]] of the token that the function is executed on. From v1.15, accepts "campaign" and "gm" as ids for the relevant panels.{{TrustedParameter}} }}
{{param|id|The token {{code|id}} of the token that the function is executed on. {{TrustedParameter}} }}
{{param|mapRef|The Name or ID of the map to find the token. Defaults to the current map.}}
 
{{Note|Token IDs are unique, but Token Names can be duplicated. Using Token Name when more than one token has the same name can produce unexpected results.}}
'''Valid Properties for Macro Buttons'''
* {{code|applyToSelected}} - Should the macro be applied to the selected tokens.
* {{code|autoExec}} - If the macro will be automatically executed when the button is clicked, accepts {{true}} or {{false}}.
* {{code|color}} - The name of the color for the button.
* {{code|command}} - The command for the macro (only when using JSON version of function).
* {{code|fontColor}} - The name of the font color for the button.
* {{code|fontSize}} - The size of the font for the button.
* {{code|includeLabel}} - If the label will be output when the button is clicked. Accepts {{true}} or {{false}}.
* {{code|group}} - The name of the group that the button belongs to.
* index - The index of the button.
* {{code|sortBy}} - The sort by value of the macro button.
* {{code|label}} - The label for the button.
* {{code|maxWidth}} - The maximum width of the button.
* {{code|minWidth}} - The minimum width of the button.
* {{code|playerEditable}} - Is the button player editable, accepts {{true}} or {{false}}.
* {{code|tooltip}} - The tool tip for the macro button.
* {{code|compare}} - Takes a [[JSON array]] which can contain one or more of the following keywords (only usable with JSON version of the function).
** {{code|applyToSelected}} - Use the macro applyToSelected for common macro comparisons.
** {{code|autoExec}} - Use the macro autoExec for common macro comparisons.
** {{code|command}} - Use the macro command for common macro comparisons.
** {{code|group}} - Use the macro group for common macro comparisons.
** {{code|includeLabel}} - Use the macro includeLabel for common macro comparisons.
** {{code|sortPrefix}} - Use the macro sortPrefix for common macro comparisons.


'''Macro Buttons Properties Returned'''
* {{code|metadata}} - A [[JSON Object]] holding the metadata key/value pairs for the macro.
** {{code|uuid}} -
** {{code|commandChecksum}} -
** {{code|propsChecksum}} -
* See {{func|createMacro}} for a list of all other properties.
|changes=
|changes=
{{change|1.3b49|Added {{code|json}} delimiter option.}}
{{change|1.3b49|Added {{code|json}} delimiter option.}}
{{change|1.3b51|Added optional token {{code|id}} parameter.}}
{{change|1.3b51|Added optional token {{code|id}} parameter.}}
{{change|1.3b53|Added ability for {{code|command}}, {{code|compare}}, {{code|playerEditable}}, {{code|applyToSelected}}, {{code|autoExec}}, {{code|group}}, and {{code|tooltip}} parameters.}}
{{change|1.3b53|Added state of Macro Commonality settings under ''compare'' in JSON output.}}
{{change|1.5.7|Added metadata to JSON output.}}
{{change|1.5.11|Added {{code|mapname}} parameter option.}}
{{change|1.15|Addition of "gm" and "campaign" options for id}}
}}
}}
[[Category:Metamacro Function]]
[[Category:Metamacro Function]]

Latest revision as of 23:59, 13 May 2024

 This article is a stub, you can help the RPTools Wiki project by contributing content to expand this article.
 This article needs: Examples

getMacroProps() Function

Introduced in version 1.3b48
Returns a property list of the properties for a macro button for the Current Token. You can retrieve the index of a macro button with the getMacroIndexes() or getMacroButtonIndex() function. The type of the value returned depends on the delimiter parameter.

Usage

getMacroProps(index)
getMacroProps(index, delim)
getMacroProps(index, delim, tokenRef)
getMacroProps(index, delim, tokenRef, mapRef)

Parameters

  • index - The index of the macro button.
  • delim - The delimiter used to separate the values in the string property list which defaults to ";" if not specified. This function returns a JSON Object if "json" is specified.
  • tokenRef - Either the token id or Token Name of the token that the function is executed on. From v1.15, accepts "campaign" and "gm" as ids for the relevant panels.

     Note: This parameter can only be used in a Trusted Macro

  • mapRef - The Name or ID of the map to find the token. Defaults to the current map.
Token IDs are unique, but Token Names can be duplicated. Using Token Name when more than one token has the same name can produce unexpected results.


Macro Buttons Properties Returned

  • metadata - A JSON Object holding the metadata key/value pairs for the macro.
    • uuid -
    • commandChecksum -
    • propsChecksum -
  • See createMacro() for a list of all other properties.


Version Changes

  • 1.3b49 - Added json delimiter option.
  • 1.3b51 - Added optional token id parameter.
  • 1.3b53 - Added state of Macro Commonality settings under compare in JSON output.
  • 1.5.7 - Added metadata to JSON output.
  • 1.5.11 - Added mapname parameter option.
  • 1.15 - Addition of "gm" and "campaign" options for id