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 |
Stefan Frederik
|
cd7eb3ab54
|
update license info
|
2022-06-24 00:36:12 +02:00 |
Stefan Frederik
|
d0b273c2c5
|
add "--command" command line option to execute commands after initialization (whereas "--tcl" executes commands before initialization)
|
2022-05-06 23:19:41 +02:00 |
Stefan Frederik
|
f882918931
|
more conversion warnings suppressed
|
2022-04-28 10:12:16 +02:00 |
Stefan Frederik
|
23102433c2
|
fixed lot of conversion warnings/ bugs (int/double/size_t)
|
2022-04-27 13:18:45 +02:00 |
Stefan Frederik
|
d57f8e60ee
|
do not allow switching tabs if some editing operation ongoing to avoid incosistent states
|
2022-04-23 13:43:12 +02:00 |
Stefan Frederik
|
069017e07c
|
recursively resolve parameter passing throughout hierarchy and show resolved value in leaf cells if possible
|
2022-03-07 01:42:53 +01:00 |
Stefan Frederik
|
00de54c582
|
Honor hide attribute for texts in ps/pdf and svg exports
|
2022-03-01 19:36:08 +01:00 |
Stefan Frederik
|
d457565c2d
|
declared more functions static where possible and appropriate
|
2022-02-19 14:31:55 +01:00 |
Stefan Frederik
|
1d8fe237ce
|
add test_extracted_netlist circuit example
|
2022-02-18 15:11:44 +01:00 |
Stefan Frederik
|
13aca67a4d
|
find_nth() generalized to accept multiple separators
|
2022-02-13 11:24:38 +01:00 |
Stefan Frederik
|
d6d932e730
|
fix save simconf (thanks mkk). put template code for custom function plots
|
2022-02-05 00:28:06 +01:00 |
Stefan Frederik
|
d7b45bfbf9
|
cleanup raw_query sub command, added "values" opcode, speedup some "xschem" subcommands
|
2022-02-04 17:35:07 +01:00 |
Stefan Frederik
|
6fb20b8c5e
|
(only) on fat32 or similar case insensitive FS and if case_insensitive is set to 1 in xschemrc do not consider case in symbol lookup
|
2022-02-04 02:56:11 +01:00 |
Stefan Frederik
|
008b289e4f
|
ac analysis in graphs (mag + phase, log axis)
|
2022-02-02 18:33:16 +01:00 |
Stefan Frederik
|
a8e1a6c047
|
fix regression (tcl context was not saved/restored correctly)
|
2022-02-02 00:11:46 +01:00 |
Stefan Frederik
|
200f4210d0
|
renamed struct member function pointer to x_strcmp
|
2022-02-01 18:31:23 +01:00 |
Stefan Frederik
|
7e78f0994e
|
fixes in fullscreen code
|
2022-01-31 02:42:52 +01:00 |
Stefan Frederik
|
4ec5d2ce9e
|
send selected nets to last selected graph if graph configure dialog not open
|
2022-01-29 12:27:54 +01:00 |
Stefan Frederik
|
c083491738
|
probe nodes from xschem into its own wave viewer
|
2022-01-29 02:36:54 +01:00 |
Stefan Frederik
|
0b0e749801
|
Graph UI improvements. Persistent bold waves. Graph UI bug fixes
|
2022-01-28 04:44:07 +01:00 |
Stefan Frederik
|
f5fd1ef352
|
use cairo png export if Xrender extensions present (alpha), editprop code for graph node list
|
2022-01-26 15:20:00 +01:00 |
Stefan Frederik
|
6fcdd46022
|
reordering of some function calls to prevent memory leaks
|
2022-01-20 01:57:53 +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
|
12f9af62b8
|
reverted xcb since text quality is slightly better
|
2022-01-18 02:49:28 +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
|
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
|
158186a9c4
|
better WM_DELETE_WINDOW protocol handler in case of multiple windows
|
2022-01-14 19:37:01 +01:00 |
Stefan Frederik
|
acae16d106
|
left anchor window title in tab buttons
|
2022-01-13 15:40:20 +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
|
d273d5131e
|
doc updates
|
2022-01-11 12:17:15 +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
|
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
|
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
|
5707b18aba
|
wave view: added cursors for delay/time measurements
|
2021-12-30 15:45:38 +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
|
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
|
0d6a6c488b
|
handle spice simulation files with multiple datasets
|
2021-12-25 05:15: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
|
76b537a587
|
[experimental] add waveform display of ngspice simulation data directly in xschem drawing area
|
2021-12-22 04:39:23 +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
|
fa25edabec
|
fix 3 potential (small) memory leaks
|
2021-12-08 00:38:19 +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
|
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
|
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
|
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
|
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
|
fe549c0f5c
|
readable function pointer call syntax
|
2021-11-29 11:52:32 +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
|
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
|
f67ec47f82
|
added some comments, commented out xctx->prep_* = 0 in save_schematic()
|
2021-11-24 13:52:59 +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
|
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
|
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
|
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
|
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
|
043e83e18f
|
fix correct drawing of new schematic window if schematic not found
|
2021-11-17 13:32:32 +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
|
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
|
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
|
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
|
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
|
95c0ad1572
|
better identify commented pieces of code
|
2021-10-17 22:05:55 +02:00 |
Stefan Frederik
|
04eee411f3
|
better implementation of prevous commit
|
2021-10-10 00:44:01 +02:00 |
Stefan Frederik
|
86dcb4cafa
|
Do the update (process pending X events) only if a filename is given on cmdline, to avoid losing an Expose event if no file given
|
2021-10-09 13:30:44 +02:00 |
Stefan Frederik
|
4f8120cd2d
|
add "update" after binding creation in xinit.c, to avoid incomplete initialization of event binding if xschem called with non-existent file
|
2021-10-09 10:25:24 +02:00 |
Stefan Frederik
|
434e0f012b
|
Any attribute embedded in a tcleval(....) construct will be passed by get_tok_value() down to tcl for evaluation. This generalizes what was done for the "schematic" attribute in 20210617
|
2021-09-20 00:55:33 +02:00 |
Stefan Frederik
|
00311e7ff1
|
update license info
|
2021-07-27 16:42:54 +02:00 |
Stefan Frederik
|
e5208e2d99
|
refactoring: "plotfile[]" global moved into xctx struct
|
2021-07-14 01:43:29 +02:00 |
Stefan Frederik
|
5880e23f94
|
added hierarchical ps/pdf export (File menu)
|
2021-06-13 23:55:17 +02:00 |
Stefan Frederik
|
500feade8d
|
Joanne fixes for potential crash in align_sch_pins_with_sym() if there is a sym/sch pin number mismatch. Moved box declaration to beginning of scope block for C89 compatibility
|
2021-03-07 00:15:16 +01:00 |
Stefan Frederik
|
238c9f592d
|
fix -N option for output netlist filename
|
2021-02-09 17:19:37 +01:00 |
Stefan Frederik
|
934e16ab87
|
uniquify __UNCONNECTED_NODE__ by appending a unique number to avoid shorting multiple missing connecting nodes
|
2021-01-14 18:12:02 +01:00 |
Stefan Frederik
|
b25bd1d06d
|
saving to file made 4x faster, this implies less latency due to undo buffer savings on freaking big schematics.
|
2021-01-06 03:01:14 +01:00 |
Stefan Frederik
|
6cac6f2291
|
cleanups in sample xschemrc comments
|
2021-01-04 15:19:08 +01:00 |
Stefan Frederik
|
94cd0d0c7d
|
hash_hi() made faster by caching sch_path_hash[]
|
2021-01-02 01:55:01 +01:00 |
Stefan Frederik
|
a9d7d93e40
|
caching simulation data into "simdata" struct for performance
|
2020-12-31 03:08:24 +01:00 |
Stefan Frederik
|
bcf8986314
|
Some more global state into Xctx
|
2020-12-28 13:44:10 +01:00 |
Stefan Frederik
|
41d9e17527
|
option for transparent background in svg export; added ngspice backannotation tutorial
|
2020-12-28 02:52:44 +01:00 |
Stefan Frederik
|
5917cd9717
|
added flip-flop simulation capabilities. added examples: merry xmas greeter and 7 segment display driver and counter.
|
2020-12-27 19:20:24 +01:00 |
Stefan Frederik
|
9b4534d6b0
|
A change_linewidth(-1.0) is added after resetwin() creates a new pixmap (example: after a window resize) . This sets colors, backgrounds fill styles for the new pixmap.
|
2020-12-26 22:29:45 +01:00 |
Stefan Frederik
|
582863f825
|
added menu option to load most recent file: ctrl-shift-o, fix menu entry "unhilight selected nets" (did unhilight all); removed a wire[].node clear in hash_wire() that caused broken connectivity. this data is cleared in delete_netlist_structs when needed.
|
2020-12-25 04:37:53 +01:00 |
Stefan Frederik
|
779c789100
|
better "xschem print" command accepting viewport and image dimensions, better zoom_full (with margin), good for embedding in script and do automatic export generation
|
2020-12-22 00:13:25 +01:00 |
Stefan Frederik
|
4ddc9654e8
|
add xschem commands for specifying image size for png and pdf: xschem print svg file.svg 800 600; svg background color taken from svg_colors variable so it can be changed like any other color
|
2020-12-21 04:38:57 +01:00 |
Stefan Frederik
|
dfa58a0a08
|
spaghetti code removal, more reused code
|
2020-12-20 15:56:29 +01:00 |
Stefan Frederik
|
821ebf06f2
|
optimizations in instance (connected to wires/net labels) highlights
|
2020-12-18 19:22:08 +01:00 |
Stefan Frederik
|
e46033f0bb
|
fix regression due to r1395, updated Changelog, fix set initial window size when doing ps/pdf export from cli
|
2020-12-17 03:48:34 +01:00 |
Stefan Frederik
|
5b4d6ab640
|
postscript fonts in ps/pdf export
|
2020-12-16 18:30:33 +01:00 |
Stefan Frederik
|
f22f7a26f5
|
allow to specify fixed, user defined line width (does not change on zoom) and allow specify if grid points should be same size as line width
|
2020-12-14 19:11:24 +01:00 |
Stefan Frederik
|
fc5b1a9616
|
code formatting
|
2020-12-12 20:50:06 +01:00 |
Stefan Frederik
|
a3e1564c48
|
option for variable-width grid points for better visibility on hyper-resolution monitors
|
2020-12-12 13:36:39 +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
|
e80896dbf9
|
added render_format assignment that got deleted after xinit code refactoring
|
2020-12-07 18:51:15 +01:00 |
Stefan Frederik
|
c5c729fc89
|
tcl code indentation fixes, cleanup, some global vars removed
|
2020-12-07 15:46:20 +01:00 |
Stefan Frederik
|
4d56fcc72d
|
indentation cleanups
|
2020-12-06 22:07:33 +01:00 |
Stefan Frederik
|
c3ba3112e0
|
remove some redundant warnings in memory allocations, since all alloc calls have an ID and wrapper issues warnings in case of failures. Use some Tk wrapper functions to get X11 related data since all windows are already opened by tcl-tk.
|
2020-12-06 20:52:35 +01:00 |
Stefan Frederik
|
17124c761c
|
each schematic windows has its own "current later" (rectcolor)
|
2020-12-06 16:40:08 +01:00 |
Stefan Frederik
|
4d26ce66a8
|
more state variables into xctx: move / create new objects
|
2020-12-06 16:10:22 +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
|
f138db5aba
|
fix linewidth when done with preview, also avoid to destroy & create main pixmap since it was saved
|
2020-12-05 04:12:56 +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
|
29d8b0c3a8
|
resetwin(1,1,1) instead of resetwin(1,1,0) in preview_window so save_pixmap is reset to correct size when switching back to main window
|
2020-12-04 02:27:35 +01:00 |
Stefan Frederik
|
1268a6faae
|
removed redundant XSetTile in preview_window()
|
2020-12-04 01:38:48 +01:00 |
Stefan Frederik
|
76ef664757
|
undo data structures into xctx context
|
2020-12-04 00:30:13 +01:00 |
Stefan Frederik
|
2b7e31e0d6
|
add utility functions to create new schematic window
|
2020-12-03 23:17:13 +01:00 |
Stefan Frederik
|
3732bd8d01
|
put cairo save surface and context into xctx, faster and smoother preview (avoid unload/load if no filename change)
|
2020-12-03 18:21:23 +01:00 |
Stefan Frederik
|
66a73e4e99
|
cleanup in preview code
|
2020-12-03 11:49:29 +01:00 |
Stefan Frederik
|
4322101f9b
|
cleanup in preview code
|
2020-12-03 11:46:00 +01:00 |
Stefan Frederik
|
9588a859da
|
cleanup in preview code
|
2020-12-03 11:42:06 +01:00 |
Stefan Frederik
|
a64d69ed7a
|
some code refactoring, more globals in xctx context, fixed unnoticed shift-reduce conflict in expandlabel
|
2020-12-03 04:20:05 +01:00 |
Stefan Frederik
|
8902f3b56b
|
more state in xctx context
|
2020-12-02 19:35:42 +01:00 |
Stefan Frederik
|
e279262f00
|
more globals into xctx context struct
|
2020-12-02 15:10:47 +01:00 |
Stefan Frederik
|
08e179e588
|
better cmdline filename path parsing
|
2020-12-01 13:25:00 +01:00 |
Stefan Frederik
|
eda64b7ee1
|
removed event_reporting feature
|
2020-11-29 03:27:45 +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 Frederik
|
0d59d01170
|
allow to pass down to tcl evaluation (via tcleval( ....) wrap) instance parameters: example of a mos transistor : name=m1 w=2 l=0.13 model=net ad="tcleval([expr @W * 0.29])" --> in netlist: m1 d g s b nfet w=2 l=0.13 ... ad=0.58
|
2020-11-20 18:46:27 +01:00 |
Stefan Schippers
|
71fd1bcb68
|
comments about color handling in source code, set_cairo_color() function
|
2020-11-19 15:08:40 +01:00 |
Stefan Schippers
|
bf183f0d20
|
Option (default now) to export svg images using the svg <text> element. This makes generated SVGs much smaller and in most cases faster to render.
|
2020-11-18 18:29:14 +01:00 |
Stefan Schippers
|
78a82a9bc0
|
fix regression: ps and svg exports were broken due to enable_layer[] used for enabling selections
|
2020-11-17 02:17:34 +01:00 |
Stefan Schippers
|
61dd4e99b0
|
better xschem icon: added shapemask for "transparent" background
|
2020-11-10 13:17:25 +01:00 |
Stefan Schippers
|
24dd02b713
|
Fixed Windows Xschem running from VS2019 without installing Xschem to find (Root)/xschem_library/devices as XSCHEM_LIBRARY_PATH, so that viewing schematics through VS2019 will find all symbols in xschem_library/devices. Moved doc and xschem_library XML files to its own *.wxs. Cleaned up Product.wxs by taking out doc and xschem_library files; fixed spacings in License.rtf; added condition that proper version of Active TCL is required to install
|
2020-11-07 10:52:50 +01:00 |
Stefan Schippers
|
73bab32aa9
|
__unix__: do simple tilde subst ( ~/ --> /home/user) just in case this was not done by the shell
|
2020-10-27 22:56:53 +01:00 |
Stefan Schippers
|
5706b12ad9
|
do not execute tcl proc "build_windows" in xinit.c if no X or -x option given
|
2020-10-27 12:00:34 +01:00 |
Stefan Schippers
|
b4681b22af
|
aligned linux code to windows: check if preview pixmap != main pixmap before destroying. probably not needed but good practice
|
2020-10-20 23:34:40 +02:00 |
Stefan Schippers
|
7e845db5df
|
exampels/poweramp.sch and examples/cmos_example.sch show how to use dynamuc ngspice simulation data backannotation, optimized fix of previous bbox bug
|
2020-10-20 19:48:59 +02:00 |
Stefan Schippers
|
3e3c1ea671
|
uniquify malloc IDs
|
2020-10-17 22:39:52 +02:00 |
Stefan Schippers
|
632dbd8931
|
allow dim background color in "View -> Dim oclors"
|
2020-10-17 03:47:32 +02: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 |