Index: 09_appendix/action_reference.html =================================================================== --- 09_appendix/action_reference.html (revision 9169) +++ 09_appendix/action_reference.html (revision 9170) @@ -21,7 +21,7 @@ ActionStringExecute a pcb-rnd action parsing a string; syntac: "action(arg,arg,arg)"ActionString(action)script plugin AddTimer (RND)Add a new timerAddTimer(action, period, [repeat], [userdata])script plugin AnyLoad (RND)Load "anything" from path (or offer a file selectio dialog if no path specified)AnyLoad([path]) -AttributeDialogBring up the Attribute Editor Dialog for an object.AttributeDialog([last-click|parent|object[:idpath]], [target_key])sch_dialogs +AttributeDialogBring up the Attribute Editor Dialog for an object.AttributeDialog([last-click|parent|sheet|object[:idpath]], [target_key])sch_dialogs AttributePickBring up the Attribute Pick Dialog and ask the user to pick an attribute of an object.AttributePick([last-click|parent|object[:idpath]], [target_key])sch_dialogs awkExecute a script one-liner using a specific languageOneliner(lang, script)script plugin BackannLoad a back annotation file for interactive back annotationBackann([filename])backann plugin @@ -45,12 +45,16 @@ cli_PromptForIntenal: CLI frontend action. Do not use directly. CommandDisplays the command line input in the status area.Command()lib_hid_common plugin CompileProjectCompile the abstract model of the current project, using the current view (or the view named)CompileProject([view_name])project_act +ConditionalDialogOpen the conditional helper dialog for an object.ConditionalDialog(object, dnp|omit)sch_dialogs confPerform various operations on the configuration tree.conf(set, path, value, [role], [policy]) - change a config setting to an absolute value
conf(delta, path, value, [role], [policy]) - change a config setting by a delta value (numerics-only)
conf(toggle, path, [role]) - invert boolean value of a flag; if no role given, overwrite the highest prio config
conf(reset, role) - reset the in-memory lihata of a role
conf(iseq, path, value) - returns whether the value of a conf item matches value (for menu checked's) +confgetReturn conf node value or property from the merged in-memory/native storage. Returns nil if node is unset (for value query) or not found. Intended for scripting.ConfGet(path, [value]) - return the value of a conf node; units, colors and lists are returned as string.
ConfGet(path, desc) - return the human readable description
ConfGet(path, ArraySize) - number of elements
ConfGet(path, ReadOnly) - returns 1 if node is read-only, 0 otherwise
ConfGet(path, ConfRev) - conf (merge) rev number the value last changed ConvertConvert objects into a polygon or a group.Convert(selected|buffer|object|list, poly[gon]|group|sym[bol]|term[inal], [oidlist])construct plugin CreateMenuCreates a new menu, popup (only path specified) or submenu (at least path and action are specified)CreateMenu(path)
CreateMenu(path, action, tooltip, cookie, [accel]) Cursor (RND)Move the cursor.Cursor(Type,DeltaUp,DeltaRight,Units) d1debug action for developmentd1()diag plugin -dadManipulate Dynamic Attribute Dialogsdad(dlgname, new) - create new dialog
dad(dlgname, label, text) - append a label widget
dad(dlgname, button, text) - append a button widget
dad(dlgname, button_closes, label, retval, ...) - standard close buttons
dad(dlgname, enum, choices) - append an enum (combo box) widget; choices is a tab separated list
dad(dlgname, bool) - append an checkbox widget (default off)
dad(dlgname, integer|real|coord, min, max) - append an input field
dad(dlgname, string) - append a single line text input field
dad(dlgname, default, val) - set the default value of a widet while creating the dialog
dad(dlgname, help, tooltip) - set the help (tooltip) text for the current widget
dad(dlgname, progress) - append a progress bar (set to 0)
dad(dlgname, preview, cb_act_prefix, minsize_x, minsize_y, [ctx]) - append a preview with a viewbox of 10*10mm, minsize in pixels
dad(dlgname, tree, cols, istree, [header]) - append tree-table widget; header is like enum values
dad(dlgname, tree_append, row, cells) - append after row (0 means last item of the root); cells is like enum values; returns a row pointer
dad(dlgname, tree_append_under, row, cells) - append at the end of the list under row (0 means last item of the root); cells is like enum values; returns a row pointer
dad(dlgname, tree_insert, row, cells) - insert before row (0 means first item of the root); cells is like enum values; returns a row pointer
dad(dlgname, begin_hbox) - begin horizontal box
dad(dlgname, begin_vbox) - begin vertical box
dad(dlgname, begin_hpane) - begin horizontal paned box
dad(dlgname, begin_vpane) - begin vertical paned box
dad(dlgname, begin_table, cols) - begin table layout box
dad(dlgname, begin_tabbed, tabnames) - begin a view with tabs; tabnames are like choices in an enum; must have as many children widgets as many names it has
dad(dlgname, end) - end the last begin
dad(dlgname, flags, flg1, flg2, ...) - change the flags of the last created widget
dad(dlgname, onchange, action) - set the action to be called on widget change
dad(dlgname, run, title) - present dlgname as a non-modal dialog
dad(dlgname, run_modal, title) - present dlgname as a modal dialog
dad(dlgname, exists) - returns wheter the named dialog exists (0 or 1)
dad(dlgname, set, widgetID, val) - changes the value of a widget in a running dialog
dad(dlgname, get, widgetID, [unit]) - return the current value of a widgetlib_hid_common plugin +dadManipulate Dynamic Attribute Dialogsdad(dlgname, new) - create new dialog
dad(dlgname, label, text) - append a label widget
dad(dlgname, button, text) - append a button widget
dad(dlgname, button_closes, label, retval, ...) - standard close buttons
dad(dlgname, enum, choices) - append an enum (combo box) widget; choices is a tab separated list
dad(dlgname, bool) - append an checkbox widget (default off)
dad(dlgname, integer|real|coord, min, max) - append an input field
dad(dlgname, string) - append a single line text input field
dad(dlgname, default, val) - set the default value of a widet while creating the dialog
dad(dlgname, help, tooltip) - set the help (tooltip) text for the current widget
dad(dlgname, progress) - append a progress bar (set to 0)
dad(dlgname, preview, cb_act_prefix, minsize_x, minsize_y, [ctx]) - append a preview with a viewbox of 10*10mm, minsize in pixels
dad(dlgname, tree, cols, istree, [header]) - append tree-table widget; header is like enum values
dad(dlgname, tree_append, row, cells) - append after row (0 means last item of the root); cells is like enum values; returns a row pointer
dad(dlgname, tree_append_under, row, cells) - append at the end of the list under row (0 means last item of the root); cells is like enum values; returns a row pointer
dad(dlgname, tree_insert, row, cells) - insert before row (0 means first item of the root); cells is like enum values; returns a row pointer
dad(dlgname, begin_hbox) - begin horizontal box
dad(dlgname, begin_vbox) - begin vertical box
dad(dlgname, begin_hpane) - begin horizontal paned box
dad(dlgname, begin_vpane) - begin vertical paned box
dad(dlgname, begin_table, cols) - begin table layout box
dad(dlgname, begin_tabbed, tabnames) - begin a view with tabs; tabnames are like choices in an enum; must have as many children widgets as many names it has
dad(dlgname, end) - end the last begin
dad(dlgname, flags, flg1, flg2, ...) - change the flags of the last created widget
dad(dlgname, onchange, action) - set the action to be called on widget change
dad(dlgname, run, title) - present dlgname as a non-modal dialog
dad(dlgname, run_modal, title) - present dlgname as a modal dialog
dad(dlgname, exists) - returns wheter the named dialog exists (0 or 1)
dad(dlgname, set, widgetID, val) - changes the value of a widget in a running dialog
dad(dlgname, get, widgetID, [unit]) - return the current value of a widget
dad(dlgname, iterate) - runs a global GUI iteration (event dispatch, redraw)
dad(dlgname, raise) - pops up window in front
dad(dlgname, close) - close the dialog (and return 0 from modal run)lib_hid_common plugin +DevmaplibCleanLocalRemove all local-lib devmaps from the current sheet; they are re-loaded from external libs into the local lib upon the next compilation. Useful to refresh local lib from disk.DevmaplibCleanLocal()devmap +DevmaplibRehashRebuild the in-memory tree of devmapsDevmaplibRehash()devmap dlg_confval_editPresent a dialog box for editing the value of a conf node at path.dlg_confval_edit(path, idx, role, [modal])lib_hid_common plugin DrawArcDraw an arc. Angles are in degrees.DrawArc([noundo], [retptr], scope, cx, cy, r, start_ang, delta_ang, [pen])draw plugin DrawCircleDraw a 360 degree arc (full circle).DrawCircle([noundo], [retptr], scope, cx, cy, r, [pen])draw plugin @@ -76,6 +80,7 @@ fbasExecute a script one-liner using a specific languageOneliner(lang, script)script plugin FontFindFinds a font by the same name:style combo pens useFontFind(name, style)diag plugin fpasExecute a script one-liner using a specific languageOneliner(lang, script)script plugin +FsdSimpleFile selection dialog, simplified API; for meaning of the arguments, see the HID API doc.FsdSimple(title, descr, default_file, default_ext, history_tag, [read])lib_hid_common plugin FsdTestCentral, DAD based File Selection Dialog demoFsdTest()lib_hid_common plugin FullScreenHide widgets to get edit area full screenFullScreen(on|off|toggle) GetObjTypeReturn the type of the object named in oidpath as a string.GetObjType([root_data,] idpath)act_read @@ -133,6 +138,7 @@ perlExecute a script one-liner using a specific languageOneliner(lang, script)script plugin PlaceAttribPlace an attribute floater dyntextPlaceAttrib([sheet|buffer])place plugin PlaceTerminalPlace a terminal group template PlaceTerminal([sheet|buffer])place plugin +PlotTestOpen the plot test dialogPlotTest()sim_gui PopupBring up the popup menu specified by MenuName, optionally modified with the object type under the cursor.Popup(MenuName, [obj-type])sch_rnd_gui PreferencesPresent the preferences dialog, optionally opening the tab requested.Preferences([tabname])lib_hid_common plugin Print (RND)Present the print export dialog for printing the layout from the GUI.Print() @@ -159,12 +165,16 @@ queryPerform various queries on concrete model data.query(dump, expr) - dry run: compile and dump an expression
query(eval|evalidp, expr) - compile and evaluate an expression and print a list of results on stdout
query(count, expr) - compile and evaluate an expression and return the number of matched objects (-1 on error)
query(select|unselect|view, expr) - select or unselect or build a view of objects matching an expression
query(append, idplist, expr) - compile and run expr and append the idpath of resulting objects on idplistquery plugin QueryCompileFieldWith "compile": precompiles textual field name to field ID; with "free": frees the memory allocated for a previously precompiled fieldID.QueryCompileField(compile, fieldname)
QueryCompileField(free, fieldID)query plugin QueryObjReturn the value of a field of an object, addressed by the object's idpath and the field's name or precompiled ID. Returns NIL on error.QueryObj(idpath, [.fieldname|fieldID])query plugin -QuickAttrQucik Attribute Edit on keyQuickAttr(last-click|parent|object[:idpath], key)sch_dialogs +QuickAttrQuick Attribute Edit on keyQuickAttr(last-click|parent|object[:idpath], key)sch_dialogs QuickAttrEditableReturns 1 if obj:key has a quick attribute editQuickAttrEditable(last-click|parent|object[:idpath], key)sch_dialogs -quick_attr_connectQucik Attribute Edit for core data model's symbol connect attribute (attribute based symbol terminal to network connection table)quick_attr_connect(objptr)std_cschem -quick_attr_devmapQucik Attribute Edit for devmap using the devmap libraryquick_attr_devmap(objptr)devmap +quick_attr_connectQuick Attribute Edit for core data model's symbol connect attribute (attribute based symbol terminal to network connection table)quick_attr_connect(objptr)std_cschem +quick_attr_devmapQuick Attribute Edit for devmap using the devmap libraryquick_attr_devmap(objptr)devmap +quick_attr_forge__if__dnpQuick Attribute Edit for the standard forge-if/dnp attributequick_attr_forge__if__dnp(objptr)sch_dialogs +quick_attr_forge__if__omitQuick Attribute Edit for the standard forge-if/omit attributequick_attr_forge__if__dnp(objptr)sch_dialogs +quick_attr_forge__if__test_benchQuick Attribute Edit for core data model's symbol connect attribute (attribute based symbol terminal to network connection table)quick_attr_forge__if__test_bench(objptr)std_forge quick_attr_portmapQuick Attribute Edit for core data model's symbol portmap attribute (attribute based "symbol terminal to network" portmap table)quick_attr_portmap(objptr)devmap -quick_attr_roleQucik Attribute Edit for core data model's role attributequick_attr_role(objptr)sch_dialogs +quick_attr_roleQuick Attribute Edit for core data model's role attributequick_attr_role(objptr)sch_dialogs +quick_attr_spice__modelQuick Attribute Edit for spice/model using the devmap libraryquick_attr_spice__model(objptr)target_spice/spicelib QuitQuits sch-rnd after confirming.Quit() RedoRedo recent "undo" operations.redo()libcschem/undo.c RedrawRedraw the entire screenRedraw() @@ -191,27 +201,65 @@ rnd_zoomChange zoom level (relative, absolute, window, ...)Zoom()
Zoom([+|-|=]factor)
Zoom(x1, y1, x2, y2)
Zoom(?)
Zoom(get)lib_hid_common plugin Rotate90Rotate object or buffer CCW in 90 degree steps. Default target is auto. Default steps is 1.Rotate90([object|buffer|auto], [steps])
Rotate90(idpath, steps, idp, x, y)sch_rnd_gui RotateRotate object or buffer CCW in def degrees. Default target is auto. Default deg is ask (which prompts for a value).Rotate([object|buffer|auto], [deg|ask])sch_rnd_gui +RtreeListReturn a list of idpaths for objects overlapping with the box specified (empty list if no object is found). Error is indicated by returning nil. If coordinates are not specified the whole tree is searched.RtreeList[rtree_name, [x1, y1, x2, y2])act_read rubyExecute a script one-liner using a specific languageOneliner(lang, script)script plugin +SafeFsclearerrSame as clearerr(3)SafeFsclearerr(f) +SafeFsFcloseCloses a file previously open using SafeFsFopen()SafeFsFclose(f) +SafeFsFeofReturns 1 if file has reached EOF, 0 otherwiseSafeFsFeof(f) +SafeFsFerrorReturns 1 if file had errors, 0 otherwiseSafeFsFerror(f) +SafeFsFgetsReads and returns a line from f (open with SafeFsFopen()). Stops reading after maxlen (subsequent call will continue reading the same line). Returns nil on error or eof or empty line. Maxlen is 64k by default. Note: string heap allocation is made for maxlen.SafeFsFgets(f, [maxlen]) +SafeFsFileMtimeReturn the last modification time of a file, from Epoch, or -1 on error.SafeFsFileMtime(path) +SafeFsFileSizeReturn the size of a file in bytes, or -1 on error.SafeFsFileSize(path) +SafeFsFopenOpens a file using fopen, returns FILE *. If mode is not specified, r is assumed. Returns nil on error.SafeFsFopen(path, [mode]) +SafeFsFputsWrites str to file f (previously opne with SafeFsFopen))SafeFsFputs(f, str) +SafeFsFreadReads and returns at most len bytes from a file (open with SafeFsFopen()). Returns nil on error or eof or empty line.SafeFsFread(f, len) +SafeFsFreadSepReads characters that are either all non-seps or all seps. Reads at most maxlen bytes. Returns the string read or nil on eof or error. Seps is a string that contains every separator character. Maxlen is 64k by default.SafeFsFreadSep(f, seps, [maxlen]) +SafeFsFseekSame as fseek(3); whence is a string, one of set, cur or end not specified (set is used when not specified)SafeFsFseek(f, offs, [whence]) +SafeFsFtellSame as ftell(3).SafeFsFtell(f) +SafeFsIsDirReturn 1 if path exists and is a directory, else return 0.SafeFsIsDir(path) +SafeFsMkdirMkdir a file from the file system. If mode is a string, it is converted from octal. Return value is the same as mkdir(2)'sSafeFsMkdir(path, mode) +SafeFsPathSepReturn the system dependet path separator character (normally slash).SafeFsPathSep(path) +SafeFsReadFileReads a text file into one long string, returned, but at most maxlen bytes. If maxlen is not specified, 64k is used. Returns nil on error or empty file.SafeFsReadFile(path, [maxlen]) +SafeFsRealPathReturns the realpath(3) of path, or NULL on error.SafeFsRealPath(path) +SafeFsRemoveRemove an object from the file system. Return value is the same as remove(3)'sSafeFsRemove(path) +SafeFsRenameRename an object on the file system. Return value is the same as rename(2)'sSafeFsRename(old_path, new_path) +SafeFsRewindSame as rewind(3)SafeFsRewind(f) +SafeFsSystemRuns cmdline with a shell using librnd safe_fs. Return value is the same integer as system()'sSafeFsSystem(cmdline) +SafeFsUnlinkUnlink a file from the file system. Return value is the same as unlink(2)'sSafeFsUnlink(path) SaveSave a project or a schmeatics sheet trying to preserve original file name.Save()
Save(Project|Sheet)sch_rnd_gui SaveAllSave all unsaved sheets in current project (currprj)SaveAll([currprj]) SaveAsSave a project or a schmeatics sheet using a new file name.SaveAs(Project|Sheet, [filename])sch_rnd_gui SaveToSave project or sheet to a file.SaveTo(Sheet|Project,filename[,format])plug_io_act +SchGetXYReturn the cursor (or crosshair) x or y coord. Msg is a string displayed when cursor coord is requested but cursor is not active (see GetXY()).SchGetXY(cursor|crosshair, msg, X|Y)act_read ScriptCookie (RND)Return a cookie specific to the current script instance during script initializationScriptCookie()script plugin ScriptPersistency (RND)Read or remove script persistency data savd on preunloadScriptPersistency(read|remove)script plugin Scroll (RND)Scroll the viewport.Scroll(up|down|left|right, [pixels])lib_hid_common plugin SearchDialogOpen the log dialog.SearchDialog()query plugin +SearchObjAtReturn the most preferred object at mouse cursor (or crosshair) or x;y coord; search in a raduis of r coords. The unsel variant ignores selected objects. The GuiInspect variant uses the priorities right-click does. Msg is a string displayed when cursor coord is requested but cursor is not active (see GetXY()). Returns nil or an idpath.SearchObjAt[UnSel|GuiInspect](cursor|crosshair, msg, [r])
SearchObjAt[UnSel|GuiInspect](x, y, [r])act_read +SearchObjAtGuiInspectReturn the most preferred object at mouse cursor (or crosshair) or x;y coord; search in a raduis of r coords. The unsel variant ignores selected objects. The GuiInspect variant uses the priorities right-click does. Msg is a string displayed when cursor coord is requested but cursor is not active (see GetXY()). Returns nil or an idpath.SearchObjAt[UnSel|GuiInspect](cursor|crosshair, msg, [r])
SearchObjAt[UnSel|GuiInspect](x, y, [r])act_read +SearchObjAtUnselReturn the most preferred object at mouse cursor (or crosshair) or x;y coord; search in a raduis of r coords. The unsel variant ignores selected objects. The GuiInspect variant uses the priorities right-click does. Msg is a string displayed when cursor coord is requested but cursor is not active (see GetXY()). Returns nil or an idpath.SearchObjAt[UnSel|GuiInspect](cursor|crosshair, msg, [r])
SearchObjAt[UnSel|GuiInspect](x, y, [r])act_read SelectSelect objects; all=all visible; invert=invert selection; default is all.Select([All|Invert]) SetGridChange grid size.SetGrid(delta|*mult|/div, [unit]) SetGridOffs (RND)Change grid offset (alignment) to x_offs and y_offs. Offsets should be specified with units.SetGridOffs(x_offs, y_offs) SetUnits (RND)Set the default measurement units.SetUnits(mm|mil) +SimActivateActivate the simulation for the setup_name+veiw_name combo; setup_name is the name of the sim setup to use, view name is the name of a view that has a suitable sim target. Triggers timed autocompile.SimActivate(setup_name, view_name)sim +SimDialogOpen the sim(ulation) dialogSimDlg()sim_gui +SimDlgOpen the sim(ulation) dialogSimDlg()sim_gui +SimRunActivate and run the simulation, see SimActivate()SimRun(setup_name, view_name, [output_filename])sim +SimSetupDialogOpen the sim(ulation) setup/run dialog for the named setup in the current projectSimDlg(setup_name)sim_gui +SimSetupDlgOpen the sim(ulation) setup/run dialog for the named setup in the current projectSimDlg(setup_name)sim_gui +StanceDialogOpen the current project's stance configuration dialog.StanceDialog()sch_dialogs StatusSetTextReplace status printout with text temporarily; turn status printout back on if text is not provided.StatusSetText([text])sch_rnd_gui strokeVarious gesture recognition related functionsstroke(gesture, seq)stroke plugin sttExecute a script one-liner using a specific languageOneliner(lang, script)script plugin SwitchRelativeSwitch to a different sheet by traversing integer steps on the linked list of sheets loadedSwitchRelative(steps)sch_rnd_gui SymlibRehashRebuild the in-memory tree of symbol librariesSymlibRehash() +SymlibReloadAllLocalReplace all local symbols from a newer version of the same symbol from the symbol librarySymlibReloadAllLocal() SymLocLibConvert between "embedded" symbols (full copy) and local lib symbol referencesSymLocLib(object[:idpath]|selected, [toref|togrp])symlib_local SystemRun shell commandSystem(shell_cmd) tclExecute a script one-liner using a specific languageOneliner(lang, script)script plugin +TestBenchDialogOpen the test bench selector for the current object or for selected objects.TestBenchDialog(object[:oidpath]|selected)std_forge +TestBenchModifyModify test bench affiliation of object(s), adding or deleting test benches in which the given objects are participating.TestBenchModify(object[:oidpath]|selected, add|del, testbench_name)std_forge ToggleFloatersToggle the setting for only-floaters ot lock-floatersToggleFloaters(only|lock) Tool (RND)Change or use the tool mode.Tool(Arc|Arrow|Copy|InsertPoint|Line|Lock|Move|None|PasteBuffer)
Tool(Poly|Rectangle|Remove|Rotate|Text|Thermal|Via)
Tool(Press|Release|Cancel|Stroke)
Tool(Save|Restore) TreeDialogBring up the sheet's object tree dialog. If object is specified, move cursor to that object in the tree.TreeDialog([object[=idpath]|objarr,vtp0ptr])sch_dialogs