getMacroProps: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(22 intermediate revisions by 12 users not shown)
Line 1: Line 1:
==Function getMacroProps==
{{stub|Examples}}
{{MacroFunction
|name=getMacroProps
|version=1.3b48
|description=
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=
<syntaxhighlight lang="mtmacro" line>
getMacroProps(index)
getMacroProps(index, delim)
getMacroProps(index, delim, tokenRef)
getMacroProps(index, delim, tokenRef, mapRef)
</syntaxhighlight>
'''Parameters'''
{{param|index|The index of the [[Macro_Button|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|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.}}


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.  
'''Macro Buttons Properties Returned'''
* 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.
* {{code|metadata}} - A [[JSON Object]] holding the metadata key/value pairs for the macro.
* If the delimiter ''"json"'' then a [[Macros:json object|json object]] is returned. '''(as of MapTool 1.3b49)'''
** {{code|uuid}} -
* Otherwise a [[Macros:string property list|string property list]] is returned with the delimiter passed in.
** {{code|commandChecksum}} -
 
** {{code|propsChecksum}} -
===Usage===
* See {{func|createMacro}} for a list of all other properties.
<source lang="mtmacro" line>
|changes=
[h: getMacroProps(label)]
{{change|1.3b49|Added {{code|json}} delimiter option.}}
[h: getMacroProps(index)]
{{change|1.3b51|Added optional token {{code|id}} parameter.}}
[h: getMacroProps(label, delim)]
{{change|1.3b53|Added state of Macro Commonality settings under ''compare'' in JSON output.}}
[h: getMacroProps(index, delim)]
{{change|1.5.7|Added metadata to JSON output.}}
</source>
{{change|1.5.11|Added {{code|mapname}} parameter option.}}
Where
{{change|1.15|Addition of "gm" and "campaign" options for id}}
* 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.
}}
* index is the index of the [[macro button]].
[[Category:Metamacro Function]]
* delim is the delimiter used to separate the values in the  [[Macros:string property list|string property list]] which defaults to ';' if not specified.
 
'''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.

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