Commit Graph

78 Commits

Author SHA1 Message Date
Stefan Frederik b11955a3aa [experimental] better wave labels positioning in graphs 2021-12-23 03:43:34 +01:00
Stefan Frederik 76b537a587 [experimental] add waveform display of ngspice simulation data directly in xschem drawing area 2021-12-22 04:39:23 +01:00
Stefan Frederik 61e9c0e4e3 add flags member field in xRect struct for future additions 2021-12-19 20:53:52 +01:00
Stefan Frederik deec11851b C 32 bit hash_file accessible from tcl for faster hash calculatons 2021-12-10 01:08:31 +01:00
Stefan Frederik 5b01b0c4f1 xctx->inst[].instname set (whenever changing it) directly in new_prop_string() 2021-12-09 17:25:27 +01:00
Stefan Frederik 629917cfcd new find_inst_to_be_redrawn() implementation to recalculate area to be redrawn with/without show net names on symbol pins, simplified new_window() call in callback `x` command, code formatting in globals.c, added xschem get [xy]origin commands 2021-12-03 19:15:07 +01:00
Stefan Frederik fe549c0f5c readable function pointer call syntax 2021-11-29 11:52:32 +01:00
Stefan Frederik 03f973e203 use undo function pointers 2021-11-28 14:35:55 +01:00
Stefan Frederik f67ec47f82 added some comments, commented out xctx->prep_* = 0 in save_schematic() 2021-11-24 13:52:59 +01:00
Stefan Frederik 14e94eb615 remove_symbols() and remove_symbol(): some symbol fields were not correctly cleared when removing all symbols. Ensure inst[].name and sym[].name are not strdup`ed as NULLs 2021-11-22 12:42:33 +01:00
Stefan Frederik a495ada2ed When saving a schematic issue a warning if disk file has been changed since opening 2021-11-20 13:33:40 +01:00
Stefan Frederik 83746efbe9 some other static data eliminated from functions (edit symbol_property), in_memory undo structure moved into schematic context 2021-11-19 23:22:54 +01:00
Stefan Frederik d1a922643d Bunch of function static variables moved into xctx struct for safety 2021-11-18 01:55:01 +01:00
Stefan Frederik ad05513838 some parameter checks in xschem commands, global var removal in simulation help window - No use for production yet 2021-11-16 22:28:10 +01:00
Stefan Frederik 59198f2dda removed a whole bunch of global UI-related variables and tcl/C redundancies 2021-11-10 13:43:08 +01:00
Stefan Frederik 173450edde fix wrong toolbar "Push schematic" action 2021-11-06 02:09:32 +01:00
Stefan Frederik 3ec3add6c0 redundant code elimination in new_schematic(), fixed a memory leak in update_symbol() 2021-11-03 00:31:08 +01:00
Stefan Frederik b81325ea00 code cleanup, comments, more globals in Xctx context structure 2021-10-25 17:05:43 +02:00
Stefan Frederik 00311e7ff1 update license info 2021-07-27 16:42:54 +02:00
Stefan Frederik ac99227365 fix a bug when pasting / ctrl-v into an empty schematic (instances not selected for moving) 2021-01-22 01:03:16 +01:00
Stefan Frederik f1b3a2d3b1 sample schematic updates 2021-01-12 03:07:20 +01:00
Stefan Frederik 2063b42613 fixed a hypotetical integer overflow issue, do increment and modulo of hilight_color , remove some spaghetti code (use propagate_hilights() ) 2021-01-08 21:25:11 +01:00
Stefan Frederik a7831ce972 some fixes regarding restore of areas when hilights are present, move_objects and copy_objects(): ELEMENT move/copy out of cadlayer loop. 2021-01-08 03:09:29 +01:00
Stefan Frederik acb1c28921 find_inst_to_be_redrawn() fix speed issue when auto-net name showing is enabled: evaluate out of any operation loop, using hash table of changed nodes 2021-01-07 16:35:57 +01:00
Stefan Frederik 5cc1f04588 move.c: removed redundant drawing, now all areas are restored from pixmap by draw(). Postscript print: addition of (limited) unicode characters (0xC2 and 0xC3 2-byte sets are recoded to fit into the 256 slot postscript core font dictionaries). When editing multiple text objects with "preserve unchanged attrs" set do not change individual text dimensions. 2021-01-07 04:33:19 +01:00
Stefan Frederik 78b348c206 typo 2021-01-06 13:32:05 +01:00
Stefan Frederik fa2c55ba16 correctly unhilight instances after changing net labels 2021-01-06 13:29:14 +01:00
Stefan Frederik 7fc5b4cf1a various fixes for corner cases where changing labels of hilight nets (update inst[].color), update symbol bboxes when toggling show_pin_net_names 2021-01-06 05:47:05 +01:00
Stefan Frederik d0fb5f94e0 eliminated some global vars 2020-12-23 05:07:39 +01:00
Stefan Frederik 1184312527 various fixes around the highlight speed improvements 2020-12-19 05:06:57 +01:00
Stefan Frederik a837682731 caching "lab" and "highlight" attributes for speed 2020-12-19 03:22:38 +01:00
Stefan Frederik bb64297b6e better #if/#endif configuration of various xrender/xcb/cairo combinations 2020-12-07 20:04:57 +01:00
Stefan Frederik 17124c761c each schematic windows has its own "current later" (rectcolor) 2020-12-06 16:40:08 +01:00
Stefan Frederik e7e5ad190b more schematic context in xctx: cairo surfaces and context, save buffer graphic context (GC), hilight hash tables and data, node name hash tables. Refactoring of resetwin , resetcairo routines (also used in xinit to avoid code duplication), switching schematics seems almost complete now 2020-12-06 02:10:53 +01:00
Stefan Frederik 780b994aeb use short data type for small integer data: rot, flip, dash, bus etc... 2020-12-05 03:16:01 +01:00
Stefan Frederik 70cf1e8dfb fixed big performance issue when bulk-changing attributes on a big schematic and show_pin_net_names is enabled 2020-12-03 19:47:25 +01:00
Stefan Frederik e279262f00 more globals into xctx context struct 2020-12-02 15:10:47 +01:00
Stefan Frederik 2bd8a93889 preserve backslashes in instance name after doing an editprop(). get_tok_value() fix: do not eat "\" if called with with_quotes=1 2020-12-01 12:00:18 +01:00
Stefan Frederik eda64b7ee1 removed event_reporting feature 2020-11-29 03:27:45 +01:00
Stefan Frederik 0e35d65cac "xschem replace_symbol instance instname" --> "xschem replace_symbol instname", "xschem inst_pin_coord" made slot-aware, added comments in query functions 2020-11-26 13:31:42 +01:00
Stefan Frederik d93826f61c wrap long lines in source code, set default direction of pins to "B"(idirectional) if not specified in spice netlist (no *.PININFO information) 2020-11-22 00:51:24 +01:00
Stefan Schippers 957b9888d1 Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources 2020-11-03 12:10:55 +01:00
Stefan Schippers 8a45e319c9 if xschem is started with -n (netlist) load_schematic will not call tcl proc is_xschem_file to determine if sch or sym type, since command line option has higher priority. reverted back possibility in update_symbol() to have double quotes around name attribute (name="My strange name"). This has toooo many implications everywhere. name attribute must be wihout double quotes, xschem will strip them off if any. 2020-10-17 02:54:42 +02:00
Stefan Schippers 55723e9429 line width is related to the schematic, so it is moved under xctx; removed all integer versions (lw, bus_width) that needed to be kept in sync, created two macros to get the integer values from xctx->lw. main window save_pixmap is preserved when doing a schematic preview in file open dialog, so no need to regenerate its content (with a draw() call) after preview. 2020-10-17 00:53:19 +02:00
Stefan Schippers b626dfb599 replaced frequent "xctx->something" accesses with "something" for code readability, optimizations in hash_wire() when incremental wires added, STR_ALLOC() macro (performance reasons) 2020-10-16 16:34:15 +02:00
Stefan Schippers e7928727d6 all xctx context is now a dynamically allocated structure; no observable performace impact 2020-10-15 17:39:21 +02:00
Stefan Schippers 0eb706a67e removed changes in strings due to variable refactoring 2020-10-15 17:05:30 +02:00
Stefan Schippers 35f47beca9 force a rebuild selected_array when swapping element order (S key) to rebind correctly. renamed <UNCONNECTED_PIN> to __UNCONNECTED_PIN__ to avoid useless syntax warnings from the node label grammar parser. 2020-10-15 02:16:57 +02:00
Stefan Schippers 8e5bfe2a13 remove instname and symname parameters to tclpropeval2 as they are no more necessary 2020-10-14 23:44:53 +02:00
Stefan Schippers 8bb6b0e3f7 pass name and symname to tcl_hook, add @symname_ext in print_spice_element 2020-10-14 21:04:45 +02:00