getMacroProps: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Added MacroFunction template and Metamacro Function category)
No edit summary
 
(20 intermediate revisions by 12 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, tokenRef)
[h: getMacroProps(index, delim)]
getMacroProps(index, delim, tokenRef, mapRef)
</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|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|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'''
'''Macro Buttons Properties Returned'''
* autoExec - true/false - Will the macro be automatically executed when the button is clicked on.
* {{code|metadata}} - A [[JSON Object]] holding the metadata key/value pairs for the macro.
* color - The name of the color for the button.
** {{code|uuid}} -  
* fontColor - The name of the font color for the button.
** {{code|commandChecksum}} -  
* includeLabel - true/false - Will the label be output when the button is clicked.
** {{code|propsChecksum}} -  
* group - The name of the group that the button is in.
* See {{func|createMacro}} for a list of all other properties.
* sortBy - The sort by value of the macro button.
|changes=
* index - The index of the button.
{{change|1.3b49|Added {{code|json}} delimiter option.}}
* label - the lavle of the button.
{{change|1.3b51|Added optional token {{code|id}} parameter.}}
* fontSize - The size of the font for the button.
{{change|1.3b53|Added state of Macro Commonality settings under ''compare'' in JSON output.}}
* minWidth - the minimum width of the button.
{{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