stefan schippers
|
8399106ed4
|
avoid using "string is list" if tclversion <= 8.4
|
2023-06-28 00:32:56 +02:00 |
stefan schippers
|
eaa56bdc45
|
make the "xschem_quit" command work (close current window / tab) also if xschem started in -x (no graphics) mode
|
2023-06-26 07:57:00 +02:00 |
stefan schippers
|
5d9e0d3d8a
|
enable xschem to load multiple files even if started with "-x" (only CLI mode)
|
2023-06-25 23:33:26 +02:00 |
stefan schippers
|
f95a1b7244
|
further fix initial full zoom of schematics loaded into multiple tabs with File->Open
|
2023-06-24 08:25:14 +02:00 |
Stefan Schippers
|
0f3a0c62a8
|
resetwin() do nor process pending_fullzoom if window size has not set by window manager (width ==1 || height ==1)
|
2023-06-23 20:03:48 +02:00 |
stefan schippers
|
cf5c02c141
|
if a file is given on cmdline without any path qualifier (/.../, ./, ~/, ...) look into search paths. Fix wrong initialization of xctx->lw=-1.0 in alloc_xschem_data(), set to 0.0
|
2023-06-23 15:49:23 +02:00 |
stefan schippers
|
d5c0fbcf15
|
remove debug messages
|
2023-06-23 11:18:02 +02:00 |
stefan schippers
|
cd15362376
|
improve prevous commit: do not execute "pending_fullzoom" drawing if main window unmapped (do not decrement the pending_fullzoom flag and delay until window is visible)
|
2023-06-23 11:15:54 +02:00 |
stefan schippers
|
9ea7121846
|
set pending_fullzoom=1 on additionally created tabs so will display correctly if xschem started deiconified (wm withdraw .)
|
2023-06-23 10:59:06 +02:00 |
stefan schippers
|
70995165b0
|
fix regression (--command option)
|
2023-06-23 09:53:05 +02:00 |
stefan schippers
|
7e865eea1d
|
avoid doing a full zoom before loading schematic in create_new_tab() and create_new_window(), as this will result in slightly different full zoom area in new tabs w.r.t first tab.
|
2023-06-23 09:34:16 +02:00 |
stefan schippers
|
c6df85cce5
|
apply center full zoom in all zoom full commands if tcl variable zoom_full_center is set
|
2023-06-23 09:04:55 +02:00 |
stefan schippers
|
284ff2d1db
|
fix crash if --script is given (xctx->sch[] was not initialized, regression due to xctx->sch transformed to array of pointers)
|
2023-06-19 23:42:52 +02:00 |
stefan schippers
|
89d90c21db
|
xctx->sch made an array of pointers instead of array of PATH_MAX strings (memory saver)
|
2023-06-17 23:58:35 +02:00 |
stefan schippers
|
3eeaf53cd4
|
improve quit_xschem command and xschem new_schematic destroy_all
|
2023-06-09 08:12:39 +02:00 |
stefan schippers
|
de1f4f0d86
|
added commands `xschem switch [win_path|schname]`, `xschem destroy_all [force]`, added `[force]` option to xschem exit
|
2023-06-08 10:40:52 +02:00 |
stefan schippers
|
b6e9ab33cc
|
fix compare schematics if no file for schematic to compare with is given. In this case compare current schematic with saved version. Also issue a warning if swapping compare schematics if comparing schematic with disk version of itself.
|
2023-06-06 19:39:40 +02:00 |
stefan schippers
|
229b07b945
|
fix missing save_ctx in create_new_tab and create_new_window when creating new tab/window after the 2nd one, leading to wrong context switches. Added trace command on XSCHEM_LIBRARY_PATH when changing search path. `proc set_paths` is automatically called to cache in the new search path. No need to run it manually
|
2023-06-05 10:54:26 +02:00 |
stefan schippers
|
55d011ba7b
|
added necessary comments in swap_windows() / swap_tabs() functions
|
2023-06-04 22:54:39 +02:00 |
stefan schippers
|
2312bfc34e
|
non-empty string given as win_path in `xschem new_schematic create` will avoid warnings if opening multiple windows/tabs of the same file. do not issue warnings if calling xschem with multiple identical schematic files from the command line. `xschem new_schematic` command: use abs_sym_pth on given filename to get correct path.
|
2023-06-04 21:48:43 +02:00 |
stefan schippers
|
7aa6ecfbd6
|
make `xschem exit` (ctrl-w, close window) work in multi-window mode exactly as in tabbed interface, allowing to close the root window (will be swapped with subwindow and deleted)
|
2023-06-04 15:37:35 +02:00 |
stefan schippers
|
e68ca0a0cc
|
Place polygon bind key is now `p`, ctrl-w is now `Close current schematic`, while ctrl-q is `Quit xschem`. Reorganized File menu, added more orthogonal `Create new schematic/tab` removed some largely unused entries. Ctrl-w does not close the last window, just leaves it blank. Use ctrl-q to close xschem
|
2023-06-03 23:57:35 +02:00 |
stefan schippers
|
57ea120a33
|
removed some direct exit() calls in editprop.c
|
2023-06-03 12:19:34 +02:00 |
stefan schippers
|
f9610851e8
|
cleanup exit procedures: tcl exit command will cleanly delete additional tabs/windows data structures before closing
|
2023-06-03 11:37:37 +02:00 |
stefan schippers
|
6e2754020b
|
added function swap_tabs() (wip)
|
2023-06-03 09:37:43 +02:00 |
stefan schippers
|
0244dc5e69
|
add command xschem tab_list, returns window pathname and associated filename loaded
|
2023-06-03 00:21:55 +02:00 |
stefan schippers
|
09a373954f
|
initial implementation of portmap feature: from sub-schematics resolve hierarchic name of schematic nets connected to I/O pins (go to the upper level recursively until resolved)
|
2023-05-26 11:56:52 +02:00 |
Stefan Schippers
|
ba402e65c0
|
remove unneeded variable in create_new_tab()
|
2023-05-24 18:20:18 +02:00 |
stefan schippers
|
5c22d26072
|
update copyright info to 2023
|
2023-05-21 12:52:19 +02:00 |
stefan schippers
|
014ebf0477
|
is_from_web() function to avoid code repetitions, more heuristics when trying to descend into web hierarchies
|
2023-05-18 20:55:14 +02:00 |
stefan schippers
|
70ea2bb7f1
|
for better consistency floater=... attribute for text floaters changed to name=... so token name matches instance refdes (name=...). Documentation added for netlist_dir (netlisting.html) and local_netlist_dir
|
2023-05-14 23:43:16 +02:00 |
stefan schippers
|
ee1979b8b2
|
low level functions for floaters and floater text caches is implemented
|
2023-05-13 13:13:35 +02:00 |
stefan schippers
|
4c3b4d0321
|
various tcl_hook2() additions on instance names to handle procedures, fix bbox calculation in xschem replace_symbol command
|
2023-05-01 14:37:10 +02:00 |
stefan schippers
|
10441ef901
|
allow tcl procedures to generate generator script and parameters, update vhdl and verilog netlisters to handle generator schematic/symbol references
|
2023-04-26 09:54:35 +02:00 |
stefan schippers
|
3142279d02
|
Add inst_sch_select/ example directory (instance based implementation selection)
|
2023-04-25 09:15:17 +02:00 |
stefan schippers
|
cd6ef78841
|
schematic generator netlisting seems to work. renamed is_symgen() -> is_generator()
|
2023-04-24 13:26:04 +02:00 |
stefan schippers
|
a2de3cd787
|
unified copy_symbol() and copy_symbol1(), better new symbol allocation policy
|
2023-04-22 00:21:53 +02:00 |
stefan schippers
|
9eb4e9440c
|
handle symbol_ref(param1,param2,...) symbol generator scripts, added some utility functions str_chars_replace(), is_symgen(), fix some quoting/backslash subst issues in get_sym_template()
|
2023-04-21 11:41:20 +02:00 |
stefan schippers
|
631fedb11b
|
enabled escape_chars convenience function, added "embedded" parameter to load_sym_def() to better distinguish loading an embedded symbol from loading a regular symbol with a provided file descriptor
|
2023-04-20 10:44:31 +02:00 |
stefan schippers
|
a5492be752
|
print_spice_subckt_nodes(): use (improved to handle escape chars) str_replace() to substitute @symname, added xschem str_replace, improved xschem symbols
|
2023-04-18 00:20:40 +02:00 |
stefan schippers
|
69277c1066
|
add use_tclreadline variable that can be set to 0 in xschemrc to avoid using the tclreadline package
|
2023-03-27 18:25:12 +02:00 |
stefan schippers
|
e4e2ba37cc
|
xschem load from script: no alert box warning if new file given
|
2023-03-25 09:41:53 +01:00 |
stefan schippers
|
bf6b20a1ce
|
In source Documentation (scheduler.c) of xschem commands, html docs updated
|
2023-03-03 18:29:17 +01:00 |
stefan schippers
|
a8aaf996e7
|
use pre-increment where expression is not used
|
2023-02-18 09:44:11 +01:00 |
stefan schippers
|
42c3024eda
|
remove debug allocation IDs
|
2023-02-09 21:06:27 +01:00 |
stefan schippers
|
3be9a66aed
|
fix memory leak in table_read()
|
2023-02-09 21:04:22 +01:00 |
stefan schippers
|
29ef08e84b
|
better memory tracking reporting (my_strcat and my_strncat allocations)
|
2023-02-01 11:38:28 +01:00 |
stefan schippers
|
1da5e47d4a
|
remove my*() allocation routines unique IDs and replace with _ALLOC_ID_ macro, to be substituted in debug sessions with create_alloc_ids.awk
|
2023-01-23 15:42:15 +01:00 |
stefan schippers
|
d7ddb17a50
|
revert and fix regression (graphical artifacts due to wrong change_linewidth()
|
2023-01-22 00:21:46 +01:00 |
stefan schippers
|
249fdd69a2
|
temporary fix for building xschem. Some warnings due to rev >c89 to be fixed, and proper detection of libjpeg must be added
|
2023-01-16 12:21:35 +01:00 |
stefan schippers
|
115f0fdf0c
|
improve cairo draw options
|
2023-01-11 12:02:21 +01:00 |
stefan schippers
|
4c0d5023f5
|
allow 0 width lines (faster device dependent implementation) if user defined line width is set (to 0), add devices/title-3.sym
|
2023-01-07 11:28:28 +01:00 |
stefan schippers
|
19757ddd8a
|
add menu properties -> Edit header/License text, to allow inserting header or license metadata into the sch/sym file.
|
2023-01-02 03:04:35 +01:00 |
stefan schippers
|
aa70d90c46
|
fix cairo font reference counting
|
2022-12-25 23:13:59 +01:00 |
stefan schippers
|
75fbb76543
|
optimization: split cairo font creation into create + set
|
2022-12-25 10:42:07 +01:00 |
stefan schippers
|
2cb58c5c5c
|
added generators/ dir, removed redundant variable in load_schematic()
|
2022-12-19 23:05:09 +01:00 |
stefan schippers
|
1a76f89464
|
added xschem_library/generators directory for future schematic/symbol generator scripts. Handle empty XSCHEM_LIBRARY_PATH (use [pwd]).
|
2022-12-18 13:03:38 +01:00 |
stefan schippers
|
e01f545567
|
--diff option to visually compare two different (versions of) schematics
|
2022-12-13 13:51:33 +01:00 |
stefan schippers
|
e54c604087
|
better recognize unknown commands in scheduler.c, re-enabed XCB detection in scconfig (although not used).
|
2022-12-07 11:32:40 +01:00 |
stefan schippers
|
b23988ccdf
|
added commented lines for antialiasing; JL:cairo_set_line_width should only be called with has_x as xctx->cairo_ctx and xctx->cairo_save_ctx is NULL when run with -x; JL:XCopyArea must be called to draw correctly with Cairo on Windows
|
2022-12-02 16:43:01 +01:00 |
stefan schippers
|
fabace7505
|
cosmetic code formatting
|
2022-12-01 14:57:48 +01:00 |
stefan schippers
|
7ae10bd7da
|
add macro DRAW_ALL_CAIRO: if set to 1 graphics primitives will use cairo instead of Xlib. Currently work in progress, as of now only the grid and the final XCopyArea done in draw() will use Cairo if macro is set
|
2022-11-30 00:59:45 +01:00 |
Stefan Frederik
|
349bebda20
|
more on recognizing web urls
|
2022-11-13 10:59:36 +01:00 |
Stefan Frederik
|
faaa79d35a
|
dim schematic to grey if showing only probes, instead of hiding it completely
|
2022-11-07 13:34:48 +01:00 |
Stefan Frederik
|
2c9151ea92
|
set up a tcl event handler if xschem is run without other event loops (no tk event loop, -x option, no tclreadline event loop, -r option) so xschem will respond to tcp connections
|
2022-10-25 01:00:51 +02:00 |
Stefan Frederik
|
0f25befe31
|
recursive attribute substitution. use also template attribute of parents if not found in instance prop_ptr
|
2022-10-20 10:30:48 +02:00 |
Stefan Frederik
|
a820cc2e3f
|
removed (now) duplicated inst_hash_lookup: use int_hash_lookup. Search function does not highlight nets if searching for something that is not "lab"
|
2022-10-12 13:14:48 +02:00 |
Stefan Frederik
|
7a1fbb4809
|
better check_unique_names() and hash_all_names() implementation (do not skip label instances or instances with no format attr). Button click focuses main drawing window even if autofocus_mainwindow is set to 0, to avoid losing keyboard focus forever if TAB is pressed.
|
2022-10-12 11:56:02 +02:00 |
Stefan Frederik
|
137ca971d3
|
add cmdline option --preinit <commands> to execute given commands before executing xschemrc file. This can be used to switch library search paths depending on a variable setting.
|
2022-10-11 00:26:06 +02:00 |
Stefan Frederik
|
5fe2f1586b
|
refactor str_hash_* and int_hash_* functions
|
2022-10-05 01:18:45 +02:00 |
Stefan Frederik
|
9c29324c8a
|
allow nets with no label pass thru symbols with duplicated pins. named nets will propagate through duplicated pins
|
2022-10-04 12:34:09 +02:00 |
Stefan Frederik
|
472751dfc0
|
better file globbing in load_file_dialog
|
2022-09-27 13:15:04 +02:00 |
Stefan Frederik
|
0bb4c9f2e0
|
New option for non blocking file selector, so it will remain open allowing to pick multiple components (Shft-Insert). Aborted place symbol operation will no more set schematic status to modified
|
2022-09-26 18:38:19 +02:00 |
Stefan Frederik
|
931c1520e3
|
make op backannotation in schematic work also if raw file loaded at hierarchy level > 0
|
2022-09-21 13:58:01 +02:00 |
Stefan Frederik
|
e67ff344c8
|
cleanup/rename some xctx variables and graph-related functions, avoid drawing graphs using data file loaded from from schematics that are unmatched with current schematic or up in the hierarchy levels
|
2022-09-21 11:25:45 +02:00 |
Stefan Frederik
|
af475e00df
|
xschem raw_read accepts an optional type argument after file name (tran, ac, dc, op, ...) to select type of simulation to load from raw file. New command xschem annotate_op will replace ngspice::annotate tcl procedure.
|
2022-09-20 16:49:42 +02:00 |
Stefan Frederik
|
7abceb3344
|
fix regression in ngspice::get_current, simplified voltage reporting in net label symbols
|
2022-09-20 00:12:27 +02:00 |
Stefan Frederik
|
96f80d1d33
|
Alt-a in graph annotates schematic with values at cursor b position. Simulation->Live annotate option to automatically update schematic probes if cursor moved. Some improvements and fixes in ngspice_annotate.tcl. Fix xschem setprobe command. Added missing housekeeping_ctx when a new tab is created. housekeeping_ctx: added more variables to sync.
|
2022-09-18 05:29:16 +02:00 |
Stefan Frederik
|
5dc0b14de4
|
fix a crash due to reentrant call of preview schematic drawing caused by an Expose event if an alert box is displayed due to errors in schematic to preview
|
2022-09-17 11:27:42 +02:00 |
Stefan Frederik
|
f286b376f7
|
do not show bboxes of hidden texts while moving objects if global option "show hidden texts" is not set; documentation updates
|
2022-09-16 13:19:26 +02:00 |
Stefan Frederik
|
5305e593ff
|
correct full zoom when swicthing full screen
|
2022-09-16 08:43:01 +02:00 |
Stefan Frederik
|
f644ce58a6
|
graphs are now rendered (as detailed png bitmaps) in svg exports
|
2022-09-15 19:39:16 +02:00 |
Stefan Schippers
|
87937a5add
|
full zoom applied when going to true fullscreen
|
2022-09-14 20:59:38 +02:00 |
Stefan Frederik
|
1ad524829b
|
enabled (empty) custom completer for tclreadline
|
2022-09-10 09:29:45 +02:00 |
Stefan Frederik
|
f78fc5494d
|
set_text_custom_font xctx->cairo_ctx can be NULL when netlisting without X with 0_examples_top.sch; net_name(..) doesnt work on duplicate pin for test_doublepin.sch so added back the condition in rev 2243; added HAS_CAIRO directive to compile on Windows that dont have CAIRO turned on.
remove some old unused variables
|
2022-09-08 20:58:12 +02:00 |
Stefan Frederik
|
ecca24191e
|
fixes in fullscreen code (restore zoom lavels)
|
2022-09-04 14:16:38 +02:00 |
Stefan Frederik
|
f022fae205
|
correctly reset size of 1st tab if other tabs are closed and the window size was changed meanwhile
|
2022-09-04 09:39:19 +02:00 |
Stefan Frederik
|
ad152b24a3
|
fixed and simplified toggle_fullscreen()
|
2022-09-02 12:09:56 +02:00 |
Stefan Frederik
|
b065986c87
|
reduce tcl global namespace pollution, better widget packing in main window (toolbar/tabs/menubar/statusbar)
|
2022-09-02 10:41:06 +02:00 |
Stefan Frederik
|
f7336e9064
|
better placement and layout of the 5 main window parts: .menubar, .toolbar, .tabs, .drw and .statusbar, specifically w.r.t. runtime changes (toolbar H/V, toolbar on/off, tabs on/off ...
|
2022-09-02 01:21:51 +02:00 |
Stefan Frederik
|
77d76e1a8f
|
add commands "xschem set format ..." and "xschem get format" to change format attribute used for netlisting, overriding defaults
|
2022-08-31 10:47:16 +02:00 |
Stefan Frederik
|
4c849c44fa
|
force setting line width if window geometry changed and fixed/non variable line width was set.
|
2022-08-29 09:27:23 +02:00 |
Stefan Frederik
|
1519afa241
|
various fixes in compare_schematics()
|
2022-08-28 10:23:32 +02:00 |
Stefan Frederik
|
41acfd91dd
|
some small code refactoring, allow multiple selected (bold) waves, one per graph, store the bold waves into file
|
2022-08-27 12:56:33 +02:00 |
Stefan Frederik
|
53efa4c381
|
if ALt-x (compare schematics) is given before setting a compare filename, schematic is compared with saved version of itself
|
2022-08-26 15:56:48 +02:00 |
Stefan Frederik
|
3c980ce956
|
compare schematics does not require to save schematic 1, so a comparison with the saved version of itself is possible, showing the differences after editing.
|
2022-08-26 15:29:10 +02:00 |
Stefan Frederik
|
d279783faa
|
added menu entries to set and conmpare with schematic.
|
2022-08-25 13:59:36 +02:00 |
Stefan Frederik
|
9b3251b85e
|
clear "Simulate" button background if new window/tab is created while simulation running in original window
|
2022-08-18 11:26:41 +02:00 |
Stefan Frederik
|
c1d229b917
|
better str_replace() implementation
|
2022-08-18 10:21:14 +02:00 |
Stefan Frederik
|
e7f31cf3ee
|
allow each window (in tabbed or window interface) to run its own simulation, preventing spawning another simulation process for same tab/window if previous not finished
|
2022-07-15 12:32:57 +02:00 |