API reference - Class PCellParameterDeclaration

Notation used in Ruby API documentation

Module: db

Description: A PCell parameter declaration

This class declares a PCell parameter by providing a name, the type and a value and additional information like description, unit string and default value. It is used in the PCellDeclaration class to deliver the necessary information.

This class has been introduced in version 0.22.

Public constructors

new PCellParameterDeclaration ptrnew(string name,
unsigned int type,
string description)
Create a new parameter declaration with the given name and type
new PCellParameterDeclaration ptrnew(string name,
unsigned int type,
string description,
variant default)
Create a new parameter declaration with the given name, type and default value
new PCellParameterDeclaration ptrnew(string name,
unsigned int type,
string description,
variant default,
string unit)
Create a new parameter declaration with the given name, type, default value and unit string

Public methods

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.
voidadd_choice(string description,
variant value)
Add a new value to the list of choices
voidassign(const PCellParameterDeclaration other)Assigns another object to self
[const]string[]choice_descriptionsReturns a list of choice descriptions
[const]variant[]choice_valuesReturns a list of choice values
voidclear_choicesClears the list of choices
[const]variantdefaultGets the default value
voiddefault=(variant value)Sets the default value
[const]stringdescriptionGets the description text
voiddescription=(string description)Sets the description
[const]new PCellParameterDeclaration ptrdupCreates a copy of self
voidhidden=(bool flag)Makes the parameter hidden if this attribute is set to true
[const]boolhidden?Returns true, if the parameter is a hidden parameter that should not be shown in the user interface
[const]stringnameGets the name
voidname=(string value)Sets the name
voidreadonly=(bool flag)Makes the parameter read-only if this attribute is set to true
[const]boolreadonly?Returns true, if the parameter is a read-only parameter
[const]unsigned inttypeGets the type
voidtype=(unsigned int type)Sets the type
[const]stringunitGets the unit string
voidunit=(string unit)Sets the unit string

Public static methods and constants

unsigned intTypeBooleanType code: boolean data
unsigned intTypeDoubleType code: floating-point data
unsigned intTypeIntType code: integer data
unsigned intTypeLayerType code: a layer (a LayerInfo object)
unsigned intTypeListType code: a list of variants
unsigned intTypeNoneType code: unspecific type
unsigned intTypeShapeType code: a guiding shape (Box, Edge, Point, Polygon or Path)
unsigned intTypeStringType code: string data

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

TypeBoolean

Signature: [static] unsigned int TypeBoolean

Description: Type code: boolean data

TypeDouble

Signature: [static] unsigned int TypeDouble

Description: Type code: floating-point data

TypeInt

Signature: [static] unsigned int TypeInt

Description: Type code: integer data

TypeLayer

Signature: [static] unsigned int TypeLayer

Description: Type code: a layer (a LayerInfo object)

TypeList

Signature: [static] unsigned int TypeList

Description: Type code: a list of variants

TypeNone

Signature: [static] unsigned int TypeNone

Description: Type code: unspecific type

TypeShape

Signature: [static] unsigned int TypeShape

Description: Type code: a guiding shape (Box, Edge, Point, Polygon or Path)

TypeString

Signature: [static] unsigned int TypeString

Description: Type code: string data

_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.

add_choice

Signature: void add_choice (string description, variant value)

Description: Add a new value to the list of choices

This method will add the given value with the given description to the list of choices. If choices are defined, KLayout will show a drop-down box instead of an entry field in the parameter user interface.

assign

Signature: void assign (const PCellParameterDeclaration other)

Description: Assigns another object to self

choice_descriptions

Signature: [const] string[] choice_descriptions

Description: Returns a list of choice descriptions

choice_values

Signature: [const] variant[] choice_values

Description: Returns a list of choice values

clear_choices

Signature: void clear_choices

Description: Clears the list of choices

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.

default

Signature: [const] variant default

Description: Gets the default value

Python specific notes:
The object exposes a readable attribute 'default'. This is the getter.

default=

Signature: void default= (variant value)

Description: Sets the default value

If a default value is defined, it will be used to initialize the parameter value when a PCell is created.

Python specific notes:
The object exposes a writable attribute 'default'. This is the setter.

description

Signature: [const] string description

Description: Gets the description text

Python specific notes:
The object exposes a readable attribute 'description'. This is the getter.

description=

Signature: void description= (string description)

Description: Sets the description

Python specific notes:
The object exposes a writable attribute 'description'. This is the setter.

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.

dup

Signature: [const] new PCellParameterDeclaration ptr dup

Description: Creates a copy of self

Python specific notes:
This method also implements '__copy__'

hidden=

Signature: void hidden= (bool flag)

Description: Makes the parameter hidden if this attribute is set to true

Python specific notes:
The object exposes a writable attribute 'hidden'. This is the setter.

hidden?

Signature: [const] bool hidden?

Description: Returns true, if the parameter is a hidden parameter that should not be shown in the user interface

By making a parameter hidden, it is possible to create internal parameters which cannot be edited.

Python specific notes:
The object exposes a readable attribute 'hidden'. This is the getter.

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.

name

Signature: [const] string name

Description: Gets the name

Python specific notes:
The object exposes a readable attribute 'name'. This is the getter.

name=

Signature: void name= (string value)

Description: Sets the name

Python specific notes:
The object exposes a writable attribute 'name'. This is the setter.

new

(1) Signature: [static] new PCellParameterDeclaration ptr new (string name, unsigned int type, string description)

Description: Create a new parameter declaration with the given name and type

name:The parameter name
type:One of the Type... constants describing the type of the parameter
description:The description text

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

(2) Signature: [static] new PCellParameterDeclaration ptr new (string name, unsigned int type, string description, variant default)

Description: Create a new parameter declaration with the given name, type and default value

name:The parameter name
type:One of the Type... constants describing the type of the parameter
description:The description text
default:The default (initial) value

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

(3) Signature: [static] new PCellParameterDeclaration ptr new (string name, unsigned int type, string description, variant default, string unit)

Description: Create a new parameter declaration with the given name, type, default value and unit string

name:The parameter name
type:One of the Type... constants describing the type of the parameter
description:The description text
default:The default (initial) value
unit:The unit string

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

readonly=

Signature: void readonly= (bool flag)

Description: Makes the parameter read-only if this attribute is set to true

Python specific notes:
The object exposes a writable attribute 'readonly'. This is the setter.

readonly?

Signature: [const] bool readonly?

Description: Returns true, if the parameter is a read-only parameter

By making a parameter read-only, it is shown but cannot be edited.

Python specific notes:
The object exposes a readable attribute 'readonly'. This is the getter.

type

Signature: [const] unsigned int type

Description: Gets the type

The type is one of the T... constants.

Python specific notes:
The object exposes a readable attribute 'type'. This is the getter.

type=

Signature: void type= (unsigned int type)

Description: Sets the type

Python specific notes:
The object exposes a writable attribute 'type'. This is the setter.

unit

Signature: [const] string unit

Description: Gets the unit string

Python specific notes:
The object exposes a readable attribute 'unit'. This is the getter.

unit=

Signature: void unit= (string unit)

Description: Sets the unit string

The unit string is shown right to the edit fields for numeric parameters.

Python specific notes:
The object exposes a writable attribute 'unit'. This is the setter.