Commit Graph

2323 Commits

Author SHA1 Message Date
stefan schippers fa3ee72a1c xinit: evaluate simuldir to adjust netlist_dir depending on local_netlist_dir setting, even if no netlist command given on cmdline, so netlist_dir will always point to the right place in the running session 2024-03-10 16:10:36 +01:00
stefan schippers 1ae2d397ed added intuitive_interface_cheatsheet.sch 2024-03-10 13:32:30 +01:00
stefan schippers 90241d2463 Alt-x to toggle crosshair display, removed alt-x and ctrl-shift-X for compare schematic functions (seldom used) improved calculation of `delta` in drawgrid, improved search() (added missing arcs and polygon attribute searches) 2024-03-10 12:11:51 +01:00
Stefan Schippers 64bfb94b86 svgdraw: add fill=3 (full) handling 2024-03-09 20:07:47 +01:00
Stefan Schippers c75d672d15 remove dbg msg 2024-03-09 18:33:42 +01:00
stefan schippers a855f732c9 fix redundant push_undo() in shape_point_selected ops 2024-03-09 06:16:41 +01:00
stefan schippers 3a412e8e6f fix redundant push_undo() in drag_elements 2024-03-09 06:08:22 +01:00
stefan schippers 218d4ad3f2 fill=solid in addition to fill=1 (stippled fill) or fill=0 (no fill) for rectangles, polygon/beziers and circles 2024-03-09 03:12:25 +01:00
stefan schippers 414274f4a3 add an example for postinit_commands in xschemrc 2024-03-08 23:13:02 +01:00
stefan schippers bbba395582 reordering execution of simulation callback after deletion of execute(win_path,$id)_simulate_id 2024-03-08 22:29:53 +01:00
stefan schippers ddcac8c69c fix some race conditions and execution order of callbacks given in simulate commands inside postinit_commands at startup 2024-03-08 19:19:30 +01:00
stefan schippers 904526408b some (commented) postinit_commands examples in xschemrc 2024-03-08 16:47:43 +01:00
stefan schippers d85ea9461c postinit_commands: execute at global scope 2024-03-08 16:05:43 +01:00
stefan schippers 0611c7a6e7 allow select and drag graphs by clicking the upper border too 2024-03-08 15:08:47 +01:00
stefan schippers 064e7accde xschem raw new: allow create multiple `sim_type`s in same raw name; some color adjtstments (background) in widgets 2024-03-08 11:56:59 +01:00
stefan schippers 53fdf69f9e remove debug msgs 2024-03-08 11:09:16 +01:00
stefan schippers ae69c55bd8 fix error in plot_raw_custom_data() wave expression calculator (missing part of the expression due to an improper `else if` 2024-03-08 11:07:14 +01:00
stefan schippers 336a132219 update inst_sch_select.sch, fix constrained move reset in intuitive_interface 2024-03-08 00:48:05 +01:00
stefan schippers 93722e8a21 comment typo, add one more example in inst_sch_select.sch 2024-03-08 00:08:48 +01:00
stefan schippers cf002964f3 fix wrong unselection of text objects after changing text layer (delete_only_rect_line_arc_poly() erroneously setting xctx->lastsel to 0) 2024-03-07 23:38:00 +01:00
stefan schippers 132d335757 fix a regression in merge_file(0,...) from user provided file being aborted 2024-03-07 18:32:42 +01:00
stefan schippers 71b1b52384 fix some unwanted persistency of constrained move (now renamed to constr_mv and moved into xctx struct), not being reset at end of command 2024-03-07 17:48:41 +01:00
stefan schippers 1fc335cec2 cleanup expression for tmp_rot in draw_selection() 2024-03-07 15:27:13 +01:00
stefan schippers 943c8f4453 fix a regression in the display of rttaing/flipping objects while moving 2024-03-07 13:28:47 +01:00
stefan schippers f57f09ee12 allow rotate/flip objects while moving in intuitive interface (Button1 pressed) 2024-03-07 12:31:18 +01:00
stefan schippers b0f1828eb8 simconf dialog box: remember geometry in current session 2024-03-07 12:03:43 +01:00
stefan schippers 3d7f8dff82 initialize file_dialog_retval to empty when clicking one of the recently used symbols in the `Recent` toolbox to avoid an abort operation on the very first time when leaving the file browser dialog (bind .load <Leave> event) 2024-03-07 01:05:23 +01:00
stefan schippers 76678ab8b6 drag wires from pins: improvements on previous commit 2024-03-07 00:08:47 +01:00
stefan schippers 022a0ebb5e drag wires from pins: if instance is selected can drag wire from pin even if there are already other wires attached 2024-03-06 20:04:15 +01:00
stefan schippers a7034ce2d1 directly create new wires by clicking and dragging from unconnected instance pins (if intuitive_interface is enabled) 2024-03-06 16:27:14 +01:00
stefan schippers d6eeefcfff set graphdialog back to transient (focus robbery issues on mate/cinnamon desktops) 2024-03-06 14:19:26 +01:00
stefan schippers 08cb3b2475 graphdialog: remember its size in current session 2024-03-06 13:41:47 +01:00
stefan schippers 4d3af62ee1 intuitive_interface: if clicking without shift all other selected objects will be unselected 2024-03-06 13:02:53 +01:00
stefan schippers f663a6486d intuitive_interface: if clicking without shift all other selected objects will be unselected 2024-03-06 12:58:29 +01:00
stefan schippers 174d590ad1 fix some regressions (place wires/lines/polys/rectangles from context menu), restore selection when creating a new arc 2024-03-06 12:53:49 +01:00
stefan schippers c88a8334a5 simconf: fix select color of checkbuttons 2024-03-06 03:36:57 +01:00
stefan schippers ad7f4713cf disable -stretch option in panedwindows when non supported on older tcl versions 2024-03-06 03:23:31 +01:00
stefan schippers e71a7374b2 proc has_included_subcircuit: better filter newlines in `.include file` lines in spice_sym_def attributes 2024-03-06 01:50:43 +01:00
stefan schippers 72e613785a fix some graphical artifacts when moving crosshair over partially selected objects (missing rebuild_selected_array()) 2024-03-05 23:17:42 +01:00
stefan schippers 7b107621ef dark_gui_colorscheme toolbar 2024-03-05 18:08:01 +01:00
stefan schippers ffd105a3e7 canvas ctx menu: fixed colors (not affected by dark_gui_colorscheme) 2024-03-05 13:22:12 +01:00
stefan schippers 3cdd6526c6 add xschem closest_object command, improve intuitive_interface (dont full-select already partially selected item when dragging) 2024-03-05 11:57:15 +01:00
stefan schippers ceafdedbbd intuitive_interface fix bug(3): cleanup 2024-03-05 10:04:39 +01:00
stefan schippers 02247d13bb intuitive_interface fix bug(2) (did unselect all when clicking on a new instance) 2024-03-05 09:58:48 +01:00
stefan schippers 733d5a9bb1 intuitive_interface fix bug (did unselect all when clicking on a new instance) 2024-03-05 09:55:35 +01:00
stefan schippers 99e2c9e503 various improvements in intuitive_interface and shape point selection 2024-03-05 02:54:35 +01:00
stefan schippers 2bd8be9dec remove debug info 2024-03-05 00:32:57 +01:00
stefan schippers f1bb389986 fix make_sym.awk: if an existing symbol is present with empty (or white space) attributes do not preserve these, force new default attributes (name=... template=... format=...) 2024-03-05 00:19:07 +01:00
stefan schippers 0129046499 add some padding to text in left listbox in load_file_dialog 2024-03-04 23:49:55 +01:00
Stefan Schippers 5be402ea22 add Option menu `draw crosshair`, some fixes for crosshair restoring when unselecting 2024-03-04 20:42:29 +01:00
stefan schippers 73ab9de8da better threshold for selecting rectangle vertices 2024-03-04 17:44:35 +01:00
stefan schippers 4a418924eb add line and wire direct endpoint editing 2024-03-04 17:13:36 +01:00
stefan schippers b3a52015f1 add rectangle point editing (vertices can be drag directly) 2024-03-04 16:33:20 +01:00
stefan schippers 973d2c7415 remove dbg mesages 2024-03-04 15:33:11 +01:00
stefan schippers 7daea289a2 refactored callback() (more sub-functions), some fixes in copy between windows 2024-03-04 14:38:32 +01:00
stefan schippers 128e91ce28 re-set xctx->intuitive_interface in context switches from $intuitive_interface in housekeeping_ctx 2024-03-04 02:09:30 +01:00
stefan schippers 5d9de6a697 refactor some variable names in callback() (Button1 events) 2024-03-04 01:25:29 +01:00
Stefan Schippers 6d7a4ab377 Intuitive interface: Shift-click and drag will duplicate objectt instead of moving and creating wires. cleanup polygon point editing (removed redundant code) 2024-03-03 20:13:43 +01:00
stefan schippers 3fac387e62 Intuitive interface: do not start move operations if clicking with SHift key pressed. Too many side effects. 2024-03-03 12:34:15 +01:00
stefan schippers d529f21d88 do not start xctx->drag_elements if xctx->poly_point_selected is set 2024-03-03 05:15:51 +01:00
stefan schippers 5e4fcabf39 set foreground of tooltip text so it can not be screwed up depending on colorscheme 2024-03-03 05:05:41 +01:00
stefan schippers 2561014b75 fix a missing return in drawbezier when called for cleanup, add a filter for $has_x before applying option instructions in xschem.tcl 2024-03-03 04:47:02 +01:00
stefan schippers efa413c4ec rename `Paste selection` in context menu to `Paste clipboard` to avoid confusion 2024-03-03 04:23:35 +01:00
stefan schippers 55ac6bb396 further fix previous regression 2024-03-03 04:21:49 +01:00
stefan schippers 54e446dbc2 fix regression: sel_or_clip filename not updated in merge_file() and in save_selection(). Fixed commit `copy between windows: allow to navigate between more than 2 windows` 2024-03-03 03:17:53 +01:00
stefan schippers c07871d4ee fix position of if(waves_selected(event, key, state, button)) in callback ButtonRelease 2024-03-03 02:24:38 +01:00
stefan schippers 5e6ab50836 further improve dark/light gui coloschemes 2024-03-03 01:57:02 +01:00
stefan schippers 48e93c4e37 added dark_gui_colorscheme (default: 0) for dark widget colorscheme configuration. Enabled again partial select (resize) of arcs 2024-03-03 00:40:51 +01:00
Stefan Schippers 96f6336234 set some black fg colors where bg is specified as white 2024-03-02 18:34:54 +01:00
Stefan Schippers 030702f31a set default foreground, background and various colors to avoid things geting screwed up by desktop themers 2024-03-02 18:03:03 +01:00
Stefan Schippers c49fd0bfc9 various fixes for intuitive_interface / drag_elements 2024-03-02 16:28:22 +01:00
Stefan Schippers 825c671660 fix intuitive_interface: selecting other objects with mouse srea select + shift will not start a move operation 2024-03-02 16:03:37 +01:00
stefan schippers 77cd3eec56 added intuitive_interface xschemrc and menu option: click and drag to quickly move objects without keyboard commands 2024-03-02 14:15:30 +01:00
stefan schippers 731dd91018 do a change linewidth before redrawing after invoking set_snap(), before draw() 2024-03-02 03:46:08 +01:00
stefan schippers 41d126b3c6 revert: don`t print rectangle bboxes around circles as this createed a black sinkhole and a chain-reaction of issues 2024-03-02 03:31:24 +01:00
stefan schippers 1ecf5a30f8 fix wrong bounding rectangle coordinate in circle bbox (drawtemparc()) 2024-03-02 02:43:49 +01:00
stefan schippers 9f167f9568 allow launcher style behaviourrt (tclcommand / url attributes) on all objects. Add (shift + but1 click) and Delete (Ctrl+ But1 click) polygon points. fixed some graphical artifacs when adding new object while some selection is present 2024-03-02 02:29:03 +01:00
stefan schippers 9f04c22aa0 UI cleanups related to polygon point dragging. Prepare for polygon add/delete points 2024-03-01 20:05:45 +01:00
stefan schippers 7ca9819e13 when locating polygon point to be dragged select first found if there are overlaping points 2024-03-01 19:13:29 +01:00
stefan schippers 51d13d73c0 precise selection of beziers based on the actual path and not the corresponding polygon 2024-03-01 18:20:57 +01:00
stefan schippers e897aee1c4 added bezier export in svg and postscript code 2024-03-01 17:23:49 +01:00
stefan schippers 7073b5b78c better notation of arc pointers in draw() 2024-03-01 16:03:24 +01:00
stefan schippers f903a018b2 removed partial select of arcs, will be replaced in the future by bound box resizing and ability to draw ellipses 2024-03-01 15:04:38 +01:00
stefan schippers 2f9d9e1755 dont allow recursive polygon placements (complete or abort before starting new) 2024-03-01 12:19:15 +01:00
stefan schippers a554ee0afa fix a typo in callback.c, remember size of text attribute set dialog box 2024-03-01 02:33:32 +01:00
stefan schippers 724449a1b3 comments in code about polygon point dragging 2024-03-01 00:48:04 +01:00
stefan schippers 28aec3fad8 fix error in set_snap(): should not do a redraw (draw() ) here, causing a segfault if x11/tk structures are not ready yet. add draw() in places where this function is called if there is something to draw/ 2024-03-01 00:39:24 +01:00
stefan schippers 263b72de03 add tcl in addition to sch and sym in default search filter in load_file_dialog 2024-03-01 00:29:23 +01:00
stefan schippers 1cb94bedd6 drawtemppolygon: draw/clear correctly control points when moving if no `Fix for broken GPUs option` is set 2024-03-01 00:23:07 +01:00
stefan schippers e946a729f8 add ability to click and drag directly polygon/bezier points 2024-03-01 00:12:44 +01:00
stefan schippers fb6d73723e display control point circles when polygon or bezier selected, simplify bezier drawing (no use pow(), no use precomputed cached power values) 2024-02-29 11:11:33 +01:00
stefan schippers 507c44e117 speed optimizations in drawbezier() 2024-02-29 04:41:06 +01:00
stefan schippers f4560a0add bezier shapes can be drawn (polygon with attribute `bezier=1`) 2024-02-29 03:40:08 +01:00
stefan schippers 714acfd5c9 tabulate: allow specify alternate separator characters 2024-02-28 18:12:40 +01:00
stefan schippers 599746c4b4 remove debug msg 2024-02-28 16:21:43 +01:00
stefan schippers 6a6881ff47 change_elem_order(): allow to change oder of text elements; add tcl tabulate procedure for pretty encapsulating tabular text into a nice ascii table frame. 2024-02-28 16:20:59 +01:00
stefan schippers 236f4967a9 use `flags: complex` in raw file in addition to `Plotname: ac` to determine if data is stored as complex numbers 2024-02-28 00:08:08 +01:00
stefan schippers 5fe6fa4639 xschem raw read: allow to read raw file with unspecified type (will get the first section found in file) 2024-02-27 23:42:19 +01:00
stefan schippers 2f1b819755 extra_rawfile: added null sim_type (type) check in table_read 2024-02-27 23:32:53 +01:00
stefan schippers 0ab7affda2 restore_selection(): add line width to bounding box of selection to eliminate graphic artifacts 2024-02-27 16:43:49 +01:00
stefan schippers 8515f25e25 fix regression in translate (check instances out of bound) affecting copy_objects() 2024-02-27 13:06:19 +01:00
stefan schippers 6ac58eb880 fix regression in translate (check instances out of bound) affecting place_symbol() 2024-02-27 12:51:20 +01:00
stefan schippers 7ede51737d table_read: skip empty csv rows (some tools save as ,,,,,) 2024-02-27 11:56:18 +01:00
stefan schippers 95fc6377d4 get rid of `sim_type=tablefile`, use `table` (scheduler.c, extra_rawfile()) for reding tables 2024-02-27 11:27:29 +01:00
stefan schippers 1e3ac96085 table_read(): read csv files 2024-02-27 10:24:21 +01:00
stefan schippers 354f027b9b call translate(-1, ..) for text objects containing @... and referencing no valid instance (floater=true) so non instance-related @vars are resolved. translate(): resolve @spice_get_voltage(net) without trying to calculated fqnet from net if no valid inst (-1) is given 2024-02-26 16:05:11 +01:00
stefan schippers 783b5c7aaa added wave processor functions `re()` and `im()` to get real and imaginary part from modulus and phase (expressed in deg) 2024-02-25 23:54:39 +01:00
stefan schippers 7a45497b45 add `xschem raw del node` command 2024-02-25 12:21:13 +01:00
stefan schippers 2fae34caa1 fix idx() function in wave processor, unified `xschem raw_query` and `xschem raw` commands 2024-02-25 00:06:15 +01:00
stefan schippers 5a2891e4de add idx() function (return index of point, 0, 1, 2, ...). doc updates about new wave processor functions 2024-02-24 22:35:54 +01:00
stefan schippers 203cf38e1e add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor 2024-02-24 13:15:43 +01:00
stefan schippers de2572e448 fix an off by 1 array bound in raw_add_vector 2024-02-24 01:53:26 +01:00
stefan schippers bf71dbc9e7 command xschem raw new to use `start end step` instead of `start step number` 2024-02-23 21:58:41 +01:00
stefan schippers 4e0c344493 better status reporting in xschem raw_query command 2024-02-23 13:29:53 +01:00
stefan schippers 44707d71db extend command `xschem raw_query add [expr]` for fast (C-speed) expression calculation 2024-02-23 12:46:03 +01:00
stefan schippers d1bd5140fe various bug fixes for `xschem raw new` command 2024-02-23 04:19:29 +01:00
stefan schippers 23092fc963 do not rely on raw file existence to decide if a raw is loaded. Added a function raw_is_loaded for that 2024-02-23 01:51:35 +01:00
stefan schippers ac3f3acb62 added command `xschem raw new name type sweepvar start step number` that creates an in-memory plot (like a loaded raw file) with only the sweep variable 2024-02-23 01:03:20 +01:00
stefan schippers de5c068775 file open dialog box: added red border when search entry focused 2024-02-22 20:36:23 +01:00
stefan schippers 515dee1ce8 file open dialog box: start with search entry focused and selected. Will take focus when iterating with TAB key 2024-02-22 20:29:24 +01:00
stefan schippers be22993410 add command `xschem raw_query add <node>` to add a vector <node> with all zeros to the loaded raw file. This vector can then populated with programmatic values using z `xschem raw_query set <node> point value` loop 2024-02-22 19:59:09 +01:00
stefan schippers 965bf381ea fix regression in xschem raw_read_from_attr when invoked from launcher 2024-02-22 14:36:34 +01:00
stefan schippers 446c0d687a add command `xschem raw table_read table_file` to read an ascii table file without closing other loaded raw files 2024-02-21 23:16:58 +01:00
stefan schippers 8986b7e0b8 load_file_dialog: fix a missing global declaration, fix double button click in right listbox 2024-02-21 15:02:30 +01:00
stefan schippers e347a251b0 load_file_dialog: separate search/file entries, better keyboard navigation 2024-02-21 14:02:58 +01:00
stefan schippers 69dec6c677 proc load_file_dialog: better allow mouseless operation (use keyboard enter/ arrow keys) 2024-02-21 00:15:59 +01:00
stefan schippers 1336e25e68 added xschem raw_query set node n value [dset] command to change loaded raw data 2024-02-20 17:17:38 +01:00
stefan schippers 99a01300c5 fix automatic sending bussed signals to graph (Alt-g) 2024-02-20 11:05:52 +01:00
stefan schippers 66ba05fe2c add xschem list_nets command 2024-02-19 13:03:28 +01:00
stefan schippers f547c86f1e preview window in file open dialog box is x/y resizable 2024-02-17 04:40:37 +01:00
stefan schippers 20add157c2 when double clcking (or hitting `q`) to edit attributes if instance has lab=... or value=... select the RHS and position insertion cursor, focus textbox. Add Shift-T bindkey for toggle *_ignore flag 2024-02-17 02:58:53 +01:00
stefan schippers 91829bf99d replace exec with execute_wait in proc convert_to_pdf when launching ps2pdf, so stderr messages will not be treated as a failure 2024-02-17 00:15:37 +01:00
stefan schippers 8b55066978 proc tclpropeval2: $sch_basename: remove path elements (use [file tail]) 2024-02-16 23:24:54 +01:00
stefan schippers 876f26cb80 proc tclpropeval2: make global var sch_basename (schematic name with no extension) available to TCL expressions 2024-02-16 23:17:54 +01:00
stefan schippers a176f99db5 svgdraw.c: avoid setting stroke-width to excessively small (invisible) values; print_spice_element(): in format string if @param is given and in instance atttributes param=value@tag do a round of resolution of @tag looking in instance attributes, then in parent symbol instance attributes (in case of per-instance implementation (schematic=... attr) and finally in parent symbol template string. Doc udpades 2024-02-16 16:44:33 +01:00
stefan schippers 7a589ef4fb change default SPICE_DATA from float to double 2024-02-15 11:26:13 +01:00
stefan schippers af5df351a6 rename xschem setprop inst prop_ptr ... to xschem setprop inst allprops ... 2024-02-13 13:32:14 +01:00
stefan schippers 6a5cca7b3c extend xschem setprop command, add xschem reset_inst_prop command 2024-02-13 13:13:28 +01:00
Stefan Schippers 91bcdfae20 spice_netlist(): do a round of tcl_hook2() (resolve tcleval(...)) on device_model attribute 2024-02-11 17:41:10 +01:00
Stefan Schippers 87fa701283 spice.awk: handle per-instance .subckt lines of vector instances 2024-02-11 16:55:57 +01:00
stefan schippers 5f4401258f spice.awk: handle per-instance .model lines of vector instances 2024-02-11 15:15:46 +01:00
stefan schippers 531a9c168c pass @device_model in symbols through translate() if it contains @xxx tokens 2024-02-11 11:47:13 +01:00
stefan schippers b3daf97cc4 remove @path resolution in print_*_element(): meaningless 2024-02-11 03:06:22 +01:00
stefan schippers 81f22b8bb2 symbol texts: do a double translate() if symbol text `@model` resolves to `xxx@name`, so `xxxN1` will be returned. This will not happen if `@model` resolves to xxx\@name` 2024-02-10 13:59:27 +01:00
stefan schippers 8aa62f2efa parametric models in subcircuits (model=@mod in instances, mod=xxx in parent instantiation) 2024-02-09 18:39:09 +01:00
stefan schippers 1cbbed77ba first commit for parametric models in subckts --DO NOT USE-- 2024-02-09 17:00:56 +01:00
stefan schippers c06a896d4f instance based schematic selection: if instance specified schematic=... not existing use base schematic (symbolname.sch) 2024-02-09 02:37:53 +01:00
stefan schippers 7639d65dc5 update make_sch_from_vhdl.awk (compliance with regexp syntax) 2024-02-07 12:32:07 +01:00
stefan schippers 59cf2fff1d remove trailing "/" in netlist_dir if present 2024-02-06 10:32:22 +01:00
stefan schippers da72478265 proc graph_edit_properties: "unlock X axis" checkbutton state immediately applied to graph, not only after closing dialog. 2024-02-05 23:33:25 +01:00