Index: trunk/doc/user/09_appendix/action_details.html =================================================================== --- trunk/doc/user/09_appendix/action_details.html (revision 9395) +++ trunk/doc/user/09_appendix/action_details.html (revision 9396) @@ -11,6 +11,55 @@ +

FuncmapChange

+
+

+ +
Syntax summary: +FuncmapChange(previous|next|remove, component, port) +FuncmapChange(set, component, port, [newfunc]) +FuncmapChange(setgrp, component, grpname) +
Help text: +Change the alternate function of a component-port. The setgrp command activates a group by setting all affected ports to that group's funcionality. All arguments are case-sensitive. +
Registered by: +funcmap +
+

+Changes the + +funcmap/name + + attribute on one or more ports of a given component. The component (and port, when needed), needs to be named and is looked up in the abstract model (the project needs to be compiled). The actual change is always made in concrete terminal object(s) looked up from the abstract port objects. If multiple terminals are contributing to the port (source terminals), the change is done to the terminals that already have the + +funcmap/name + + attribute. If none of the source terminals have that attribute, the attribute is created in one of the source terminals randomly chosen. +

+ The first argument is the command to perform. +

+ If the command is + +previous + + or + +next + +, the selected function of the given port is moved one step back or forward on the function list for the port. The function list has the order of functions as they appear in the li:funcmap/ports section of the funcmap file (this differs from the column ordering in the tabular form, which is deduced from function grouping). +

+ If the command is + +set + + and the new function is specified as the 4th argument, the source terminal attribute is changed to that function. The added value of this command compared to the propset() action is that it looks up the terminal object to change and verifies whether the new function is available for the given port. +

+ The + +setgrp + + command modifies multiple terminals so that a whole function group is activated (by function group name). +

+

Quit

Index: trunk/doc/user/09_appendix/action_reference.html =================================================================== --- trunk/doc/user/09_appendix/action_reference.html (revision 9395) +++ trunk/doc/user/09_appendix/action_reference.html (revision 9396) @@ -55,6 +55,7 @@ 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 +DiscardAbstractFree the abstract model of the current project.CompileProject()project_act 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 @@ -63,6 +64,7 @@ DrawReleaseRelease the pointer of an object. Call this after Draw*(retptr,...) when the object is no longer needed. Unreleased objects are leaked. Warning: there is NO reference counting; getting the same object twice will get only one registration, then releasing "one of them" will release both! NEVER keep pointers across invocations.DrawRelease(objptr)draw plugin DrawTextCreate a non-bbox-specified text object.DrawText([noundo], [retptr], scope, x, y, text, [pen])draw plugin DrawWireDraw a wire on the sheet of scope. Draws junctions and makes connections and merges nets as needed.DrawWire([noundo], [retptr], scope, x1, y1, x2, y2, [pen])draw plugin +DRCInvoke the DRC check. Results are presented as the argument requests.DRC([list|print|log])libcschem/drc duktapeExecute a script one-liner using a specific languageOneliner(lang, script)script plugin DumpActionsDump all actions available.DumpActions() dumpconfPerform various operations on the configuration tree.dumpconf(native, [verbose], [prefix]) - dump the native (binary) config tree to stdout
dumpconf(lihata, role, [prefix]) - dump in-memory lihata representation of a config treediag_rnd @@ -83,6 +85,12 @@ 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) +FuncmapChangeChange the alternate function of a component-port. The setgrp command activates a group by setting all affected ports to that group's funcionality. All arguments are case-sensitive.FuncmapChange(previous|next|remove, component, port)
FuncmapChange(set, component, port, [newfunc])
FuncmapChange(setgrp, component, grpname)funcmap +FuncmapComponentDialogOpen the alternate function mapping dialog for a componentFuncmapComponentDialog(object)funcmap +FuncmaplibCleanLocalRemove all local-lib funcmaps 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.FuncmaplibCleanLocal()funcmap +FuncmaplibRehashRebuild the in-memory tree of funcmapsFuncmaplibRehash()funcmap +FuncmapPortDialogOpen the modal dialog for changing the alternate function of a port. FuncmapPortDialog(object, component, port)funcmap +FuncmapPrintTablePrint a table of all alternative port functions for a component If column is specified, sort the table by the named column.FuncmapPrintTable(component, [column])funcmap GetObjTypeReturn the type of the object named in oidpath as a string.GetObjType([root_data,] idpath)act_read GetParentGrpReturn the oidpath of the immediate parent group of an objectGetParentGrp([root_data,] idpath)act_read GetValueConvert a coordinate value. Returns an unitless double or FGW_ERR_ARG_CONV. The 3rd parameter controls whether to require relative coordinates (+- prefix). Wraps rnd_get_value_ex().GetValue(input, units, relative, default_unit)act_read @@ -172,6 +180,7 @@ 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_funcmapQuick Attribute Edit for funcmap using the funcmap libraryquick_attr_funcmap(objptr)funcmap 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_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 Index: trunk/doc/user/09_appendix/action_src/funcmapchange.html =================================================================== --- trunk/doc/user/09_appendix/action_src/funcmapchange.html (nonexistent) +++ trunk/doc/user/09_appendix/action_src/funcmapchange.html (revision 9396) @@ -0,0 +1,26 @@ +Changes the funcmap/name attribute on one or more ports of a given +component. The component (and port, when needed), needs to be named and +is looked up in the abstract model (the project needs to be compiled). The +actual change is always made in concrete terminal object(s) looked up from +the abstract port objects. If multiple terminals are contributing to the +port (source terminals), the change is done to the terminals that already +have the funcmap/name attribute. If none of the source terminals have that +attribute, the attribute is created in one of the source terminals randomly +chosen. +

+The first argument is the command to perform. +

+If the command is previous or next, the selected function of the +given port is moved one step back or forward on the function list for the port. +The function list has the order of functions as they appear in the +li:funcmap/ports section of the funcmap file (this differs from the +column ordering in the tabular form, which is deduced from function grouping). +

+If the command is set and the new function is specified as the +4th argument, the source terminal attribute is changed to that function. The +added value of this command compared to the propset() action is that it +looks up the terminal object to change and verifies whether the new function +is available for the given port. +

+The setgrp command modifies multiple terminals so that a whole function +group is activated (by function group name).