API reference - Class MacroNotation used in Ruby API documentation Description: A macro class
This class is provided mainly to support generation of template macros in the DSL interpreter framework provided by MacroInterpreter. The implementation may be enhanced in future versions and provide access to macros stored inside KLayout's macro repository. Public constructors
Public methods
Deprecated methods (protected, public, static, non-static and constructors)
Detailed descriptionvoid _createDescription: 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. void _destroyDescription: 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. [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. [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. void _manageDescription: 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. void _unmanageDescription: 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. [const] string categoryDescription: Gets the category tags The category tags string indicates to which categories a macro will belong to. This string is only used for templates currently and is a comma-separated list of category names. Python specific notes:The object exposes a readable attribute 'category'. This is the getter. void category=(string string)Description: Sets the category tags string See category for details. Python specific notes:The object exposes a writable attribute 'category'. This is the setter. void createDescription: Ensures the C++ object is created Use of this method is deprecated. Use _create instead [const] string descriptionDescription: Gets the description text The description text of a macro will appear in the macro list. If used as a macro template, the description text can have the format "Group;;Description". In that case, the macro will appear in a group with title "Group". Python specific notes:The object exposes a readable attribute 'description'. This is the getter. void description=(string description)Description: Sets the description text
See description for details. Python specific notes:The object exposes a writable attribute 'description'. This is the setter. void destroyDescription: Explicitly destroys the object Use of this method is deprecated. Use _destroy instead [const] bool destroyed?Description: Returns a value indicating whether the object was already destroyed Use of this method is deprecated. Use _destroyed? instead [const] string epilogDescription: Gets the epilog code The epilog is executed after the actual code is executed. Interpretation depends on the implementation of the DSL interpreter for DSL macros. Python specific notes:The object exposes a readable attribute 'epilog'. This is the getter. void epilog=(string string)Description: Sets the epilog See epilog for details. Python specific notes:The object exposes a writable attribute 'epilog'. This is the setter. [const] string group_nameDescription: Gets the menu group name If a group name is specified and show_in_menu? is true, the macro will appear in a separate group (separated by a separator) together with other macros sharing the same group. Python specific notes:The object exposes a readable attribute 'group_name'. This is the getter. void group_name=(string string)Description: Sets the menu group name See group_name for details. Python specific notes:The object exposes a writable attribute 'group_name'. This is the setter. [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 [const] string menu_pathDescription: Gets the menu path If a menu path is specified and show_in_menu? is true, the macro will appear in the menu at the specified position. Python specific notes:The object exposes a readable attribute 'menu_path'. This is the getter. void menu_path=(string string)Description: Sets the menu path See menu_path for details. Python specific notes:The object exposes a writable attribute 'menu_path'. This is the setter. [static] new Macro ptr newDescription: Creates a new object of this class Python specific notes:This method is the default initializer of the object [const] string pathDescription: Gets the path of the macro The path is the path where the macro is stored, starting with an abstract group identifier. The path is used to identify the macro in the debugger for example. [const] string prologDescription: Gets the prolog code The prolog is executed before the actual code is executed. Interpretation depends on the implementation of the DSL interpreter for DSL macros. Python specific notes:The object exposes a readable attribute 'prolog'. This is the getter. void prolog=(string string)Description: Sets the prolog See prolog for details. Python specific notes:The object exposes a writable attribute 'prolog'. This is the setter. void show_in_menu=(bool flag)Description: Sets a value indicating whether the macro shall be shown in the menu Python specific notes:The object exposes a writable attribute 'show_in_menu'. This is the setter. [const] bool show_in_menu?Description: Gets a value indicating whether the macro shall be shown in the menu Python specific notes:The object exposes a readable attribute 'show_in_menu'. This is the getter. [const] string textDescription: Gets the macro text The text is the code executed by the macro interpreter. Depending on the DSL interpreter, the text can be any kind of code. Python specific notes:The object exposes a readable attribute 'text'. This is the getter. void text=(string string)Description: Sets the macro text See text for details. Python specific notes:The object exposes a writable attribute 'text'. This is the setter. |