KLayout 0.30.4 (2025-09-11 8b0a8c731) [master]

API reference - Class PluginBase

Notation used in Ruby API documentation

Module: lay

Description: The plugin base class

This class is provided as an interface to the base class implementation for various functions. You can use these methods in order to pass down events to the original implementation.

This class has been introduced in version 0.30.4.

Public constructors

new PluginBase ptrnewCreates a new object of this class

Public methods

[const]PluginBase ptr_const_castReturns a non-const reference to self.
void_createEnsures the C++ object is created
void_destroyExplicitly destroys the object
[const]bool_destroyed?Returns a value indicating whether the object was already destroyed
[const]bool_is_const_object?Returns a value indicating whether the reference is a const reference
void_manageMarks the object as managed by the script side.
void_unmanageMarks the object as no longer owned by the script side.
voidactivatedGets called when the plugin is activated (base class implementation)
voidconfig_finalizeSends the post-configuration request to the plugin (base class implementation)
boolconfigure(string name,
string value)
Sends configuration requests to the plugin (base class implementation)
voiddeactivatedGets called when the plugin is deactivated and another plugin is activated (base class implementation)
voiddrag_cancelThis method is called when some mouse dragging operation should be cancelled (base class implementation)
boolenter_event(bool prio)Handles the enter event (base class implementation)
[const]boolhas_tracking_positionGets a value indicating whether the plugin provides a tracking position (base class implementation)
boolkey_event(unsigned int key,
unsigned int buttons)
Handles the key pressed event (base class implementation)
boolleave_event(bool prio)Handles the leave event (base class implementation)
voidmenu_activated(string symbol)Gets called when a custom menu item is selected (base class implementation)
boolmouse_button_pressed_event(const DPoint p,
unsigned int buttons,
bool prio)
Handles the mouse button pressed event (base class implementation)
boolmouse_button_released_event(const DPoint p,
unsigned int buttons,
bool prio)
Handles the mouse button release event (base class implementation)
boolmouse_click_event(const DPoint p,
unsigned int buttons,
bool prio)
Handles the mouse button click event after the button has been released (base class implementation)
boolmouse_double_click_event(const DPoint p,
unsigned int buttons,
bool prio)
Handles the mouse button double-click event (base class implementation)
boolmouse_moved_event(const DPoint p,
unsigned int buttons,
bool prio)
Handles the mouse move event (base class implementation)
[const]DPointtracking_positionGets the tracking position (base class implementation)
voidupdateGets called when the view has changed (base class implementation)
boolwheel_event(int delta,
bool horizontal,
const DPoint p,
unsigned int buttons,
bool prio)
Handles the mouse wheel event (base class implementation)

Deprecated methods (protected, public, static, non-static and constructors)

voidcreateUse of this method is deprecated. Use _create instead
voiddestroyUse of this method is deprecated. Use _destroy instead
[const]booldestroyed?Use of this method is deprecated. Use _destroyed? instead
[const]boolis_const_object?Use of this method is deprecated. Use _is_const_object? instead

Detailed description

_const_cast

Signature: [const] PluginBase ptr _const_cast

Description: Returns a non-const reference to self.

Basically, this method allows turning a const object reference to a non-const one. This method is provided as last resort to remove the constness from an object. Usually there is a good reason for a const object reference, so using this method may have undesired side effects.

This method has been introduced in version 0.29.6.

_create

Signature: void _create

Description: Ensures the C++ object is created

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

_destroy

Signature: void _destroy

Description: Explicitly destroys the object

Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing.

_destroyed?

Signature: [const] bool _destroyed?

Description: Returns a value indicating whether the object was already destroyed

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

_is_const_object?

Signature: [const] bool _is_const_object?

Description: Returns a value indicating whether the reference is a const reference

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

_manage

Signature: void _manage

Description: Marks the object as managed by the script side.

After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required.

Usually it's not required to call this method. It has been introduced in version 0.24.

_unmanage

Signature: void _unmanage

Description: Marks the object as no longer owned by the script side.

Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur.

Usually it's not required to call this method. It has been introduced in version 0.24.

activated

Signature: void activated

Description: Gets called when the plugin is activated (base class implementation)

config_finalize

Signature: void config_finalize

Description: Sends the post-configuration request to the plugin (base class implementation)

configure

Signature: bool configure (string name, string value)

Description: Sends configuration requests to the plugin (base class implementation)

create

Signature: void create

Description: Ensures the C++ object is created

Use of this method is deprecated. Use _create instead

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

deactivated

Signature: void deactivated

Description: Gets called when the plugin is deactivated and another plugin is activated (base class implementation)

destroy

Signature: void destroy

Description: Explicitly destroys the object

Use of this method is deprecated. Use _destroy instead

Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing.

destroyed?

Signature: [const] bool destroyed?

Description: Returns a value indicating whether the object was already destroyed

Use of this method is deprecated. Use _destroyed? instead

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

drag_cancel

Signature: void drag_cancel

Description: This method is called when some mouse dragging operation should be cancelled (base class implementation)

enter_event

Signature: bool enter_event (bool prio)

Description: Handles the enter event (base class implementation)

has_tracking_position

Signature: [const] bool has_tracking_position

Description: Gets a value indicating whether the plugin provides a tracking position (base class implementation)

is_const_object?

Signature: [const] bool is_const_object?

Description: Returns a value indicating whether the reference is a const reference

Use of this method is deprecated. Use _is_const_object? instead

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

key_event

Signature: bool key_event (unsigned int key, unsigned int buttons)

Description: Handles the key pressed event (base class implementation)

leave_event

Signature: bool leave_event (bool prio)

Description: Handles the leave event (base class implementation)

menu_activated

Signature: void menu_activated (string symbol)

Description: Gets called when a custom menu item is selected (base class implementation)

mouse_button_pressed_event

Signature: bool mouse_button_pressed_event (const DPoint p, unsigned int buttons, bool prio)

Description: Handles the mouse button pressed event (base class implementation)

mouse_button_released_event

Signature: bool mouse_button_released_event (const DPoint p, unsigned int buttons, bool prio)

Description: Handles the mouse button release event (base class implementation)

mouse_click_event

Signature: bool mouse_click_event (const DPoint p, unsigned int buttons, bool prio)

Description: Handles the mouse button click event after the button has been released (base class implementation)

mouse_double_click_event

Signature: bool mouse_double_click_event (const DPoint p, unsigned int buttons, bool prio)

Description: Handles the mouse button double-click event (base class implementation)

mouse_moved_event

Signature: bool mouse_moved_event (const DPoint p, unsigned int buttons, bool prio)

Description: Handles the mouse move event (base class implementation)

new

Signature: [static] new PluginBase ptr new

Description: Creates a new object of this class

Python specific notes:
This method is the default initializer of the object.

tracking_position

Signature: [const] DPoint tracking_position

Description: Gets the tracking position (base class implementation)

update

Signature: void update

Description: Gets called when the view has changed (base class implementation)

wheel_event

Signature: bool wheel_event (int delta, bool horizontal, const DPoint p, unsigned int buttons, bool prio)

Description: Handles the mouse wheel event (base class implementation)