Commit Graph

1095 Commits

Author SHA1 Message Date
Stefan Frederik e66abe36fa fix wave panning if a non graph added, better error reporting in png writer function, better flags option names for special objejcts (image and graphs) 2022-01-21 02:16:51 +01:00
Stefan Frederik a3ccc094f5 handle errors in image data, modified base64 decode to handle white space 2022-01-20 18:28:29 +01:00
Stefan Frederik 6fcdd46022 reordering of some function calls to prevent memory leaks 2022-01-20 01:57:53 +01:00
Stefan Frederik 3958faf1aa optimizations in image display, resolved some false leak report due to untracked mallocs 2022-01-20 00:47:15 +01:00
Stefan Frederik c3af523559 better data struct for embedded image 2022-01-19 23:28:19 +01:00
Stefan Frederik f7b6bdb937 useful coments added 2022-01-19 18:44:13 +01:00
Stefan Frederik d22245b33a show and store embedded (png) images in schematics 2022-01-19 18:39:23 +01:00
Stefan Frederik 03c5330c94 fix wrong #ifdef instead of #if in psprint 2022-01-19 12:15:33 +01:00
Stefan Frederik 98bfb90e11 fix ps/pdf printing if started with no X or no graphics 2022-01-19 10:44:15 +01:00
Stefan Frederik 41738166e3 various fixes in add net when separating components 2022-01-19 10:15:52 +01:00
Stefan Frederik 0ab2a9631a fix connect by kissing undo function 2022-01-19 04:12:34 +01:00
Stefan Frederik 881b32a689 fix selection of merged instances done b4 calculating bbox (uninit. values) 2022-01-19 02:05:05 +01:00
Stefan Frederik 1fb23208bc remove all xrender and all xcb code, remove detection as well. Fix a couple of potentially uninitialized variables 2022-01-19 00:49:46 +01:00
Stefan Frederik 6941451d9b fix crash when graph (bottom)x-scaling if dataset given > raw file datasets 2022-01-18 04:21:32 +01:00
Stefan Frederik 2e8bd72faf reverted xcb since text quality is slightly better 2022-01-18 03:37:54 +01:00
Stefan Frederik 12f9af62b8 reverted xcb since text quality is slightly better 2022-01-18 02:49:28 +01:00
Stefan Frederik 6dca33e716 xschemrc updated 2022-01-18 02:27:56 +01:00
Stefan Frederik 3c1603ea5e add wire also if separating component from a running wire (not connected at endpoints) 2022-01-18 02:10:56 +01:00
Stefan Frederik 74ebc3d887 add "connect by kissing (edit menu)" option, whereas separating with a move operation touching pins creates a net in between 2022-01-18 00:58:53 +01:00
Stefan Frederik f0d856560f removed useless old pan command 2022-01-17 22:41:36 +01:00
Stefan Frederik 2d6a0fea52 remove XCB code (HAS_XCB=1 macro), align find_gl_fb_attachment() prototype declaration to match other functions, avoiding warning in dep_add() 2022-01-17 17:40:07 +01:00
Stefan Frederik 6b97846985 fix crashing bug in split netlist mode for spice (fprintf-ing global nodes on closed netlist file) 2022-01-17 17:14:39 +01:00
Stefan Frederik 159b362c9f removed useless global tcl var token 2022-01-17 12:10:06 +01:00
Stefan Frederik 264b602b8d fix initialfile handling in load_file_dialog 2022-01-16 22:18:06 +01:00
Stefan Frederik 4379a68a19 HILIGHT_CONN macro 2022-01-16 14:49:59 +01:00
Stefan Frederik 51889e524a fix regression in zoom full with hidden graphs, reset globfilter if user clicks a file, so next directory listing will list all 2022-01-16 13:53:25 +01:00
Stefan Frederik ecf07e6761 better handling of glob patterns in save/load dialog, recognize floater label tags in files 2022-01-16 12:42:55 +01:00
Stefan Frederik c44673b2ac refactored some global var names, used only in command option processing 2022-01-16 01:12:43 +01:00
Stefan Frederik abce61655f do noop if a switch context into itself is called 2022-01-16 00:51:12 +01:00
Stefan Frederik c7b9e8206f various checks to prevent multiple file loading if no X or -x option used, put xpm header in icon.c so it can be opened by image viewers 2022-01-15 23:35:37 +01:00
Stefan Frederik 3f017074be load multiple files from command line, in tabbed or foating windows mode 2022-01-15 13:19:06 +01:00
Stefan Frederik 1167b97f2e fix regression in tabbed window WM_DELETE_WINDOW protocol handler 2022-01-15 03:09:18 +01:00
Stefan Frederik 158186a9c4 better WM_DELETE_WINDOW protocol handler in case of multiple windows 2022-01-14 19:37:01 +01:00
Stefan Frederik 231660989a fix undo regression on embedded examples due to prev commit 2022-01-14 17:07:17 +01:00
Stefan Frederik 627d122937 correctly skip embedded symbol info in file if not matching instance reference 2022-01-14 16:59:40 +01:00
Stefan Frederik 9f64e87b34 comments in source files 2022-01-14 14:56:13 +01:00
Stefan Frederik 3260d438c1 better selection of closest objects 2022-01-14 13:36:17 +01:00
Stefan Frederik 622fb168c1 obsolete comments scrub 2022-01-13 17:24:04 +01:00
Stefan Frederik acae16d106 left anchor window title in tab buttons 2022-01-13 15:40:20 +01:00
Stefan Frederik 6c85ceaad8 "hide(=true)" attribute to hide specific text items in symbols 2022-01-13 12:46:55 +01:00
Stefan Frederik e0eb450881 drop zero-size elements when opening a file 2022-01-13 03:09:45 +01:00
Stefan Frederik c3ad08fdd4 sourcing of user specified tcl scripts in xschemrc done after all graphics setup complete so we can autoload multiple tabs on startup, among other funny things 2022-01-13 02:08:36 +01:00
Stefan Frederik 54f3211d51 show modify status (*) in tab names, master tab has red foreground 2022-01-13 00:58:00 +01:00
Stefan Frederik 772a6c9f39 button press on a tab, hold button and drag onto another tab --> swap tabs 2022-01-12 23:55:46 +01:00
Stefan Frederik 88945158e2 button press on a tab, hold button and drag onto another tab --> swap tabs 2022-01-12 23:44:52 +01:00
Stefan Frederik a8d3cb814b globpattern "pat" search in file selector implicitly assumed to be "*pat*" 2022-01-12 00:17:10 +01:00
Stefan Frederik da27141112 fix left/right arrow keys for tab switching on Windows and Linux 2022-01-11 22:57:55 +01:00
Stefan Frederik aec7d02c4d tedax: do not generate __UNCONNECTED_PIN__%d names for unconnected instance pins in tedax netlist, do not highlight in red instances with unconected pins, still print ERC warning just in case designer forgot a connection 2022-01-11 14:40:43 +01:00
Stefan Frederik d273d5131e doc updates 2022-01-11 12:17:15 +01:00
Stefan Frederik 54fcf126f6 doc updates (sym attributes) 2022-01-11 04:17:17 +01:00
Stefan Frederik 659217148d fix error if tabbed_interface variable set in xschemrc 2022-01-11 02:01:11 +01:00
Stefan Frederik 7d3c19441d cleanup in tabbed/multi-context code, remoevd redundant functions, more tests in xschemtest 2022-01-11 01:09:56 +01:00
Stefan Frederik d6b513e1e2 issue warning if opening same circuit in different tabs, if tabbed if is active edit sch/sym in new window will do in a new tab 2022-01-10 18:54:07 +01:00
Stefan Frederik b81ce64c0c ctrl-left arrow / ctrl-right arrow to quickly move between tabs 2022-01-10 04:30:51 +01:00
Stefan Frederik a19bdc01a6 followup of previous commit: better set window title when swicthing context 2022-01-10 03:07:57 +01:00
Stefan Frederik 19398e8162 update window title/icon title when switching in tabbed interface 2022-01-10 03:00:33 +01:00
Stefan Frederik b93fa4794c fix regression in set_modify function 2022-01-09 23:44:43 +01:00
Stefan Frederik 01d9ba58c5 Tabbed windows: menu typo 2022-01-09 22:21:14 +01:00
Stefan Frederik 1360641d75 Tabbed windows interface option added 2022-01-09 22:19:58 +01:00
Stefan Frederik 84662451ae tabbed interface almost done 2022-01-09 14:58:45 +01:00
Stefan Frederik e238f571b0 code added for tabbed window interface 2022-01-09 05:14:25 +01:00
Stefan Frederik 536ff68143 optimizations in waves measure function 2022-01-08 01:16:13 +01:00
Stefan Frederik ef7effab69 separate bindkey (ctrl-shift-F) to zoom full selection 2022-01-08 00:00:13 +01:00
Stefan Frederik 0eaf884039 modularized usage of simconf`s scrollable frame so it can be reused 2022-01-07 12:45:18 +01:00
Stefan Frederik d9a51e4b1a bus value viewer show transitions (`X`), adding some query commands to get/set waveform attributes/plot data 2022-01-07 01:54:41 +01:00
Stefan Frederik 71a98e78f5 don`t try bring up the info ERC window if xschem is used in cli mode without X; filter out some events from graph event callback 2022-01-06 22:38:00 +01:00
Stefan Frederik 6297d1ac15 fix bus value calculation 2022-01-06 12:57:31 +01:00
Stefan Frederik 6f83b0cae5 code cleanup 2022-01-06 07:41:15 +01:00
Stefan Frederik 7c91b691ac remove dbg info 2022-01-06 07:38:59 +01:00
Stefan Frederik fdf93666b4 fix the hardest bug ever in master graph x-axis zooming (f**k!) 2022-01-06 07:37:44 +01:00
Stefan Frederik 8eae5398c5 fix clipping cursor texts 2022-01-06 05:34:42 +01:00
Stefan Frederik 9bdac2d854 fix horizontal alignment when panning multiple graphs 2022-01-06 05:00:24 +01:00
Stefan Frederik bff65b662a performance improvements (2) in draw_graph functions 2022-01-06 04:17:16 +01:00
Stefan Frederik c3f59beec1 performance improvements in draw_graph functions 2022-01-06 03:56:11 +01:00
Stefan Frederik 7f1a085656 performance improvements in draw_graph functions 2022-01-06 03:49:18 +01:00
Stefan Frederik 223b9dc0a6 various regressions due to refactoring fixed 2022-01-06 01:10:06 +01:00
Stefan Frederik c35d7b5d22 created Graph_ctx for graph data access; code refactoring 2022-01-05 23:07:08 +01:00
Stefan Frederik 09d8474a2c fix measure data in multiple sweep/wraps graphs 2022-01-05 17:38:01 +01:00
Stefan Frederik 4a705de9d0 better top/bottom clipping of waves 2022-01-04 06:21:50 +01:00
Stefan Frederik 31ba4ce0d6 added wave @ cursor measurement feature 2022-01-04 05:54:25 +01:00
Stefan Frederik 625495e27a measurement tooltip in graphs 2022-01-03 18:43:34 +01:00
Stefan Frederik 27a8e2246a full vertical resize applied only on active graph 2022-01-03 04:20:45 +01:00
Stefan Frederik 6aeb5ce4f8 nodes to plot are accepted without v(): v(nnn) --> nnn 2022-01-03 04:02:41 +01:00
Stefan Frederik 96f3914788 better zooming vertical axis of digital waves 2022-01-03 03:05:15 +01:00
Stefan Frederik 177f38ec2f better zooming vertical axis of digital waves 2022-01-03 02:38:38 +01:00
Stefan Frederik 55ad045669 checks for zero range axes, removed some unused function params 2022-01-03 02:30:10 +01:00
Stefan Frederik 33ecb08c4f checks for zero range axes, removed some unused function params 2022-01-03 02:28:34 +01:00
Stefan Frederik 2c09982e5a resolve a race condition in context menu (mouse click and immediately destroy menu by exiting the area) 2022-01-03 01:38:15 +01:00
Stefan Frederik 66152c33a5 better vertical scrolling of digital graphs 2022-01-03 00:29:05 +01:00
Stefan Frederik 81cbbfa39f better vertical scrolling of digital graphs 2022-01-03 00:27:15 +01:00
Stefan Frederik 104d0f8cc3 fixes for digital waves y axis scaling 2022-01-02 22:24:44 +01:00
Stefan Frederik 2a3e9ddea4 graph UI improved (unlock xaxis flag) 2022-01-02 04:42:15 +01:00
Stefan Frederik 2bbf967729 remove dbg message 2022-01-02 00:06:22 +01:00
Stefan Frederik 01764bc929 reset globfilter to {*} after using it 2022-01-02 00:05:05 +01:00
Stefan Frederik 1c27e4cc0a speed optimizations in draw_graph() 2022-01-01 21:47:17 +01:00
Stefan Frederik 81a7041c9f faster graph drawing by direct graph->screen transformation, avoiding double graph->xschem->screen scaling. File entry box is also a glob-search pattern in file open dialog 2022-01-01 15:46:03 +01:00
Stefan Frederik c42f37909c various fixes in multi trace/multi dataset graphs 2022-01-01 04:22:23 +01:00
Stefan Frederik 5ac44c11ea hierachical pdf export: avoid adding links to symbols that are not subcircuits 2021-12-31 12:37:28 +01:00
Stefan Frederik 06e84deb96 fix setting pdfmarks with directories in hierarchical pdf exports 2021-12-31 11:58:28 +01:00
Stefan Frederik 7600985557 fix various graph event handling issues 2021-12-30 23:22:13 +01:00
Stefan Frederik 9beda72ebb fix various graph event handling issues 2021-12-30 20:52:15 +01:00
Stefan Frederik c0ab0f1a61 hierarchy pdf prints have links to pdf pages of sub blocks 2021-12-30 20:11:41 +01:00
Stefan Frederik 6b8807e003 hierarchy pdf prints have links to pdf pages of sub blocks 2021-12-30 19:06:22 +01:00
Stefan Frederik a36ce82161 add page title: fix missing newline 2021-12-30 17:19:11 +01:00
Stefan Frederik 11dc5458af add page title in ps/pdf prints, ps and svg skip graphs if they are hidden 2021-12-30 17:15:50 +01:00
Stefan Frederik 5707b18aba wave view: added cursors for delay/time measurements 2021-12-30 15:45:38 +01:00
Stefan Frederik acb0489fcc graphical improvements for better graph scaling 2021-12-29 06:32:02 +01:00
Stefan Frederik 8cc6315e09 graphical improvements for better graph scaling 2021-12-29 06:21:51 +01:00
Stefan Frederik d6c197d108 fix BadDrawable regression in free_rawfile(): after deleting data a draw() was called, but since this function is called also in exit handler all windows are already closed. Added digital waveforms and bussed signal display 2021-12-29 05:11:39 +01:00
Stefan Frederik a0e057a52d added typedefs on used structs, updated xschemtest with new hashes 2021-12-28 01:33:01 +01:00
Stefan Frederik 2ec66255e3 perf optimization in graph drawing 2021-12-28 00:44:59 +01:00
Stefan Frederik 5dd3f5c15d digital wave graphs, handle multiple sweep dc simulations 2021-12-27 18:42:56 +01:00
Stefan Frederik e111b2b9d6 even with multiple selected graphs apply y axis pan/zoom only on master graph. Better checks/cleanups for load/unload raw file 2021-12-27 14:12:55 +01:00
Stefan Frederik 505801c49d fix edit rect attributes crashing (due to missing param to proc text_line) 2021-12-27 05:37:56 +01:00
Stefan Frederik 547097f176 graph UI refinement and various fixes. Zoom in/out keeps value under mouse fixed 2021-12-27 05:22:19 +01:00
Stefan Frederik 7a286e5466 graph UI improvements (no require shift + mouse for global x-axis sliding) 2021-12-26 15:13:57 +01:00
Stefan Frederik 214070bb1c graph UI improvements (x-axis slider, do not force mouse motion to be inside graph after starting operation) 2021-12-26 14:57:12 +01:00
Stefan Frederik eff02f5f02 graph UI improvements (global x slider), various fixes 2021-12-26 14:35:13 +01:00
Stefan Frederik 30ce222b68 graph UI improvements (global x slider), various fixes 2021-12-26 14:33:54 +01:00
Stefan Frederik 37575e9404 allow button1 in addition to button2 for panning / zooming waveforms, add menu commands to insert graph, display/hide empty graphs, load raw file 2021-12-26 04:09:55 +01:00
Stefan Frederik 8fb4c9ee55 Inutile stimuli translator integrated: some fixes 2021-12-26 00:41:21 +01:00
Stefan Frederik 163cdd72e5 Inutile stimuli translator integrated in xschem.tcl, no more EXEC-uted as external process 2021-12-26 00:35:56 +01:00
Stefan Frederik f3526a5a08 Inutile stimuli translator integrated in xschem.tcl, no more EXEC-uted as external process 2021-12-26 00:33:57 +01:00
Stefan Frederik 554c1666b8 schematic_waves_loaded(): look for waveforms in parent hierarchies 2021-12-25 15:01:22 +01:00
Stefan Frederik f5a737159d axis zoom: updated examples 2021-12-25 14:43:26 +01:00
Stefan Frederik 842bcb0b93 implement zoom/move/full on y axis graphs 2021-12-25 13:44:14 +01:00
Stefan Frederik 1f44a960cb implement zoom/move/full on y axis graphs 2021-12-25 13:37:49 +01:00
Stefan Frederik 0d6a6c488b handle spice simulation files with multiple datasets 2021-12-25 05:15:52 +01:00
Stefan Frederik 21d723e1a2 if user specifies start, end and only one division in a graph, don`t try to do any magic, just do what user asks, even if numbers are `ugly` 2021-12-24 23:15:36 +01:00
Stefan Frederik d423545ccc fix: missing graph borders 2021-12-24 21:17:52 +01:00
Stefan Frederik 70adb61410 Better axis label placement, smooth waves move/zoom with mouse, compile option to store sim data as floats instead of doubles, option for axis scaling (p,n,u,m,k,M,G), load waveforms command is a toggle (load / free) 2021-12-24 12:17:00 +01:00
Stefan Frederik ddb4c048bd add \n to allowed separators in list of nodes to be plotted 2021-12-23 18:35:12 +01:00
Stefan Frederik c30ff852a2 fix missing check for loaded data when user tries a "full" zoom in a graph window (segfault) 2021-12-23 13:01:18 +01:00
Stefan Frederik 62e71a8bbe draw_graphs(): add flag to avoid copying secondary buffer areas to screen if called from main draw(). This makes things faster and removes an annoying "tearing" effect when moving around 2021-12-23 11:59:39 +01:00
Stefan Frederik b11955a3aa [experimental] better wave labels positioning in graphs 2021-12-23 03:43:34 +01:00
Stefan Frederik 8a0fc1c1df mouse actions (move, zoom) on waveforms 2021-12-22 18:25:15 +01:00
Stefan Frederik 673eb243e7 update test schematic 2021-12-22 14:15:43 +01:00
Stefan Frederik 7cec1d3725 allow multiple sweep variables in overlayed graphs 2021-12-22 12:59:41 +01:00
Stefan Frederik 1b24e6fcb0 [experimental] added configurable sweep parameter for x-axis 2021-12-22 12:31:26 +01:00
Stefan Frederik ab1fdce64e [experimental] added configurable sweep parameter for x-axis 2021-12-22 12:22:11 +01:00
Stefan Frederik e0cad38f17 updated xschemtest.tcl with new hashes 2021-12-22 11:11:46 +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 969f4ec1c7 removed some dead code (what & START) in draw.c, paste/merge of lines/polygons/arcs/lines did not correctly restore dash attributes. Boiler plate code for draw waves 2021-12-20 00:01:10 +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 382cba1fda added missing quotes on return value in abs_sym_path 2021-12-19 10:11:54 +01:00
Stefan Frederik 86ac93c369 some "box" vars changed to "rect" for consistency 2021-12-19 01:28:39 +01:00
Stefan Frederik b0af12d529 better layout of load_file_dialog widget; better handling of (strange) pathnames in abs_sym_path 2021-12-19 00:20:20 +01:00
Stefan Frederik ead63f5c39 Fix regression: in load_file_dialog make "Current file dir" button work again 2021-12-18 13:11:21 +01:00
Stefan Frederik a397d936dc if a schematic references a symbol name as "./xxx.sym" (instead of just "xxx.sym")force searching in directory of current schematic first, then in XSCHEM_LIBRARY_PATH directories. 2021-12-18 12:29:17 +01:00
Stefan Frederik e2db38c881 statement reordering for faster execution in my_round() 2021-12-17 23:56:25 +01:00
Stefan Frederik 0c9eff16d9 my_round() function instead of ROUND() macro 2021-12-17 15:40:19 +01:00
Stefan Frederik 993c3a24c2 rename xschem_simulator/ n.sym and p.sym to ntrans.sym and ptrans.sym to avoid confusion with symbols in rom8k/; place tk_messageBox above right xschem window when using multiple (single process) windows. 2021-12-17 03:29:53 +01:00
Stefan Frederik 72f365f995 fix regression in tclgetvar() not returning NULL for non existent variables (place text dialog box did not show text size) 2021-12-16 23:09:23 +01:00
Stefan Frederik fd5e6caf13 preserve line ordering regardless of awk hash implementation in tedax netlists as done for vhdl and verilog; include a couple of tedax netlist checks in xschemtest 2021-12-16 00:39:09 +01:00
Stefan Frederik ba15e21b24 preserve ordering in verilog/VHDL signal/wire/reg declarations for consistent netlist hashing/checking 2021-12-15 15:17:45 +01:00
Stefan Frederik 95ea920faf do not hash the comments containing absolute paths in xschemtest netlist check, since these vary on different systems 2021-12-14 12:40:32 +01:00
Stefan Frederik b7af31d38c fix regression in tcl execute procedure ("execute 0 prog" blocking if prog closes stdout/stderr file descriptors) 2021-12-13 01:52:18 +01:00
Stefan Frederik 875581a4fb avoid "rb" fopen in hash_file() on windows, who cares, code handles \r (or missing \r) to have consistent results 2021-12-10 15:19:24 +01:00
Stefan Frederik 5a3ea573cd more modularized xschemtest, use stdlib file functions for hash_file() 2021-12-10 13:17:21 +01:00
Stefan Frederik 5270d41d8d better hash_file function (more precise cr/lf scanning) 2021-12-10 03:05:53 +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 9e2f3816fd xschem paste command: allow set x and y on cmdline to avoid interactive placement 2021-12-09 20:31:06 +01:00
Stefan Frederik d44c733fae find_inst_to_be_redrawn(): avoid unneeded call to int_hash_free() if no show net name option active; inst_hash_lookup(): store only pointers to instnames, avoiding strdups 2021-12-09 18:01:54 +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 b0010322ec remove redundant assignment 2021-12-09 14:07:26 +01:00
Stefan Frederik 8eaada23f0 static function rename 2021-12-09 13:43:00 +01:00
Stefan Frederik 6458fdc5bd unsigned char cast in hash functions 2021-12-09 00:34:43 +01:00
Stefan Frederik e45e3caa84 avoid allocating 0 byte objects in hash_iterator.c, some fixes in xschem subcommands ("clear", "get lastsel", "align", "wire") 2021-12-08 02:38:56 +01:00
Stefan Frederik fa25edabec fix 3 potential (small) memory leaks 2021-12-08 00:38:19 +01:00
Stefan Frederik 9f99a31fac hash_inst_pin(): avoid reporting erc messages if for_netlist==0 2021-12-07 20:40:33 +01:00
Stefan Frederik 5a91aec3ff translate() refactoring/cleanup 2021-12-07 20:33:11 +01:00
Stefan Frederik 5503786979 translate(): recognize @@ and @# token patterns to avoid useless get_tok_value() calls 2021-12-07 19:43:57 +01:00
Stefan Frederik 1e2983483f comment out a couple of dbg lines in inner loops for performance 2021-12-07 19:15:37 +01:00
Stefan Frederik 989388e14b allow panning schematic even if dialog box displayes or xschem simulation ongoing; update example simulate_ff.sch 2021-12-07 14:07:36 +01:00
Stefan Frederik 0636b04d0e better find_inst_to_be_redrawn() usage in copy/move/delete operations 2021-12-07 12:53:13 +01:00
Stefan Frederik e3077c6f90 fix copy/move operation with flips/rotations: correctly restore object bboxes for correct drawing deletions (move) and restoration of originally selected component bboxes (copy) 2021-12-07 12:00:54 +01:00
Stefan Frederik 19f0fd3c6e optimizations in calc_drawing_bbox() (less get_tok_value() calls), optimizations in bus_hilight_hash_lookup() (less expandlabel() calls) 2021-12-07 02:18:23 +01:00
Stefan Frederik 4cd8642362 handle error conditions in tclget*var() functions 2021-12-06 02:00:58 +01:00
Stefan Frederik 31ff86557e single global array var `execute` instead of multiple execute_* arrays for `execute` process handling 2021-12-06 00:58:06 +01:00
Stefan Frederik 506d9683d5 no newline print on exit 2021-12-05 22:32:56 +01:00
Stefan Frederik de1db1e87a main.c do not spawn a child closing std file descriptors if -b option is given, just start xschem without interactive tcl shell, handle error condition in setup_tcp_gaw 2021-12-05 15:31:26 +01:00
Stefan Frederik e449543805 tclvareval() wrapper 2021-12-05 12:39:05 +01:00
Stefan Frederik 05f176045b remove propagate_hilights() from prepare_netlist_structs() (call explicitly when needed). Fix hilight_parent_pins()/propagate_hilights() in go_back() (some UNhilighted pins did not propagate to parent) 2021-12-05 01:34:19 +01:00
Stefan Frederik 9afce9efee report compile options in `xschem globals` command, more precisely calculate deleted object bboxes (recalculate at current zoom level due to text size roudings) to avoid some small leftover graphics after deletion 2021-12-04 11:23:38 +01:00
Stefan Frederik 8832830d91 implement option `-b` for `x` hot key (to open a new xschem`s process) on Windows. (Joannne) 2021-12-04 01:50:05 +01:00
Stefan Frederik e3ab569f35 fix: xctx->inst_redraw_table can not be static, must be dinamically allocated. 2021-12-04 01:45:26 +01:00
Stefan Frederik a7277acfda some more brace protected filenames in C tcl calls 2021-12-03 23:59:46 +01:00
Stefan Frederik 954979e200 brace filenames (to protect spaces) in Tcl_VarEval() calls from C as per Joanne findings. 2021-12-03 19:37:59 +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 02173373cb some little optimizations, redundant code removed, better formatting in globals.c 2021-12-02 13:28:40 +01:00
Stefan Frederik cb8ffce9cf fix save() function usage, in case user cancels save 2021-12-01 17:00:01 +01:00
Stefan Frederik f466ce5ad4 better menu text 2021-12-01 12:42:40 +01:00
Stefan Frederik d98c855135 remove calls to ngspice::resetdata in C code, done in ngspice annotator when reading a new file and in xinit.c when exiting the program. Some File menu item reordering 2021-12-01 00:35:52 +01:00
Stefan Frederik 6cf6c58841 add menu command to restore all colors to default, deleting "colors" config file 2021-11-30 00:38:02 +01:00
Stefan Frederik e2197844ca fix infowindow (wrong window path) 2021-11-29 19:14:24 +01:00
Stefan Frederik 40803e47c5 Add Dismiss button to infowindow 2021-11-29 18:41:13 +01:00
Stefan Frederik 053d06c0f6 use tclgetvar for XSCHEM_TMP_DIR 2021-11-29 18:26:52 +01:00
Stefan Frederik 1c18211894 use tclgetvar for XSCHEM_TMP_DIR 2021-11-29 18:26:20 +01:00
Stefan Frederik 0ebe36bc8f avoid quitting the program for some serious but non fatal errors, add some error reporting, some documentation updates (faq.html) 2021-11-29 17:29:09 +01:00
Stefan Frederik d4fb14a0bb store server socket descriptors so they can be closed at will 2021-11-29 14:56:34 +01:00
Stefan Frederik 887c546d00 more consistent naming for some xschem subcommands, added and updated "xschem help" command (still wip) 2021-11-29 14:37:39 +01:00
Stefan Frederik fe549c0f5c readable function pointer call syntax 2021-11-29 11:52:32 +01:00
Stefan Frederik d3ef2038ed "xschem change_colors" to "xschem build_colors" in tcl command language for consistency 2021-11-29 11:27:11 +01:00
Stefan Frederik 1963669c3f xschemrc update (undo_type) 2021-11-29 04:14:35 +01:00
Stefan Frederik 2442a3dfc0 runtime menu option to set undo stack on disk or in memory 2021-11-29 02:47:37 +01:00
Stefan Frederik 03f973e203 use undo function pointers 2021-11-28 14:35:55 +01:00
Stefan Frederik 88b00fd546 add undo function pointers 2021-11-28 13:29:13 +01:00
Stefan Frederik 01b3401e43 in memory undo now saves / restores all symbol definitions, so no re-link to instances operation is needed 2021-11-28 13:16:01 +01:00
Stefan Frederik 1cbfc16cd9 better simconf help text 2021-11-27 03:49:39 +01:00
Stefan Frederik 965d2f3ec1 Restore default (delete simrc file) button in simulation configuration dialog 2021-11-27 03:37:36 +01:00
Stefan Frederik 551bbcec0c Windows does not recognize XPending, fix typo for verilog_format`s port name: g instead of f 2021-11-26 13:16:52 +01:00
Stefan Frederik f9b6389942 cosmetic changes ([xschem get version] print format) 2021-11-25 19:26:43 +01:00
Stefan Frederik 39a27e856e fix pcb_current_protection_embed.sch with up to date embedded symbols (previous had very old symbols with errors), fix pmos.sym (make pin names and verilog_format string consistent). All other schematics with embedded symbols updated with current library symbol. Some code in place for saving/restoring symbols in in-memory undo. This code is not compiled so does not affect xschem operation at all. 2021-11-25 04:00:01 +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 9d38cb3823 removed debug messages 2021-11-24 04:19:32 +01:00
Stefan Frederik e7aa7b9d04 fix netlisting errors on schematics with embedded symbols. When purging unused symbols schematic was re-linked with library symbols instead of embedded symbols, leading to errors if the symbols differ. Fixed popping schematic from undo stack instead of calling link_symbols_to_instances() 2021-11-24 03:47:04 +01:00
Stefan Frederik 364c2f1f3a moved functions containing X calls: now only callback.c, xinit.c and draw.c contain xorg-specific function calls. 2021-11-24 01:07:33 +01:00
Stefan Frederik e77b72df9c old_winpath[] removed from globals, put as static string into callback(), fix ngspice::annotate netlist_dir fetching. 2021-11-23 23:20:10 +01:00
Stefan Frederik 9f33230f44 removed unneeded tcl global "simulate_bg" 2021-11-23 17:16:21 +01:00
Stefan Frederik 78934d363f removed duplicate netlist_dir global var in C code, use tcl netlist_dir variable, some widgets now display on top of current schematic window instead of xschem`s master window (use [xschem get topwindow] instead of ".") 2021-11-23 17:02:36 +01:00
Stefan Frederik d03147dce1 more consistent naming convention for hash table functions 2021-11-23 15:03:51 +01:00
Stefan Frederik d6d3ab502c some comments in the code, avoid potential memory leak in netlisting code 2021-11-23 01:14:49 +01:00
Stefan Frederik 88d64136a6 fix remove_symbols() not first deleting instance .node[] fields on instances 2021-11-22 21:47:13 +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 4c17e2251e undriven net warning has higher priority over open net 2021-11-22 01:32:49 +01:00
Stefan Frederik 9bca5b3f5b fix descend_symbol regression due to previous commit 2021-11-22 00:42:53 +01:00
Stefan Frederik 1c37e7eeee when descending from a modified schematic with highlight nets and not saving schematic before descending, clear highlights to avoid inconsistent state when returning back. save() and save_schematic() have more decent return values 2021-11-22 00:26:49 +01:00
Stefan Frederik fddd3f84fb avoid force-saving changed schematic before doing netlist (use push/pop undo instead of load_schematic() to restore circuit after traversing hierarchy) 2021-11-21 23:04:48 +01:00
Stefan Frederik 7f9ee9fc2a add "xschem check_symbols" and "xschem reload_symbols" for future checking of symbols that are newer wrt to schematic. set mtime of newly created schematic (that does not exist on disk) to current time. Add verilog attributes to devices/pmos4.sym 2021-11-21 12:28:36 +01:00
Stefan Frederik 608912078f fix "untitled" window title setting 2021-11-21 02:08:27 +01:00
Stefan Frederik 4b228737f4 fix long standing typo in file selector right listbox (-selectmode browse) 2021-11-21 01:56:54 +01:00
Stefan Frederik 10114ec838 add missing braces in update recent file submenu, fix file selector improperly setting main window title, added logic/test_mos_verilog.sch depletion mode verilog example 2021-11-20 23:44:19 +01:00
Stefan Frederik e4f4c75e9a fix stat missing arg 2021-11-20 13:47:25 +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 9ceb25716e auditing of static in-function variables, remove unnecessary, add notes for allowed ones 2021-11-20 02:37:56 +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 4cb0a12d64 resolve a race condition between Configure event delivery, window creation, and wm hints setting for icon 2021-11-18 03:06:22 +01:00
Stefan Frederik bbba3b9c02 check for max number of subwindows, better way to set icons for windows 2021-11-18 03:01:28 +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 eecc81437c flat_netlist and only_probes moved into xctx struct 2021-11-17 23:12:17 +01:00
Stefan Frederik daf90b0645 fix icon pixmap on child schematic windows 2021-11-17 22:15:36 +01:00
Stefan Frederik dcae02e8c4 remove dbg messages 2021-11-17 17:56:32 +01:00
Stefan Frederik e27c5dc21a separate pack_widgets and set_bindings 2021-11-17 17:53:18 +01:00
Stefan Frederik 1ce2d71e95 add File menu to open new recent schematic windows 2021-11-17 16:02:29 +01:00
Stefan Frederik 043e83e18f fix correct drawing of new schematic window if schematic not found 2021-11-17 13:32:32 +01:00
Stefan Frederik 7fcda987c0 proc new_window add abs_sym_path so full path is resolved if necessary 2021-11-17 11:47:12 +01:00
Stefan Frederik 59fccdee14 proc new_window remove file normalize as it messes up symlinks 2021-11-17 11:34:58 +01:00
Stefan Frederik ed87f28b23 fix typo in proc edit_vi_prop 2021-11-17 11:08:25 +01:00
Stefan Frederik 2604db125a fix typo in proc edit_vi_prop 2021-11-17 11:01:44 +01:00
Stefan Frederik f7fa39a975 track_memory.awk: option to disable source line display 2021-11-17 04:06:36 +01:00
Stefan Frederik dfc8031786 add File menu to open another schematic window in same xschem process 2021-11-17 03:49:32 +01:00
Stefan Frederik 937261807b fix setting snap and grid values in statusbar 2021-11-17 01:30:37 +01:00
Stefan Frederik bd626427fd fix status bar info correctly swicthing when focusing multiple xschem child windows; multiple schematic window handling within one xschem instance is now working 2021-11-17 01:12:55 +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 290fc3c793 fix missing escaping of "[" and "]" in tcl command bound to simulate button. Thanks to Mayank Gupta for pointing out the issue 2021-11-14 11:49:12 +01:00
Stefan Frederik dfb4821ef8 2 more global window declarations removed 2021-11-10 14:11:27 +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 c3c1b39cb5 (2) full widget creation for xschem new windows, code cleanup, removed old stuff 2021-11-09 19:05:56 +01:00
Stefan Frederik c6a6d1b1dc Motion and Enter events regain focus even it toolbar is displayed and user pressed "Tab" to focus a button; toolbar button focus ordering matches display ordering 2021-11-08 16:27:07 +01:00
Stefan Schippers b1f7a7a277 update bindkey description ("\" fullscreen) 2021-11-07 18:41:30 +01:00
Stefan Frederik fce2c9a292 more consistent ctx menu label texts 2021-11-07 12:57:02 +01:00
Stefan Frederik 05b8447846 better copy/paste button images 2021-11-07 12:54:15 +01:00
Stefan Frederik b175050843 gif toolbar images now with transparent background 2021-11-07 12:07:13 +01:00
Stefan Frederik 9fd56b8f91 fix waves toolbar image 2021-11-07 02:24:33 +01:00
Stefan Frederik 1b8920f3f0 more comments in resources.tcl 2021-11-07 01:32:03 +01:00
Stefan Frederik bb8ccce4d1 comments in resources.tcl, license info 2021-11-07 01:26:31 +01:00
Stefan Frederik f96ff46afc better ctx menu font on old 8.4 tcl-tk 2021-11-07 01:12:04 +01:00
Stefan Frederik 9e10a67fd1 yet another 2 pngs converted to gifs 2021-11-07 01:04:14 +01:00
Stefan Frederik e3b440f237 toolbar image data converted to gif89a. since older tcl-tk dont support png. 2021-11-07 00:59:19 +01:00
Stefan Frederik b62f8b57f7 removed useless assignments xctx->m[xy]_save = m[xy] in contexts where its unnecessary 2021-11-06 03:34:14 +01:00
Stefan Frederik 7985e8d22c fix some positioning glithes in UI when placing text via bindkey or menu or context menu 2021-11-06 03:24:45 +01:00
Stefan Frederik 173450edde fix wrong toolbar "Push schematic" action 2021-11-06 02:09:32 +01:00
Stefan Frederik 7efc446dae Escape key (instead of Simulation menu entry, now removed) stops ongoing xschem internal simulator engine if running 2021-11-04 23:52:24 +01:00
Stefan Frederik 4908152d99 break.awk: chop trailing white space on lines 2021-11-04 23:31:15 +01:00
Stefan Frederik 8281c67aed fix some UI glitches (place text/symbol and aborting operation during move will now delete placed objects) 2021-11-04 15:08:54 +01:00
Stefan Frederik 7490c80a9c fix UI bug when placing text and immediately deleting it (did not delete) 2021-11-04 13:30:50 +01:00
Stefan Frederik 966ebdc26e fix deletion of ctxmenu if user keeps right button pressed and exits window, icons in ctxmenu 2021-11-04 12:57:41 +01:00
Stefan Frederik fdf198d71e remove commented toolbar items in list 2021-11-04 09:30:43 +01:00
Stefan Frederik f5f6b681e2 removed rarely used toolbar buttons, added Abort context menu command 2021-11-04 02:07:41 +01:00
Stefan Frederik aadc37c2a8 More consistent context menu texts 2021-11-04 01:50:18 +01:00
Stefan Frederik 6ab004ec4b More consistent context menu texts 2021-11-04 01:43:43 +01:00
Stefan Frederik b720423eb3 comment typos 2021-11-04 01:23:40 +01:00
Stefan Frederik e85559efec context menu added in drawing area (right mouse button) 2021-11-04 01:13:44 +01:00
Stefan Frederik 5482cd0c2a redesign search toolbar button 2021-11-03 17:16:57 +01:00
Stefan Frederik c74e7fdb40 redesign of some toolbar buttons 2021-11-03 17:10:13 +01:00
Stefan Frederik 4dcb2c61a1 redesign of some toolbar buttons 2021-11-03 17:02:52 +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 6dbd952910 code cleanup in new_schematic(), error checks to make new window creation safe and simpler (proc new_window what path filename) 2021-11-02 02:23:45 +01:00
Stefan Frederik afa8a2d2d7 simpler yet better hash function 2021-10-31 23:38:52 +01:00
Stefan Frederik c8f6b66fdd new string hash function 2021-10-31 22:34:31 +01:00
Stefan Frederik 52c508423e eliminated duplicated string hash functions 2021-10-31 13:35:06 +01:00
Stefan Frederik 1fa2486e44 remove dbg messages in propagate_logic() 2021-10-30 21:33:12 +02:00
Stefan Frederik ebf0f0cf95 fixed simulation engine, no more bidirectional devices allowed 2021-10-30 03:12:06 +02:00
Stefan Frederik 8dbe8b7771 simplified simdata struct 2021-10-28 10:36:23 +02:00
Stefan Frederik e7d28947c1 removed redundant "valid" member in simdata struct 2021-10-27 22:56:33 +02:00
Stefan Frederik 45a567a405 fix compiler warnings (unused return value check on some function calls, missing %s on non literal string printf args) 2021-10-27 10:12:16 +02:00
Stefan Frederik fe5d2efc59 fix false positive in double-free detection, reported by updated track_memory.awk; fix missing free on allocated string 2021-10-26 01:18:16 +02:00
Stefan Frederik 04e670b3cf fine tuning of previous commit 2021-10-26 00:04:13 +02:00
Stefan Frederik b81325ea00 code cleanup, comments, more globals in Xctx context structure 2021-10-25 17:05:43 +02:00
Stefan Frederik 19f8939347 scconfig test for dup2() availability 2021-10-25 01:53:00 +02:00