Skip to main content
Version: 7.9

system.gui.transform

This function is used in Python Scripting.

Description

Sets a component's position and size at runtime. Additional arguments for the duration, framesPerSecond, and acceleration of the operation exist for animation. An optional callback argument will be executed when the transformation is complete.

note

The transformation is performed in Designer coordinate space on components which are centered or have more than 2 anchors.

Client Permission Restrictions

This scripting function has no Client Permission restrictions.

Syntax

system.gui.transform(component [, newX, newY, newWidth, newHeight, duration, callback, framesPerSecond, acceleration, coordSpace])

Parameters

TypeParameterDescription
JComponentcomponentThe component to move or resize.
intnewXAn optional x-coordinate to move to, relative to the upper-left corner of the component's parent container.
intnewYAn optional y-coordinate to move to, relative to the upper-left corner of the component's parent container.
intnewWidthAn optional width for the component.
intnewHeightAn optional height for the component.
intdurationAn optional duration over which the transformation will take place. If omitted or 0, the transform will take place immediately.
PyObjectcallbackAn optional function to be called when the transformation is complete.
intframesPerSecondAn optional frame rate argument which dictates how often the transformation updates over the given duration. The default is 60 frames per second.
intaccelerationAn optional modifier to the acceleration of the transformation over the given duration. See system.gui constants for valid arguments.
intcoordSpaceThe coordinate space to use. When the default Screen Coordinates are used, the given size and position are absolute, as they appear in the client at runtime. When Designer Coordinates are used, the given size and position are pre-runtime adjusted values, as they would appear in the Designer. See system.gui constants for valid arguments.

Returns

PyObject animation - An animation object that the script can use to pause(), resume(), or cancel() the transformation.

Scope

Client

Code Examples

Example #1
# This example changes the size the a component to 100x100
# This script should be run from the component that will be changed (ie: on the mouseEntered event)

system.gui.transform(component=event.source, newWidth=100, newHeight=100)
Example #2
# This example moves a component to coordinates 0,0 over the course of 1 second.  
# When the animation is complete, the component is moved back to its original position
# over the course of 2 seconds, slowing in speed as it approaches the end.

component = event.source.parent.getComponent('Text Field')
origX = component.x
origY = component.y

system.gui.transform(
component,
0, 0,
duration=1000,
callback=lambda: system.gui.transform(
component,
origX, origY,
duration=2000,
acceleration=system.gui.ACCL_FAST_TO_SLOW
)
)