Class Reference layout

The main window of the layout design. More...

Member

void addMacroToolButton(string macroName,string parameter,string iconfilename)
backgroundModule* backgroundTool
barcodeModule* barcodeTool
booleanHandler* booleanTool
void choose()
void chooseImport()
void closeDesign()
bool debug
drawingField* drawing
drc* drcTool
int executeMacro(string filename)
extractionModule* extractionTool
string filename
int getBool(string caption,string label)
double getDouble(string caption,string label,double value=0, int digits=1)
int getInteger(string caption,string label, int value=0)
string getItem(string caption,string label,stringList values)
int getLayer(string label, int value=0)
string getOpenFilename(string filter="", string path="")
string getStatistic()
string getSaveFilename(string filter="")
int getSize(string caption,string label, int value=1)
string getText(string caption,string label,string value="")
string getToolbarState()
void hideToolBar(string name)
netListModule* netlistTool
void open(string fileName)
void print()
void save()
void saveAs()
void screenshot()
void setCell()
void setCellname()
void setLayerSorting(int sort)
bool setShortcut(string function,string key)
bool setShortcut(int function,string key)
void setSnapToGrid(bool b)
void setSnapToPoint(bool b)
void setSnapToMiddle(bool b)
void setSnapToLine(bool b)
void setSnapToCenter(bool b)
void setSnapToIntersection(bool b)
void setToolbarState(string)
void showMessage(string caption,string label)
void showStatus(string label)
textEdit* showTextEditor()
void showToolBar(string name)
void toolBarAdd(string name,string buttons)
view3dModule* view3dTool
void deleteActuellCell()
void group()
void newCell()
void saveScreenshot(string filename)
void trigger3dRenderAll()
void trigger3dRenderAuto()
void trigger3dRenderSelect()

Detailed Description

This class is the main widget of the window from which the macro was executed. It is directly accessible via the classname "layout" from any C++ macro.

layout->filename="/var/layouts/samples1.gds";
layout->newCell();

Most methods of this call require a user dialog. A direct access of the drawing is possible via the member drawing to an object of the class drawingField.

Further modules to modify the design data are available with the pointers backgroundTool, barcodeTool, booleanTool, drcTool and netlistTool.

In LayoutScript for Python and for Ruby the keyword layout does not exists. A new layout object had to be created via the project class.

l=project.newLayout()   # open new instance of layout class for Python

l=Project.new_layout()  # open new instance of layout class for Ruby

Member Function Documentation


void layout::addMacroToolButton(string macroName,string parameter,string iconfilename)

Add a new button to the toolbars. The button will be added to the toolbar 'Macros'. If this toolbar does not exist, it will be created. macroName specifies the name of the macro to be executed. iconfilename points to the file for the icon of the new button. If the given file does not exist, the default macro icon is used. Macrobuttons will not stored with shut-down. It has to be restored with a further macro call. So usually this method is used in a autostart macro that is automatic started after program start.


backgroundModule* layout::backgroundTool

The background utilities to add images in the background are accessible via this pointer to the class backgroundTool.


barcodeModule* layout::barcodeTool

The barcode utilities are accessible via this pointer to the class barcodeModule.


booleanHandler* layout::booleanTool

The boolean utilities to perform Boolean Operations are accessible via this pointer to the class barcodeModule.


void layout::choose()

A file dialog to select a filename is opened. The selected file will be loaded.


void layout::chooseImport()

A file dialog is shown. The selected file will be imported and added to the existing file.


void layout::closeDesign()

The current design will be removed and an empty design is shown like after the program start.


static bool layout::debug

If it is true, the debug mode is on. In the debug mode additional information is printed to the terminal where the LayoutEditor is started. If the LayoutEditor was not started from a terminal the output is not visible.


drawingField* layout::drawing

This pointer to class drawingField is the main class of the drawing. It holds all relevant information of the design.


drc* layout::drcTool

The design rule checker is accessible via this pointer to the class drc.


int layout::executeMacro(string filename)

Another macro is executed. The execution of the calling macro stopped until the termination or completion of the started macro.

Parameter:
filename filename of the macro to be executed

Returns: the exit code of the called macro


extractionModule* layout::extractionTool

a utility tool to extract electrical parameter from the design


string layout::filename

This string hold the filename of the current opened design. In case of an OpenAccess design it contains the library name with an extension '.oa'.


int layout::getBool(string caption,string label)

The user will be prompted to enter a boolean.

Parameter:
caption title of the window
label text in the dialog inside the window

Returns: 0 if yes/true is selected, otherwise '1' is returned.


double layout::getDouble(string caption,string label,double value=0, int digits=1)

The user will be prompted to enter a double.

Parameter:
caption the title of the window
label this string will be displayed inside the window
value default value
digits maximal number of digits

Returns: the double entered by the user


int layout::getInteger(string caption,string label, int value=0)

The user will be prompted to enter a integer.

Parameter:
caption the title of the window
label this string will be displayed inside the window
value default value

Returns: the integer entered by the user.


string layout::getItem(string caption,string label,stringList values)

The user will be prompted to choose a item from a list.

Parameter:
caption the title of the window
label this string will be displayed inside the window before the list
values a list with all items

Returns: the item text choosen by the user. An empty string is returned in the case the Cancel button was pressed.


int layout::getLayer(string label, int value=0)

The user will be prompted to choose a layer from a list of all existing layers.

Parameter:
label propt text of the dialog
value default value

Returns: the layer number entered by the user. -1 is returned in the case the Cancel button was pressed.


string layout::getOpenFilename(string filter="", string path="")

A file open dialog is shown. The optinal parameter filter set the default filter use in the dialog. The filter format is "filtername (*.ex1 *.ex2)". With path the folder the dialog starts with is set.

Returns: a string with the filename or a empty string if the Cancel button was pressed.


string layout::getStatistic()

Returns: a string with some statistic information on the design.


string layout::getSaveFilename(string filter="")

A file save dialog is shown. The optional parameter filter set the default filter use in the dialog. The filter format is "filtername (*.ex1 *.ex2)".

Returns: a string with the filename or a empty string if the Cancel button was pressed.


int layout::getSize(string caption,string label, int value=1)

The user will be prompted to enter a value in userunits.

Parameter:
caption the title of the window
label this string will be displayed inside the window
value default value in database units

Returns: value entered by the user in database units


string layout::getText(string caption,string label,string value="")

The user will be prompted to enter a text.

Parameter:
caption the title of the window
label this string will be displayed inside the window
value default value

Returns: the text entered by the user. An empty string is returned in the case the Cancel button was pressed.


string layout::getToolbarState()

Returns: an encoded string containing all required information to restore the current toolbar and dock window setup. With setToolbarState the current setup can be restored


void layout::hideToolBar(string name)

Hides the toolbar with the name.


netListModule* layout::netlistTool

The netlist utilities are accessible via this pointer.


void layout::open(string fileName)

The design with the name fileName is opened. If the current design was changed, you will be asked to save it before.


void layout::print()

A printer dialog will be opened.


void layout::save()

The current opened design will be saved to disc. If the meber variable filename is empty, you will be prompted to enter a filename.


void layout::saveAs()

You will be prompted to enter a filename. The current design will be saved.


void layout::screenshot()

The screen view will be saved. You will be prompted to enter a filename. The screen resolution is used for the pixel gaphic.


void layout::setCell()

You will be prompted to select a cell. The cell will be displayed.


void layout::setCellname()

You will be prompted to enter a name for the current displayed cell.


void layout::setLayerSorting(int sort)

Sets the display of the layer window inside the layout window. (introduced with release 20180614)

sort value sorting
1 layer as list
2 layer as block
3 sort by name
4 sort by number
5 sort by 3d lavel

bool layout::setShortcut(string function,string key)

Use this function to modify any existing shortcut. It returns true, if the modification was successful. & marks the underline in the menuname. As normally always the first character is underlined, add a & in the front.

layout->setShortcut("&Zoom Fit All","F"); // set 'F' to zoom fit
layout->setShortcut("&Zoom Fit Selection","Shift+F"); // set 'Shift F' to zoom fit selection

Shortcuts are not saved with program shutdown and the modifications will not affect new opened windows. So it should usualy placed in a autostart macros to have the modified shortcut available in all windows.


bool layout::setShortcut(int function,string key)

As the overloaded method, but with the feature code as parameter.


void layout::setSnapToGrid(bool b)

Snapping to grid is activated or deactivated depending on the given bool value.


void layout::setSnapToPoint(bool b)

Snapping to point is activated or deactivated depending on the given bool value.


void layout::setSnapToMiddle(bool b)

Snapping to middle of a line is activated or deactivated depending on the given bool value.


void layout::setSnapToLine(bool b)

Snapping to line is activated or deactivated depending on the given bool value.


void layout::setSnapToCenter(bool b)

Snapping to shape center is activated or deactivated depending on the given bool value.


void layout::setSnapToIntersection(bool b)

Snapping to intersections is activated or deactivated depending on the given bool value.


void layout::setToolbarState(string)

Sets the toolbar and dock window configuration. The string parameter needs to be created with the getToolbarState.


void layout::showMessage(string caption,string label)

A message will be displayed.

Parameter:
caption the title of the window
label this string will be displayed inside the window

void layout::showStatus(string label)

A message will be displayed in the statusbar for 2 seconds. The macro will continue to run. If the further status message is posted before the 2 seconds are over, the existing message is exchanged.

Parameter:
label text displayed in the status bar

textEdit* layout::showTextEditor()

Will create a new text Editor window in a thread save way.


void layout::showToolBar(string name)

Shows the name toolbar.


void layout::toolBarAdd(string name,string buttons)

Add a new tool bar, separate multipli buttons with a ';'. Next to the feature name the feature code can be use to spezify the feature.

layout->toolBarAdd("my toolbar","New Layout;Zoom Mouse;Code 39;Quit"); 

view3dModule* layout::view3dTool

The 3d view is accessable via this class.

Obsolete Members


void layout::deleteActuellCell()

After a confirmation the current display cell will be deleted. If there are no more cell in the drawing, a new empty cell will be created.

OBSOLETE: Please use drawing->deleteCurrentCell() instead.


void layout::group()

All selected elements are moved to a new cell. A correlating cellref will be added.

OBSOLETE: Please use drawing->group() instead.


void layout::newCell()

A new empty cell will be added, named with an unused cell name and it is set as current cell.

OBSOLETE: Please use drawing->newCell() instead.


void layout::saveScreenshot(string filename)

The screen will be saved in the file with the name filename. The type is selected by the extension.

OBSOLETE: Please use drawing->saveScreenshot(string filename) instead.


void layout::trigger3dRenderAll()

renderAll will be called after the macro terminates.

OBSOLETE: Please use view3dTool->trigger3dRenderAll() instead.


void layout::trigger3dRenderAuto()

renderAuto will be called after the macro terminates.

OBSOLETE: Please use view3dTool->trigger3dRenderAuto() instead.


void layout::trigger3dRenderSelect()

renderSeclect will be called after the macro terminates.

OBSOLETE: Please use view3dTool->trigger3dRenderSelect() instead.