Bootstrap Chameleon Logo

TA Python ChameleonData API

ChameleonData is the key communication channel between UI widget and python code. Python code can get and set widget content throught it.

if you want more Editor Python API, for instance open Confirm Dialog, pop up Notification. Use Extented PythonEditorLib.

For instance: In MinimalExample, change the text content

    self.data.set_text(self.ui_output, "Clicked {} times".format(self.clickCount))

ChameleonData

Function Name Description
get_context_strings None
set_visibility Set the widget's visibility
get_visibility Get the widget's visibility
set_collapsed Set the widget's visibility collapsed or not.
set_image_data Set SImage's Image content with Raw data.(R, G, B, A:uint8)
set_image_data_base64 Set SImage's Image content with Base64 string.
set_image_data_from_memory Set SImage's Image content with memory address.
set_image_data_from_texture2d Set SImage's Image content with Texture2D.
set_image_pixels Set SImage's Image content with Linear Colors.
set_image_from_path Set SImage's Image content from local path the resource folder of this plug-in.
set_image_from Set SImage's Image content with Linear Colors.
set_desired_size_override Set SImage's Brush Size.
set_text Set the text of widget:
get_text Get the text of widget.
set_text_read_only Set the text of widget Read Only or not.
set_int_value Set integer value to widget: SSpinBox.
get_int_value Get integer value from widget: SSpinBox.
set_float_value Set integer value to widget: SSpinBox.
get_float_value Get integer value from widget: SSpinBox.
set_dpi_scale Set the DPI scale value of SDPIScaler
get_all_akas Get the Slate path of widget.
get_widget_path_from_aka Return the current widget path of the named widget.
set_color_and_opacity Set widget's color and opacity.
set_button_color_and_opacity Set SButton's color and opacity.
get_is_checked Get the Checked state of Specified SCheckBox
set_is_checked Set the Checked state of Specified SCheckBox
set_combo_box_items Set SComboBox's content list.
get_combo_box_items Get SComboBox's content list.
get_combo_box_selected_item Get the selection of SComboBox.
set_combo_box_selected_item Set the selection of SComboBox.
set_list_view_items Set items for specified SListView.
get_list_view_items Get items from specified SListView.
set_list_view_selections Set the selections of SListView.
set_list_view_multi_column_selections Set the selections of SListView.
get_list_view_multi_column_items Get the source items from specified MultiColumn SListView.
get_list_view_multi_column_selection Get the selected indices of Slistview.
set_list_view_multi_column_items Set the source items to specified MultiColumn SListView.
set_list_view_multi_column_line Set one line items to specified MultiColumn SListView.
set_tree_view_items Set the source items of SListView.
get_tree_view_items Set the source items of SListView.
push_breadcrumb_string Set item to SBreadcrumbTrail.
pop_breadcrumb_string Pop a item from SBreadcrumbTrail.
clear_breadcrumbs_string Clear all items from SBreadcrumbTrail.
get_breadcrumbs_count_string Get items's count from SBreadcrumbTrail.
set_grid_panel_column_fill Set the ColumnFill value of SGridPanel.
add_column Add a column to SHeaderRow
set_column_lable Set the label of SHeaderRow
set_progress_bar_percent Set the Percent of SProgressBar
set_tool_tip_text Set the ToolTip Text of Widget
get_scroll_box_offsets Get the Offset, ScrollOffsetOfEnd, ViewFraction, ViewOffsetFraction values in Map.
set_scroll_box_offset Set the Offset Text of ScrollBox
scroll_to Scroll to the Line Inex in SMultiLineEditableTextBox widget
request_close Request close specified chameleon tools.
launch_chameleon_tool Launch specified chameleon tools.
get_is_expanded Get the Expanded state of Specified SExpandableArea
set_is_expanded Set the Expanded state of Specified SExpandableArea
set_min_aspect_ratio Set the MinAspectRatio of SBox
set_max_aspect_ratio Set the MaxAspectRatio of SBox
set_object Set the showing object of SDetailsView
get_chameleon_window_size Get the window size of the Chameleon Tool
get_chameleon_desired_size Get the desired size of the Chameleon Tool
get_top_scroll_box_offsets Get the Offset, ScrollOffsetOfEnd, ViewFraction, ViewOffsetFraction values in Map from the top ScrollBox of Chameleon Tool
set_chameleon_window_size Set the window size of the Chameleon Tool
get_chameleon_window_position Get the window position of the Chameleon Tool
set_chameleon_window_position Set the window position of the Chameleon Tool
flash_chameleon_window Flash the Chameleon Tool
snapshot_chameleon_window Snapshot the chameleon Window, and save it to an image file. This function can save the whole UI, even it is bigger than the screen. or in a ScrollBox
snapshot_sketch Snapshot the Sketch Window, and save it to an image file.
set_color Set color of the specified SColorBlock Widget
load_url Load the specified URL in SWebBrowser widget.
get_url Gets the currently loaded URL.
load_page_from_string Load a string as data to create a web page in SWebBrowser widget.
reload_page Reload the current page in SWebBrowser.
stop_load_page Stop loading the page in SWebBrowser.
get_title_text_of_page Get the current title of the web page.
is_page_loaded Whether the document finished loading.
is_page_loading Whether the document is currently being loaded.
can_go_back Returns true if the browser can navigate backwards.
go_back Navigate backwards.
can_go_forward Returns true if the browser can navigate forwards.
go_forward Navigate forwards..
bind_uobject_to_browser Expose a UObject instance to the browser runtime. Properties and Functions will be accessible from JavaScript side.
unbind_uobject_to_browser Remove an existing script binding registered by BindUObject. Properties and Functions will be accessible from JavaScript side.
modal_window Launch specified Modal window tools.
request_close_modal_window Request close specified Modal Window.
set_content_from_json Set sub widget through the content of the JSON string. It's for the widget which has only one child.
append_slot_from_json Add a child widget through the content of the JSON string. It's for the widget which has 'Slots'.
insert_slot_from_json Add a child widget at Specified slot through the content of the JSON string.
remove_widget_at Remove a child widget at Specified slot or widget.
get_widget_path Get the Slate path of widget.
get_all_widgets_paths Get all widgets' paths in the current tool.
spawn_to_graph_by_class Spawn a new node in SGraphPanel.
spawn_function_to_graph Spawn a specified function of a module in SGraphPanel.
spawn_function_to_graph_with_spawner Spawn a specified function of a module in SGraphPanel through a BPFunctionSpawner.
get_graph_panel_nodes Get all nodes in SGraphPanel.
clear_graph_panel Clear all nodes in SGraphPanel.
get_graph_selected_node Get the selected nodes in SGraphPanel.
get_graph_panel_content_as_json Get the content of SGraphPanel as JSON string.
set_graph_panel_content_from_json Set the content of SGraphPanel from JSON string.

get_context_strings

data.get_context_strings() -> str
    Get Context Strings

    Returns:
        str:

set_visibility

Set the widget's visibility

data.set_visibility(aka_name, visibility_str) -> bool
    Set the widget's visibility

    Args:
        aka_name (Name): The aka name of the widget
        visibility_str (str): The Options: "Visible"/"Collapsed"/"Hidden"/"HitTestInvisible"/"SelfHitTestInvisible"

    Returns:
        bool:

get_visibility

Get the widget's visibility

data.get_visibility(aka_name) -> str
    Get the widget's visibility

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        str: The visibility of the named widget in string

set_collapsed

Set the widget's visibility collapsed or not.

data.set_collapsed(aka_name, collapsed) -> None
    Set the widget's visibility collapsed or not.

    Args:
        aka_name (Name): The aka name of the widget
        collapsed (bool): Collapsed or not, True for EVisibility::Collapsed, False for EVisibility::Visible

set_image_data

Set SImage's Image content with Raw data.(R, G, B, A:uint8)

data.set_image_data(aka_name, raw_data, width, height, channel_num=4, bgr=True, tint=[1.000000, 1.000000, 1.000000, 1.000000], tiling=SlateBrushTileType.NO_TILE) -> None
    Set SImage's Image content with Raw data.(R, G, B, A:uint8)
    note: Add zlib compressed data support in v1.2.0
    note: The order of RawData is row first. Upper left corner is the first pixel, and lower right is the last. Which is different with RenderTexture2D

    Args:
        aka_name (Name): The aka name of the widget
        raw_data (Array[uint8]): The flatten raw data of image, len(RawDataIn) == Height * Width * ChannelNum, Or use the zlib compressed data of the image
        width (int32): Width of Image.
        height (int32): Height of Image.
        channel_num (int32): Channel number of the RawData
        bgr (bool): Is the RawData Channel Order is Blue, Green, Red, (Alpha) or RGB(A)
        tint (LinearColor): The Tint of the image, default is White
        tiling (SlateBrushTileType): The Tiling of the image, default is NoTile

set_image_data_base64

Set SImage's Image content with Base64 string.

data.set_image_data_base64(aka_name, base64_string, width, height, channel_num=4, bgr=True, tint=[1.000000, 1.000000, 1.000000, 1.000000], tiling=SlateBrushTileType.NO_TILE) -> None
    Set SImage's Image content with Base64 string.

    Args:
        aka_name (Name): The aka name of the widget
        base64_string (str): The Base64 string of the image.
        width (int32): Width of Image.
        height (int32): Height of Image.
        channel_num (int32): Channel number of the image
        bgr (bool): Is the image channel order is Blue, Green, Red, (Alpha) or RGB(A)
        tint (LinearColor): The Tint of the image, default is White
        tiling (SlateBrushTileType): The Tiling of the image, default is NoTile

set_image_data_from_memory

Set SImage's Image content with memory address.

data.set_image_data_from_memory(aka_name, texture2d, length, width, height, channel_num=4, bgr=True, tint=[1.000000, 1.000000, 1.000000, 1.000000], tiling=SlateBrushTileType.NO_TILE) -> None
    Set SImage's Image content with memory address.

    Args:
        aka_name (Name): The aka name of the widget
        texture2d (int64):
        length (int64): The length of the image.
        width (int32): Width of Image.
        height (int32): Height of Image.
        channel_num (int32): Channel number of the RawData
        bgr (bool): Is the image channel order is Blue, Green, Red, (Alpha) or RGB(A)
        tint (LinearColor): The Tint of the image, default is White
        tiling (SlateBrushTileType): The Tiling of the image, default is NoTile

set_image_data_from_texture2d

Set SImage's Image content with Texture2D.

data.set_image_data_from_texture2d(aka_name, texture2d, mip_level=0, ignore_alpha=False, tint=[1.000000, 1.000000, 1.000000, 1.000000], tiling=SlateBrushTileType.NO_TILE) -> bool
    Set SImage's Image content with Texture2D.

    Args:
        aka_name (Name): The aka name of the widget
        texture2d (Texture2D): The source Texture2D
        mip_level (int32): The MipLevel of the image
        ignore_alpha (bool): Ignore the alpha channel or not.
        tint (LinearColor): The Tint of the image, default is White
        tiling (SlateBrushTileType): The Tiling of the image, default is NoTile

    Returns:
        bool:

set_image_pixels

Set SImage's Image content with Linear Colors.

data.set_image_pixels(aka_name, pixel_colors, width, height) -> None
    Set SImage's Image content with Linear Colors.

    Args:
        aka_name (Name): The aka name of the widget
        pixel_colors (Array[LinearColor]): The pixel list of image, len(PixelColors) == Height * Width
        width (int32): Width of Image.
        height (int32): Height of Image.

set_image_from_path

Set SImage's Image content from local path the resource folder of this plug-in.

data.set_image_from_path(aka_name, image_file_path, brush_width=256, brush_height=256, tint=[1.000000, 1.000000, 1.000000, 1.000000], tiling=SlateBrushTileType.NO_TILE) -> None
    Set SImage's Image content from local path the resource folder of this plug-in.
    note: The base folder is the Resources folder of this plug-in

    Args:
        aka_name (Name): The aka name of the widget
        image_file_path (str): The absolute path of the image. If a relative path is provided, it is relative to the Resource directory in the Plugin directory.
        brush_width (int32): Brush's width.
        brush_height (int32): Brush's height.
        tint (LinearColor): The Tint of the image, default is White
        tiling (SlateBrushTileType): The Tiling of the image, default is NoTile

set_image_from

Set SImage's Image content with Linear Colors.

data.set_image_from(aka_name, image_file_path, brush_width=256, brush_height=256, tint=[1.000000, 1.000000, 1.000000, 1.000000], tiling=SlateBrushTileType.NO_TILE) -> None
    Set SImage's Image content with Linear Colors.
    note: If the ImageFilePath is a relative path, it will combined with the folder of chameleon tools's JSON path.

    Args:
        aka_name (Name): The aka name of the widget
        image_file_path (str): The image path in resource folder.
        brush_width (int32): Brush's width.
        brush_height (int32): Brush's height.
        tint (LinearColor): The Tint of the image, default is White
        tiling (SlateBrushTileType): The Tiling of the image, default is NoTile

set_desired_size_override

Set SImage's Brush Size.

data.set_desired_size_override(aka_name, desired_size_override) -> None
    Set SImage's Brush Size.
    note: "DesiredSizeOverride" is alias of "BrushSize", "BrushSize" is deprecated

    Args:
        aka_name (Name): The aka name of the widget
        desired_size_override (Vector2D): The desired size of the image brush.

set_text

Set the text of widget:

data.set_text(aka_name, text) -> None
    Set the text of widget:
    note: Supported widgets: SEditableText/SEditableTextBox/SMultiLineEditableText/SMultiLineEditableTextBox/SButton etc.

    Args:
        aka_name (Name): The aka name of the widget
        text (str): The text content.

get_text

Get the text of widget.

data.get_text(aka_name) -> str or None
    Get the text of widget.
    note: Supported widgets: SEditableText/SEditableTextBox/SMultiLineEditableText/SMultiLineEditableTextBox etc.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        str or None:

        out_text (str):

set_text_read_only

Set the text of widget Read Only or not.

data.set_text_read_only(aka_name, read_only) -> None
    Set the text of widget Read Only or not.
    note: Supported widgets: SEditableText/SEditableTextBox/SMultiLineEditableText/SMultiLineEditableTextBox etc.

    Args:
        aka_name (Name): The aka name of the widget
        read_only (bool): Is Read Only

set_int_value

Set integer value to widget: SSpinBox.

data.set_int_value(aka_name, value) -> None
    Set integer value to widget: SSpinBox<int32>.
    note: Supported widgets: SSpinBox<int32>.

    Args:
        aka_name (Name): The aka name of the widget
        value (int32): The value to set.

get_int_value

Get integer value from widget: SSpinBox.

data.get_int_value(aka_name) -> int32 or None
    Get integer value from widget: SSpinBox<int32>.
    note: Supported widgets: SSpinBox<int32>.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        int32 or None: The integer value of SSpinBox

        out_text (int32):

set_float_value

Set integer value to widget: SSpinBox.

data.set_float_value(aka_name, value) -> None
    Set integer value to widget: SSpinBox<float>.
    note: Supported widgets: SSpinBox<float>.

    Args:
        aka_name (Name): The aka name of the widget
        value (float): The value to set.

get_float_value

Get integer value from widget: SSpinBox.

data.get_float_value(aka_name) -> float or None
    Get integer value from widget: SSpinBox<int32>.
    note: Supported widgets: SSpinBox<float>.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        float or None: The float value of SSpinBox

        out_text (float):

set_dpi_scale

Set the DPI scale value of SDPIScaler

data.set_dpi_scale(aka_name, value) -> bool
    Set the DPI scale value of SDPIScaler
    note: Supported widgets: SDPIScaler.

    Args:
        aka_name (Name): The aka name of the widget
        value (float): The value of DPI scale.

    Returns:
        bool:

get_all_akas

Get the Slate path of widget.

data.get_all_akas() -> Array[str]
    Get the Slate path of widget.
    note: add in v1.1

    Returns:
        Array[str]: the full path of the widget

get_widget_path_from_aka

Return the current widget path of the named widget.

data.get_widget_path_from_aka(aka_name) -> str
    Return the current widget path of the named widget.
    note: The path will change if the add or remove widget dynamically.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        str: Current widget path of the named widget.

set_color_and_opacity

Set widget's color and opacity.

data.set_color_and_opacity(aka_name, color) -> None
    Set widget's color and opacity.
    note: Supported widgets: SButton, SImage, STextBlock, SEditableText and other 18 SCompoundWidgetNames

    Args:
        aka_name (Name): The aka name of the widget
        color (LinearColor): The FLinear Color value.

set_button_color_and_opacity

Set SButton's color and opacity.

data.set_button_color_and_opacity(aka_name, color) -> None
    Set SButton's color and opacity.
    note: Supported widgets: SButton.

    Args:
        aka_name (Name): The aka name of the widget
        color (LinearColor): The FLinear Color value.

get_is_checked

Get the Checked state of Specified SCheckBox

data.get_is_checked(aka_name) -> bool
    Get the Checked state of Specified SCheckBox
    note: Supported widgets: SCheckBox.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        bool: Is Checked or not.`

set_is_checked

Set the Checked state of Specified SCheckBox

data.set_is_checked(aka_name, checked) -> None
    Set the Checked state of Specified SCheckBox
    note: Supported widgets: SCheckBox.

    Args:
        aka_name (Name): The aka name of the widget
        checked (bool): Is Checked or not.

set_combo_box_items

Set SComboBox's content list.

data.set_combo_box_items(aka_name, str_array) -> bool
    Set SComboBox's content list.
    note: Supported widgets: SComboBox.

    Args:
        aka_name (Name): The aka name of the widget
        str_array (Array[str]): The string list for SComboBox's content.

    Returns:
        bool:

get_combo_box_items

Get SComboBox's content list.

data.get_combo_box_items(aka_name) -> Array[str] or None
    Get SComboBox's content list.
    note: Supported widgets: SComboBox.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        Array[str] or None:

        out_str_array (Array[str]): The string list for SComboBox's content.

get_combo_box_selected_item

Get the selection of SComboBox.

data.get_combo_box_selected_item(aka_name) -> str or None
    Get the selection of SComboBox.
    note: Supported widgets: SComboBox.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        str or None:

        out_item (str): The current selection of SComboBox.

set_combo_box_selected_item

Set the selection of SComboBox.

data.set_combo_box_selected_item(aka_name, index) -> bool
    Set the selection of SComboBox.
    note: Supported widgets: SComboBox.

    Args:
        aka_name (Name): The aka name of the widget
        index (int32): The index of item for select.

    Returns:
        bool:

set_list_view_items

Set items for specified SListView.

data.set_list_view_items(aka_name, str_array) -> None
    Set items for specified SListView.
    note: Supported widgets: SListView.

    Args:
        aka_name (Name): The aka name of the widget
        str_array (Array[str]): The list of items.

get_list_view_items

Get items from specified SListView.

data.get_list_view_items(aka_name) -> (out_str_array=Array[str], out_item_stats=Array[int32])
    Get items from specified SListView.
    note: Supported widgets: SListView.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        tuple:

        out_str_array (Array[str]): The items source of SListView.

        out_item_stats (Array[int32]): The selection status of each items. (1 for selected)

set_list_view_selections

Set the selections of SListView.

data.set_list_view_selections(aka_name, indexes) -> None
    Set the selections of SListView.
    note: Supported widgets: SListView.

    Args:
        aka_name (str): The aka name of the widget
        indexes (Array[int32]): The indexes of selected items.

set_list_view_multi_column_selections

Set the selections of SListView.

data.set_list_view_multi_column_selections(aka_name, indexes) -> None
    Set the selections of SListView.
    note: Supported widgets: SListView.

    Args:
        aka_name (Name): The aka name of the widget
        indexes (Array[int32]): The indexes of selected items.

get_list_view_multi_column_items

Get the source items from specified MultiColumn SListView.

data.get_list_view_multi_column_items(aka_name) -> (out_str_array=Array[str], column_count=int32)
    Get the source items from specified MultiColumn SListView.
    note: Supported widgets: SListView<MultiColumn>.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        tuple:

        out_str_array (Array[str]): The flatten items list from Multi column SListView.

        column_count (int32): The number of column.

get_list_view_multi_column_selection

Get the selected indices of Slistview.

data.get_list_view_multi_column_selection(aka_name) -> Array[int32] or None
    Get the selected indices of Slistview.
    note: Supported widgets: SListView<MultiColumn>.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        Array[int32] or None: The selected indices of Slistview, Array[int32] or None

        out_selected_indices (Array[int32]):

set_list_view_multi_column_items

Set the source items to specified MultiColumn SListView.

data.set_list_view_multi_column_items(aka_name, flattened_str_array, column_count) -> None
    Set the source items to specified MultiColumn SListView.
    note: Supported widgets: SListView<MultiColumn>.

    Args:
        aka_name (Name): The aka name of the widget
        flattened_str_array (Array[str]): The flatten items list for Multi column SListView.
        column_count (int32): The number of column.

set_list_view_multi_column_line

Set one line items to specified MultiColumn SListView.

data.set_list_view_multi_column_line(aka_name, line_index, line_content_array, rebuild_list) -> None
    Set one line items to specified MultiColumn SListView.
    note: Supported widgets: SListView<MultiColumn>.

    Args:
        aka_name (Name): The aka name of the widget
        line_index (int32): The index of line.
        line_content_array (Array[str]): The content of line.
        rebuild_list (bool): Rebuild the list or not.

set_tree_view_items

Set the source items of SListView.

data.set_tree_view_items(aka_name, str_array, parent_indices) -> None
    Set the source items of SListView.
    note: Supported widgets: SListView.
    note: "TreeItemParentIndices" : [-1, 0, 0, 2, 1, 1].
    note: A
    note: |─B
    note: | └─E
    note: | └─F
    note: └─C
    note: └─D

    Args:
        aka_name (Name): The aka name of the widget
        str_array (Array[str]): Flatten list of items tree.
        parent_indices (Array[int32]): Each item's parent index

get_tree_view_items

Set the source items of SListView.

data.get_tree_view_items(aka_name) -> (out_str_array=Array[str], out_item_stats=Array[int32]) or None
    Set the source items of SListView.
    note: Supported widgets: SListView.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        tuple or None:

        out_str_array (Array[str]): Flatten list of items tree.

        out_item_stats (Array[int32]): Each item's selection status.

push_breadcrumb_string

Set item to SBreadcrumbTrail.

data.push_breadcrumb_string(aka_name, crumb_text, new_crumb_data) -> None
    Set item to SBreadcrumbTrail.
    note: Supported widgets: SBreadcrumbTrail.

    Args:
        aka_name (Name): The aka name of the widget
        crumb_text (str): New item for display .
        new_crumb_data (str): New item for push.

pop_breadcrumb_string

Pop a item from SBreadcrumbTrail.

data.pop_breadcrumb_string(aka_name) -> str
    Pop a item from SBreadcrumbTrail.
    note: Supported widgets: SBreadcrumbTrail.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        str: The Popped item.

clear_breadcrumbs_string

Clear all items from SBreadcrumbTrail.

data.clear_breadcrumbs_string(aka_name, pop_all_crumbs_to_clear=False) -> None
    Clear all items from SBreadcrumbTrail.
    note: Supported widgets: SBreadcrumbTrail.

    Args:
        aka_name (Name): The aka name of the widget
        pop_all_crumbs_to_clear (bool): Pop All Crumbs or not.

get_breadcrumbs_count_string

Get items's count from SBreadcrumbTrail.

data.get_breadcrumbs_count_string(aka_name) -> int32
    Get items's count from SBreadcrumbTrail.
    note: Supported widgets: SBreadcrumbTrail.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        int32: The number of crumbs.

set_grid_panel_column_fill

Set the ColumnFill value of SGridPanel.

data.set_grid_panel_column_fill(aka_name, index, value) -> None
    Set the ColumnFill value of SGridPanel.
    note: Supported widgets: SGridPanel.

    Args:
        aka_name (Name): The aka name of the widget
        index (int32): The index of column.
        value (float): The column fill value.

add_column

Add a column to SHeaderRow

data.add_column(aka_name, label) -> None
    Add a column to SHeaderRow
    note: Supported widgets: SHeaderRow.

    Args:
        aka_name (Name): The aka name of the widget
        label (str): The Label of new column.

set_column_lable

Set the label of SHeaderRow

data.set_column_lable(aka_name, index, label) -> None
    Set the label of SHeaderRow
    note: Supported widgets: SHeaderRow.

    Args:
        aka_name (Name): The aka name of the widget
        index (int32): The index of HeaderRow.
        label (str): The Label of column.

set_progress_bar_percent

Set the Percent of SProgressBar

data.set_progress_bar_percent(aka_name, percent) -> None
    Set the Percent of SProgressBar
    note: Supported widgets: SProgressBar.

    Args:
        aka_name (Name): The aka name of the widget
        percent (float): The Percent value.

set_tool_tip_text

Set the ToolTip Text of Widget

data.set_tool_tip_text(aka_name, tool_tip_text) -> None
    Set the ToolTip Text of Widget
    note: Supported widgets: SWidget.

    Args:
        aka_name (Name): The aka name of the widget
        tool_tip_text (str): The Tool Tip Text.

get_scroll_box_offsets

Get the Offset, ScrollOffsetOfEnd, ViewFraction, ViewOffsetFraction values in Map.

data.get_scroll_box_offsets(aka_name) -> Map[str, float]
    Get the Offset, ScrollOffsetOfEnd, ViewFraction, ViewOffsetFraction values in Map.
    note: Supported widgets: SScrollBox.

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        Map[str, float]:

set_scroll_box_offset

Set the Offset Text of ScrollBox

data.set_scroll_box_offset(aka_name, offset) -> bool
    Set the Offset Text of ScrollBox
    note: Supported widgets: SScrollBox.

    Args:
        aka_name (Name): The aka name of the widget
        offset (float): The offset value of ScrollBox

    Returns:
        bool:

scroll_to

Scroll to the Line Inex in SMultiLineEditableTextBox widget

data.scroll_to(aka_name, line_index=0, offset=0) -> bool
    Scroll to the Line Inex in SMultiLineEditableTextBox widget
    note: Supported widgets: SMultiLineEditableTextBox.

    Args:
        aka_name (Name): The aka name of the widget
        line_index (int32): LineIndex of TextLocation, max index is line count-1.  Scroll to end of document if LineIndex == -1
        offset (int32): Offset of TextLocation

    Returns:
        bool:

request_close

Request close specified chameleon tools.

unreal.ChameleonData.request_close(tools_path="") -> bool
    Request close specified chameleon tools.

    Args:
        tools_path (str): The JSON path of Chameleon tool.

    Returns:
        bool: succeed or not

launch_chameleon_tool

Launch specified chameleon tools.

unreal.ChameleonData.launch_chameleon_tool(tools_path="") -> bool
    Launch specified chameleon tools.

    Args:
        tools_path (str): The JSON path of Chameleon tool.

    Returns:
        bool: succeed or not

get_is_expanded

Get the Expanded state of Specified SExpandableArea

data.get_is_expanded(aka_name) -> bool
    Get the Expanded state of Specified SExpandableArea
    note: Supported widgets: SExpandableArea.
    note: added in v1.0.4

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        bool: Is Expanded or not.

set_is_expanded

Set the Expanded state of Specified SExpandableArea

data.set_is_expanded(aka_name, expanded, animated=False) -> None
    Set the Expanded state of Specified SExpandableArea
    note: Supported widgets: SExpandableArea.
    note: added in v1.0.4

    Args:
        aka_name (Name): The aka name of the widget
        expanded (bool): Is Expanded or not.
        animated (bool): Expanded with animation or not.

set_min_aspect_ratio

Set the MinAspectRatio of SBox

data.set_min_aspect_ratio(aka_name, min_aspect_ratio) -> None
    Set the MinAspectRatio of SBox
    note: Supported widgets: SBox.
    note: added in v1.0.11

    Args:
        aka_name (Name): The aka name of the widget
        min_aspect_ratio (float): The MinAspectRatio value.

set_max_aspect_ratio

Set the MaxAspectRatio of SBox

data.set_max_aspect_ratio(aka_name, max_aspect_ratio) -> None
    Set the MaxAspectRatio of SBox
    note: Supported widgets: SBox.
    note: added in v1.0.11

    Args:
        aka_name (Name): The aka name of the widget
        max_aspect_ratio (float): The MaxAspectRatio value.

set_object

Set the showing object of SDetailsView

data.set_object(aka_name, object) -> None
    Set the showing object of SDetailsView
    note: added in v1.0.9

    Args:
        aka_name (Name): The aka name of the widget
        object (Object): The Object for SDetailsView

get_chameleon_window_size

Get the window size of the Chameleon Tool

unreal.ChameleonData.get_chameleon_window_size(tools_path, client_size_in_screen=False) -> Vector2D
    Get the window size of the Chameleon Tool
    note: added in v1.0.8

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder. For instance, the gallery tool's path is "ChameleonGallery/ChameleonGallery.json"
        client_size_in_screen (bool): Get ClientSize or not

    Returns:
        Vector2D: The  size of window

get_chameleon_desired_size

Get the desired size of the Chameleon Tool

unreal.ChameleonData.get_chameleon_desired_size(tools_path) -> Vector2D
    Get the desired size of the Chameleon Tool
    note: added in v1.2.1

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder. For instance, the gallery tool's path is "ChameleonGallery/ChameleonGallery.json"

    Returns:
        Vector2D: The desired size of window

get_top_scroll_box_offsets

Get the Offset, ScrollOffsetOfEnd, ViewFraction, ViewOffsetFraction values in Map from the top ScrollBox of Chameleon Tool

data.get_top_scroll_box_offsets(tools_path) -> Map[str, float]
    Get the  Offset, ScrollOffsetOfEnd, ViewFraction, ViewOffsetFraction values in Map from the top ScrollBox of Chameleon Tool
    note: added in v1.0.11

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder. For instance, the gallery tool's path is "ChameleonGallery/ChameleonGallery.json"

    Returns:
        Map[str, float]: Offset, ScrollOffsetOfEnd, ViewFraction, ViewOffsetFraction values in Map.

set_chameleon_window_size

Set the window size of the Chameleon Tool

unreal.ChameleonData.set_chameleon_window_size(tools_path, new_size) -> bool
    Set the window size of the Chameleon Tool
    note: added in v1.0.8

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder. For instance, the gallery tool's path is "ChameleonGallery/ChameleonGallery.json"
        new_size (Vector2D): The new size of window

    Returns:
        bool: True if succeed

get_chameleon_window_position

Get the window position of the Chameleon Tool

unreal.ChameleonData.get_chameleon_window_position(tools_path) -> Vector2D
    Get the window position of the Chameleon Tool
    note: added in v1.0.8

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder.

    Returns:
        Vector2D: The position of window

set_chameleon_window_position

Set the window position of the Chameleon Tool

unreal.ChameleonData.set_chameleon_window_position(tools_path, new_position) -> bool
    Set the window position of the Chameleon Tool
    note: added in v1.0.8

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder. For instance, the gallary tool's path is "ChameleonGallery/ChameleonGallery.json"
        new_position (Vector2D):

    Returns:
        bool: True if succeed

flash_chameleon_window

Flash the Chameleon Tool

unreal.ChameleonData.flash_chameleon_window(tools_path) -> bool
    Flash the  Chameleon Tool
    note: added in v1.0.8

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder.

    Returns:
        bool: The position of window

snapshot_chameleon_window

Snapshot the chameleon Window, and save it to an image file. This function can save the whole UI, even it is bigger than the screen. or in a ScrollBox

unreal.ChameleonData.snapshot_chameleon_window(tools_path, override_window_size=[0.000000, 0.000000], image_file_path="") -> str
    Snapshot the chameleon Window, and save it to an image file. This function can save the whole UI, even it is bigger than the screen. or in a ScrollBox
    note: added in v1.0.8

    Args:
        tools_path (str): The relative JSON path of Chameleon tool in Python folder.
        override_window_size (Vector2D): Override size of the window.
        image_file_path (str): The output file path

    Returns:
        str: ImageFilePath if succeed or Empty string

snapshot_sketch

Snapshot the Sketch Window, and save it to an image file.

unreal.ChameleonData.snapshot_sketch(override_window_size=[0.000000, 0.000000], image_file_path="") -> str
    Snapshot the Sketch Window, and save it to an image file.
    note: added in v1.0.10

    Args:
        override_window_size (Vector2D): Override size of the window.
        image_file_path (str): The output file path

    Returns:
        str: ImageFilePath if succeed or Empty string

set_color

Set color of the specified SColorBlock Widget

data.set_color(aka_name, color) -> bool
    Set color of the specified SColorBlock Widget
    note: Supported widgets: SColorBlock
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SColorBlock widget
        color (LinearColor): New Color.

    Returns:
        bool:

load_url

Load the specified URL in SWebBrowser widget.

data.load_url(aka_name, new_url) -> None
    Load the specified URL in SWebBrowser widget.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget
        new_url (str): New URL to load.

get_url

Gets the currently loaded URL.

data.get_url(aka_name) -> str
    Gets the currently loaded URL.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

    Returns:
        str: The URL, or empty string if no document is loaded.

load_page_from_string

Load a string as data to create a web page in SWebBrowser widget.

data.load_page_from_string(aka_name, contents, dummy_url) -> None
    Load a string as data to create a web page in SWebBrowser widget.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget
        contents (str): String to load.
        dummy_url (str): Dummy URL for the page.

reload_page

Reload the current page in SWebBrowser.

data.reload_page(aka_name) -> None
    Reload the current page in SWebBrowser.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

stop_load_page

Stop loading the page in SWebBrowser.

data.stop_load_page(aka_name) -> None
    Stop loading the page in SWebBrowser.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

get_title_text_of_page

Get the current title of the web page.

data.get_title_text_of_page(aka_name) -> str
    Get the current title of the web page.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

    Returns:
        str:

is_page_loaded

Whether the document finished loading.

data.is_page_loaded(aka_name) -> bool
    Whether the document finished loading.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

    Returns:
        bool:

is_page_loading

Whether the document is currently being loaded.

data.is_page_loading(aka_name) -> bool
    Whether the document is currently being loaded.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

    Returns:
        bool:

can_go_back

Returns true if the browser can navigate backwards.

data.can_go_back(aka_name) -> bool
    Returns true if the browser can navigate backwards.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

    Returns:
        bool:

go_back

Navigate backwards.

data.go_back(aka_name) -> None
    Navigate backwards.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

can_go_forward

Returns true if the browser can navigate forwards.

data.can_go_forward(aka_name) -> bool
    Returns true if the browser can navigate forwards.
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

    Returns:
        bool:

go_forward

Navigate forwards..

data.go_forward(aka_name) -> None
    Navigate forwards..
    note: Supported widgets: SWebBrowser only
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget

bind_uobject_to_browser

Expose a UObject instance to the browser runtime. Properties and Functions will be accessible from JavaScript side.

data.bind_uobject_to_browser(aka_name, name, object, is_permanent=True) -> None
    Expose a UObject instance to the browser runtime. Properties and Functions will be accessible from JavaScript side.
    note: Supported widgets: SWebBrowser only. When I get the property value from the Java script Promise object, the values are always empty, it's weird.
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget
        name (str): The name of the object.The object will show up as window.ue.{Name} on the Java script side.Note: All object names, function names, and property names will be converted to lower case when bound on the javascript side.If there is an existing object of the same name, this object will replace it.If bIsPermanent is false and there is an existing permanent binding, the permanent binding will be restored when the temporary one is removed.
        object (Object): The object instance.
        is_permanent (bool): If true, the object will be visible to all pages loaded through this browser widget, otherwise, it will be deleted when navigating away from the current page.Non - permanent bindings should be registered from inside an OnLoadStarted event handler in order to be available before JS code starts loading.

unbind_uobject_to_browser

Remove an existing script binding registered by BindUObject. Properties and Functions will be accessible from JavaScript side.

data.unbind_uobject_to_browser(aka_name, name, object, is_permanent=True) -> None
    Remove an existing script binding registered by BindUObject. Properties and Functions will be accessible from JavaScript side.
    note: Supported widgets: SWebBrowser only.
    note: added in v1.0.10

    Args:
        aka_name (Name): The aka name of the SWebBrowser widget
        name (str): The name of the object to remove.
        object (Object): The object will only be removed if it is the same object as the one passed in.
        is_permanent (bool): Must match the bIsPermanent argument passed to BindUObject.

Launch specified Modal window tools.

unreal.ChameleonData.modal_window(tools_path) -> bool
    Launch specified Modal window tools.

    Args:
        tools_path (str): The JSON path of Modal window.

    Returns:
        bool: succeed or not

request_close_modal_window

Request close specified Modal Window.

unreal.ChameleonData.request_close_modal_window(tools_path) -> bool
    Request close specified Modal Window.

    Args:
        tools_path (str): The JSON path of Modal window.

    Returns:
        bool: succeed or not

set_content_from_json

Set sub widget through the content of the JSON string. It's for the widget which has only one child.

data.set_content_from_json(aka_name, json_content) -> bool
    Set sub widget through the content of the JSON string. It's for the widget which has only one child.
    note: add in v1.1
    note: Supported widgets: 'SBox', 'SBorder', 'SCheckBox', 'SBox' and 'SButton'.

    Args:
        aka_name (Name): The aka name of the Parent widget
        json_content (str): The JSON string content of the new widget.

    Returns:
        bool: succeed or not

append_slot_from_json

Add a child widget through the content of the JSON string. It's for the widget which has 'Slots'.

data.append_slot_from_json(aka_name, json_content, column=-1, row=-1) -> bool
    Add a child widget through the content of the JSON string. It's for the widget which has 'Slots'.
    note: add in v1.1
    note: Supported widgets: 'SHorizontalBox', 'SVerticalBox', 'SScrollBox', 'SGridPanel', 'SUniformGridPanel', 'SUniformWrapPanel', 'SOverlay', 'SCanvas', 'SSplitter'.

    Args:
        aka_name (Name): The aka name of the Parent widget
        json_content (str): The JSON string content of the new widget.
        column (int32): The index of the column in Grid widget. It's for 'SGridPanel' and 'SUniformGridPanel', and will be ignored in others.
        row (int32): The index of the Row in Grid widget. It's for 'SGridPanel' and 'SUniformGridPanel', and will be ignored in others.

    Returns:
        bool: succeed or not

insert_slot_from_json

Add a child widget at Specified slot through the content of the JSON string.

data.insert_slot_from_json(aka_name, json_content, index) -> bool
    Add a child widget at Specified slot through the content of the JSON string.
    note: add in v1.1
    note: Supported widgets: 'SHorizontalBox', 'SVerticalBox'.

    Args:
        aka_name (Name): The aka name of the Parent widget
        json_content (str): The JSON string content of the new widget.
        index (int32): The slot index of the new widget

    Returns:
        bool: succeed or not

remove_widget_at

Remove a child widget at Specified slot or widget.

data.remove_widget_at(aka_name, index) -> bool
    Remove a child widget at Specified slot or widget.
    note: add in v1.1
    note: Supported widgets: 'SHorizontalBox', 'SVerticalBox', 'SScrollBox', 'SGridPanel', 'SUniformGridPanel', 'SUniformWrapPanel', 'SOverlay', 'SCanvas', 'SSplitter' 'SBox', 'SBorder', 'SCheckBox', 'SBox' and 'SButton'.

    Args:
        aka_name (Name): The aka name of the Parent widget
        index (int32): The slot index of the new widget, and will be ignored with 'SBox', 'SBorder', 'SCheckBox', 'SBox' and 'SButton'.

    Returns:
        bool: succeed or not

get_widget_path

Get the Slate path of widget.

data.get_widget_path(aka_name) -> str
    Get the Slate path of widget.
    note: add in v1.1

    Args:
        aka_name (Name): The aka name of the widget

    Returns:
        str: the full path of the widget

get_all_widgets_paths

Get all widgets' paths in the current tool.

data.get_all_widgets_paths() -> Array[str]
    Get all widgets' paths in the current tool.

    Returns:
        Array[str]: the array of widget paths

spawn_to_graph_by_class

Spawn a new node in SGraphPanel.

data.spawn_to_graph_by_class(aka_name, node_class, update=True) -> EdGraphNode
    Spawn a new node in SGraphPanel.
    note: add in v1.2.0(Experimental)

    Args:
        aka_name (Name): The aka name of the SGraphPanel
        node_class (type(Class)):
        update (bool): Whether update the graph panel after spawn the new node

    Returns:
        EdGraphNode: the added new node

spawn_function_to_graph

Spawn a specified function of a module in SGraphPanel.

data.spawn_function_to_graph(aka_name, module, function_name) -> EdGraphNode
    Spawn a specified function of a module in SGraphPanel.
    note: add in v1.2.0(Experimental)

    Args:
        aka_name (Name): The aka name of the SGraphPanel
        module (type(Class)): The module of the function
        function_name (str): The name of the function

    Returns:
        EdGraphNode: the added new node

spawn_function_to_graph_with_spawner

Spawn a specified function of a module in SGraphPanel through a BPFunctionSpawner.

data.spawn_function_to_graph_with_spawner(aka_name, bp_function_spawner) -> EdGraphNode
    Spawn a specified function of a module in SGraphPanel through a BPFunctionSpawner.
    note: add in v1.2.0(Experimental)

    Args:
        aka_name (Name): The aka name of the SGraphPanel
        bp_function_spawner (Object): The BPFunctionSpawner of the function

    Returns:
        EdGraphNode: the added new node

get_graph_panel_nodes

Get all nodes in SGraphPanel.

data.get_graph_panel_nodes(aka_name) -> Array[EdGraphNode]
    Get all nodes in SGraphPanel.
    note: add in v1.2.0(Experimental)

    Args:
        aka_name (Name): The aka name of the SGraphPanel

    Returns:
        Array[EdGraphNode]: the array of nodes

clear_graph_panel

Clear all nodes in SGraphPanel.

data.clear_graph_panel(aka_name) -> int32
    Clear all nodes in SGraphPanel.
    note: add in v1.2.0(Experimental)

    Args:
        aka_name (Name): The aka name of the SGraphPanel

    Returns:
        int32: the number of nodes cleared

get_graph_selected_node

Get the selected nodes in SGraphPanel.

data.get_graph_selected_node(aka_name) -> Array[EdGraphNode]
    Get the selected nodes in SGraphPanel.
    note: add in v1.2.0(Experimental)

    Args:
        aka_name (Name): The aka name of the SGraphPanel

    Returns:
        Array[EdGraphNode]: the array of selected nodes

get_graph_panel_content_as_json

Get the content of SGraphPanel as JSON string.

data.get_graph_panel_content_as_json(aka_name) -> str
    Get the content of SGraphPanel as JSON string.
    note: add in v1.2.0(Experimental)

    Args:
        aka_name (Name): The aka name of the SGraphPanel

    Returns:
        str: the JSON string of the SGraphPanel

set_graph_panel_content_from_json

Set the content of SGraphPanel from JSON string.

data.set_graph_panel_content_from_json(aka_name, json_content) -> bool
    Set the content of SGraphPanel from JSON string.
    note: add in v1.2.0

    Args:
        aka_name (Name): The aka name of the SGraphPanel
        json_content (str): The JSON string content of the SGraphPanel.

    Returns:
        bool: succeed or not