Commit Graph

1756 Commits

Author SHA1 Message Date
stefan schippers db1049d469 formatting, updated create_graph.tcl 2023-09-24 03:34:01 +02:00
stefan schippers 75526cacbe add "xschem create_text" command for placing text objects with CLI 2023-09-24 03:16:53 +02:00
stefan schippers abd5f75ef5 added enable_stretch tcl variable description in xschemrc 2023-09-24 01:26:45 +02:00
stefan schippers 152623f4aa control-mouse drag select will negate the setting of enable_stretch tcl variable so drag and control-drag can be swapped vith Options->enable stretch 2023-09-24 00:29:15 +02:00
stefan schippers 4663a86da4 fix various regressions for handling instances with lock=true attribute 2023-09-24 00:17:48 +02:00
stefan schippers 112a12a87b add tcl variable no_ask_save: if set to 1 xschem will not ask to save modified schematics 2023-09-23 11:47:11 +02:00
stefan schippers 6a0fcdae05 various optimizations (do not execute graphic ops with gctiled if FIX_BROKEN_TILED_FILL is defined, optimize XCopy Area blits 2023-09-23 01:46:39 +02:00
stefan schippers aa75723446 fix MotionNotify events when crosshair is enabled and there is a selection and FIX_BROKEN_TILED_FILL not defined 2023-09-22 19:29:14 +02:00
stefan schippers 75e2efd5a7 filter unused bbox_set variable in draw_crosshair() 2023-09-22 19:15:26 +02:00
stefan schippers 274b4da441 xschem(): print an error if trying to execute commands that require schematic data structs (xctx) and xctx is not yet allocated 2023-09-22 19:13:13 +02:00
stefan schippers 426be0e68c add !defined(__unix__) in all #if defined(FIX_BROKEN_TILED_FILL) 2023-09-22 18:33:16 +02:00
stefan schippers 288c053ec6 various FIX_BROKEN_TILED_FILL fixes 2023-09-22 18:26:18 +02:00
stefan schippers 42c76c9693 doc updates (cut wires) 2023-09-22 16:13:25 +02:00
stefan schippers 3ba3bbc21a remove dbg message 2023-09-22 15:58:21 +02:00
stefan schippers 1da34af531 allow to use the Windows keys (if present) as alternatives for "Alt" 2023-09-22 15:53:23 +02:00
stefan schippers fbffeec673 some minor fixes in src/xschemrc (order of libs, avoid referencing specific install paths) 2023-09-22 13:43:43 +02:00
stefan schippers a2d3f68977 fix missing #if defined((FIX_BROKEN_TILED_FILL) in draw_crosshair() 2023-09-22 13:23:21 +02:00
stefan schippers 93291ed84b add draw_crosshair() (if enabled) at end of any draw() operation 2023-09-22 13:13:35 +02:00
stefan schippers eb91c8bbea draw crosshair at end of copy/move ops if enabled 2023-09-22 13:02:51 +02:00
stefan schippers 8f0d920a96 add draw_crosshair setting in xschemrc: draw a crosshair at mouse coordinates 2023-09-22 12:48:22 +02:00
stefan schippers a1fbbcfd80 add another command to cut wires without aligning cut point to snap (Alt-Shift-Right mouse button) 2023-09-22 10:40:57 +02:00
stefan schippers 951a18cb24 draw_selection(): erase rubbers correctly during copy/move ops if FIX_BROKEN_TILED_FILL enabled 2023-09-22 09:40:59 +02:00
stefan schippers 9e1feacab4 closest_point_calculation(): improve "closest point is on segment" detection 2023-09-22 09:33:41 +02:00
stefan schippers a53ea21026 remove debug messages in closest_point_calculation() 2023-09-22 03:46:42 +02:00
stefan schippers 5181ca77e6 break_wires_at_point(): oblique lines can be cut at any point, the break point will be aligned to the snap value and broken wires are slightly changed to land on this new point. 2023-09-22 03:45:09 +02:00
stefan schippers 4ea2ccac4c if FIX_BROKEN_TILED_FILL is defined disable all graphic operations with gctiled GC (set function to GXnoop) - Also clear selection rectangle with MyXCopyArea in select_rect() 2023-09-22 01:12:26 +02:00
stefan schippers fbe3064cf2 remove gctiled in MyXCopyArea() calls (use gc[0], background, any GC is ok as long as it does not have some strange logic operator) 2023-09-21 23:51:17 +02:00
stefan schippers 95e1c833c8 better pan operation if FIX_BROKEN_TILED_FILL is set 2023-09-21 23:01:09 +02:00
stefan schippers 301f9c4bdf add experimental compile flag in xschem.h, FIX_BROKEN_TILED_FILL, if defined work around some graphic adapters/driver implemtations that dont honor the X11 specifications for drawing with a pixmap tile fill pattern 2023-09-21 21:52:24 +02:00
stefan schippers 1479ca2ea6 fix regression in "xschem load <file> nofullzoom" (zoom was reset) 2023-09-21 10:11:39 +02:00
stefan schippers 129dd68b20 translate(): check for NULL xctx and xctx->inst 2023-09-21 09:56:29 +02:00
stefan schippers ee26a247c5 fix a crash if translate() invoked for an instance with instname=NULL (due to incomplete symbol definition) 2023-09-20 15:13:44 +02:00
stefan schippers 0119f013e3 correct implementation of previous commit 2023-09-20 11:04:30 +02:00
stefan schippers 1fdf117a84 fix a bug regression in save_schematic when saving an existing schematic to a different filename. Xschem incorretly popped up the alert "Has been changed since opening. Save it anyway?" 2023-09-20 10:19:49 +02:00
stefan schippers 8d6a71b8bd place_symbol(): make it smarter when dealing with generators. add parenthesis () after file name and better handle tcleval(...) given in file selector 2023-09-19 10:04:27 +02:00
stefan schippers 0680fd97fd place_symbol(): better handle generator symbol insertions like res.tcl(@value\): @value can be resolved only after generator has emitted the symbol, but symbol generated depends on generator actual parameter. So generators must handle unresolved @params. 2023-09-19 01:42:51 +02:00
stefan schippers 75e99cae91 update tier.tcl generator to handle unresolvable parameters 2023-09-19 01:29:52 +02:00
stefan schippers fd2be4a599 update res.tcl generator to handle unresolvable parameters 2023-09-19 00:08:42 +02:00
stefan schippers 7ffe70cb25 add other schematic manipulation script examples in developer_info.html 2023-09-18 17:16:03 +02:00
stefan schippers 98ffd177ce improve connect by kissing: now 3 move operations are present: 1) just move selection, 2) move adding wires to connected pins/wire endpoints, 3) move by stretching wires attached to pins/endpoints to follow moving objects 2023-09-18 13:29:49 +02:00
stefan schippers 690486c848 editprop.c->update_symbol(): recalculate bbox for dynamic symbols (floaters and generators) when attributes are changed. xschem.tcl: cleanly report errors in file mkdir instructions in case of permission issues 2023-09-18 09:39:52 +02:00
stefan schippers 306271e247 parselabel.l: Add ")" to list of forbidden characters in bus trailer: A[3:0])_xx 2023-09-17 22:54:17 +02:00
stefan schippers e5286a7f12 bus labels with trailing chars (A[15:0]_xx): fix rule conflicts in grammar parser. Add a trailer token in lexer 2023-09-17 21:17:35 +02:00
stefan schippers 898cfcc2e1 command "xschem change_elem_order" invalidate inst/wire hashes and connectivity to force consistency 2023-09-17 09:45:28 +02:00
stefan schippers 159f07e703 add "xschem rotate_in_place" command 2023-09-17 09:05:21 +02:00
stefan schippers 978d575e22 add tcl command "xschem change_elem_order n" add optional x0 and y0 coordinates as additional parameters to "xschem flip" and "xschem rotate" commands, add command "move_instance inst x y rot flip" 2023-09-17 00:13:52 +02:00
Stefan Schippers f99eb07e23 update keybinding list (missing "s" - simulation) and some minor corrections in commands.html 2023-09-16 17:18:10 +02:00
Stefan Schippers a32f3f0706 do not push undo state if clicking and switching graphs with graphdialog open, if no changes are made 2023-09-16 16:34:59 +02:00
stefan schippers 451cc4049e add script examples in developer_info manpage 2023-09-16 09:58:59 +02:00
stefan schippers 216d2a1297 proc execute_fileevent: change exec ps syntax to work both on Linux and MacOS 2023-09-16 01:04:29 +02:00
stefan schippers 3f299589d1 remove a forgotten debug print line 2023-09-15 18:17:24 +02:00
stefan schippers cb1b8a09a6 remove mysterious -width 1 -height 1 options when creating .graphdialog toplevel window. It seems a long standing bug, and not surprisingly it shows problems on MacOS/XQuartz 2023-09-15 18:08:26 +02:00
stefan schippers ac07510513 xschem select: extend command to allow selecting rectangles, lines, polygons, arcs. returns 1 if something selected, 0 otherwise 2023-09-15 17:53:38 +02:00
stefan schippers 7d2f737c3b attach_labels_to_inst(): do not cause an error (bbox(SET) call before bbox(START)) if invoked on selected instances who have all pins already wired up 2023-09-15 15:16:36 +02:00
stefan schippers a28f9506f8 Some code cleanups in select.c, select_connected_nets() did not select labels directly attached (not by wires) to selected instances 2023-09-15 13:29:12 +02:00
stefan schippers 82f8afbb19 optimize select_dangling_nets() a bit 2023-09-15 11:01:33 +02:00
stefan schippers 4095651863 bump to version 3.4.4, updated Changelog 2023-09-14 10:03:14 +02:00
stefan schippers e0bcc302c9 "xschem connected_nets" command now works for any selected instance, not only labels/probes/pins. Argument can be 0, 1, 2 (2-->select only wire segments drectly attached to selected net/instance) 2023-09-14 09:48:12 +02:00
stefan schippers 34946c2f0a add commands "xschem get wires", "xschem getprop wire n attr", "xschem touch x1 y1 x2 y2 x0 y0", "xschem wire_coord n" 2023-09-14 08:31:01 +02:00
stefan schippers e6211ac93b command "xschem select_dangling_nets": skip ignored instances (lvs_ignore or spice_ignore), return # of selected dangling elements instead of just 1 2023-09-14 01:34:56 +02:00
stefan schippers 210f56cccb remove debug messages in "xschem select_dangling_nets" 2023-09-14 01:04:46 +02:00
stefan schippers 75e5d3d5b0 add command "xschem select_dangling_nets" that selects all labels/wires that are not connected to any non-label/non-probe components 2023-09-14 00:57:13 +02:00
stefan schippers afd25cf430 clear_schematic(): clear xctx->sch[..] name before assigning untitled.sch / untitled.sym path name 2023-09-12 23:16:32 +02:00
stefan schippers 55fcf5d28e avoid doing a move_objects(RUBBER,...) if doing an "xschem paste xoffs yoffs" from script, to avoid graphical artifacts 2023-09-12 09:21:54 +02:00
stefan schippers c5420f4f07 fix a crashing bug if descending a schematic those symbol has a @#resolved_net:... attribute, raw file is loaded and show net_names is enabled. 2023-09-11 09:24:03 +02:00
stefan schippers 4bd758bee7 xschem tcp connections: print in/out data on console only if in tcl debug mode 2023-09-10 08:00:26 +02:00
stefan schippers 045edb5e10 xschem tcp connections: print open/close messages only if in tcl debug mode 2023-09-10 07:54:40 +02:00
stefan schippers 02dddc90ef Improve send nets to graph. do not refuse to send top level port signals, allow to send bussed signals even if graphdialog widget is not shown (proc graph_add_nodes_from_list) 2023-09-09 10:26:58 +02:00
stefan schippers ff1216e142 hilight_parent_pins(): remove dbg info 2023-09-08 01:22:39 +02:00
stefan schippers c75ddaf6ab hilight_parent_pins(): if two or more child pins are attached to the same parent net hilighting one of these child pins will not propagate to parent if the unhilight child pin comes after the hilight pin. This is now fixed. Going up in hierarchy will never clear parent hilights. It is recommended to clear all probes before tracking child pin propagation with hilights upstream. 2023-09-08 01:16:52 +02:00
stefan schippers a678c81b4c update documentation for change in return code of "xschem switch" command 2023-09-07 20:25:08 +02:00
stefan schippers b8d78e5b01 xschem switch command: return success also if command given (with right filename/winpath) when no additional windows/tabs are present 2023-09-07 08:49:39 +02:00
stefan schippers baea7ab745 xschem switch command return exit status depending if switch context was successfull or not 2023-09-06 08:30:40 +02:00
stefan schippers c23f38e10b export ps/pdf, png, svg functions now use custom file chooser widget (as Save As does) to enable creation of new folders 2023-08-30 00:42:09 +02:00
stefan schippers 8dfaedf9ea report in-hierarchy overlapped symbols when netlisting 2023-08-29 11:32:48 +02:00
stefan schippers c94d6b66cb yet some other fixes for displaying / updating ERC info data after a netlist 2023-08-28 23:21:42 +02:00
stefan schippers 590b6fb3cd better ERC messaging in case of errors (shorts, pins with missing attrs), ...) 2023-08-28 18:40:11 +02:00
stefan schippers cd3f188a30 fix wrong netlist filename if invoking netlist from GUI 2023-08-28 11:39:00 +02:00
stefan schippers 0805802bb8 fix performance issues (too many proc infowindow calls) on large schematics introduced by previous two commits 2023-08-28 10:39:11 +02:00
stefan schippers 9e4d3c111a various fixes and cleanups - followup of previous commit 2023-08-28 03:00:48 +02:00
stefan schippers 1c3c9ff889 do not show ERC info window if netlisting invoked via CLI; global variable show_infowindow_after_netlist can now take 3 values: always, onerror, never, to decide when showing the ERC info window after netlisting. Old values (1, 0) still accepted as aliases for always and onerror 2023-08-27 23:55:48 +02:00
stefan schippers 519fb2fbf2 add optional "-messages" in "xschem netlist" comand to return ERC messages instead of fail(1)/good(0) code 2023-08-27 13:04:12 +02:00
stefan schippers b521994a08 prefix ERC infowindow messages with Error: or Warning: or Info: 2023-08-26 14:28:35 +02:00
stefan schippers 6909971a61 bump to version 3.4.3, updated Changelog 2023-08-19 14:06:54 +02:00
stefan schippers 3f55893987 revert format of [xschem pinlist <instance> <attr>] to old (3.1.0) format: { {0} {PLUS} } { {1} {OUT} } { {2} {MINUS} } instead of {PLUS} {OUT} {MINUS} 2023-08-19 13:54:43 +02:00
stefan schippers e3b9e67cb8 add postinit_commands description in distribution provided xschemrc 2023-08-16 13:26:04 +02:00
stefan schippers c05c177885 add "postinit_commands" variable that can be set in xschemrc file, this variable may contain commands that will be executed after completing startup. Example: set postinit_commands {xschem set format xyce_format} 2023-08-16 08:45:41 +02:00
stefan schippers dd71d533ce make_symbol: ask before overwriting an existing symbol file. 2023-08-14 12:18:54 +02:00
stefan schippers 36f1285303 Correctly detect if DISPLAY env var is set but specified display is not existing or xserver not running, and start in text mode 2023-08-10 08:37:55 +02:00
stefan schippers 163eaea672 remove reference to cadsnap_default in menu widget "View->Set snap value" 2023-08-08 11:19:48 +02:00
stefan schippers ac042ed21f remove warning message if bespice_listen_port is not set (not necessary, scares new users) 2023-08-04 15:23:46 +02:00
stefan schippers c54e43d24f allow expandion of labels like aaa[3:2]_qq --> aaa[3]_qq,aaa[2]_qq and aaa[3..2]_qq --> aaa3_qq,aaa2_qq 2023-08-04 15:02:55 +02:00
stefan schippers f95580906a bump to version 3.4.2, updated Changelog 2023-07-26 09:32:25 +02:00
stefan schippers f847b61333 Gerard upates for Xschem <--> BeSpice TCP communication 2023-07-25 23:33:46 +02:00
stefan schippers 39b3195794 proc tk_textPaste: add author info 2023-07-20 09:24:55 +02:00
stefan schippers efecd33d51 added tcl variable text_replace_selection (default: enabled (1) ) to automatically replace selected text in text widgets when pasting from clipboard 2023-07-20 09:06:58 +02:00
stefan schippers 2d11c5086c case insensitive compare in boolean attributes (attr=false, attr=True, attr=FALSE, attr=1) 2023-07-14 08:17:04 +02:00
stefan schippers bf46fd3e7b allow "1" / "0" in addition to "true" / "false" in all boolean attributes 2023-07-14 00:49:51 +02:00
stefan schippers 231f3a38d4 make the "X" window button close the search dialog box, as Cancel (and Escape key) does 2023-07-14 00:06:39 +02:00
stefan schippers ff66a48df0 doc updates about print command 2023-07-13 14:26:42 +02:00