getMacroProps: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
(Added "changes" section)
mNo edit summary
 
(17 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{stub|Examples}}
{{MacroFunction
{{MacroFunction
|name=getMacroProps
|name=getMacroProps
|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.  
* If the delimiter is not specified then a [[Macros:string propert list|string propert list]] is returned with the default value of 'l' is used.
* If the delimiter ''"json"'' then a [[Macros:json object|json object]] is returned. '''(as of MapTool 1.3b49)'''
* Otherwise a [[Macros:string property list|string property list]] is returned with the delimiter passed in.


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[h: getMacroProps(label)]
getMacroProps(index)
[h: getMacroProps(index)]
getMacroProps(index, delim)
[h: getMacroProps(label, delim)]
getMacroProps(index, delim, id)
[h: getMacroProps(index, delim)]
getMacroProps(index, delim, id, mapname)
</source>
</syntaxhighlight>
Where
'''Parameters'''
* label is 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 updated.
{{param|index|The index of the [[Macro_Button|macro button]].}}
* index is 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.}}
* delim is the delimiter used to separate the values in the  [[Macros:string property list|string property list]] which defaults to ';' if not specified.
{{param|id|The token {{code|id}} of the token that the function is executed on. From v1.15, accepts "campaign" and "gm" as ids for the relevant panels.{{TrustedParameter}} }}
 
{{param|mapname|The name of the map to find the token. Defaults to the current map.}}
'''Valid Properties for Macro Buttons'''
* autoExec - true/false - Will the macro be automatically executed when the button is clicked on.
* color - The name of the color for the button.
* fontColor - The name of the font color for the button.
* includeLabel - true/false - Will the label be output when the button is clicked.
* group - The name of the group that the button is in.
* sortBy - The sort by value of the macro button.
* index - The index of the button.
* label - the lavle of the button.
* fontSize - The size of the font for the button.
* minWidth - the minimum width of the button.


'''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=
* '''1.3.b49''' - getMacroProps() will return a [[JSON object]] if the delim argument is 'json'
{{change|1.3b49|Added {{code|json}} delimiter option.}}
{{change|1.3b51|Added optional token {{code|id}} parameter.}}
{{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 05:15, 17 March 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, id)
getMacroProps(index, delim, id, mapname)

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.
  • id - The token id 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

  • mapname - The name of the map to find the token. Defaults to the current map.

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