Commit Graph

754 Commits

Author SHA1 Message Date
Stefan Schippers 6990d48d1a remove old obsolete comments 2020-09-25 18:09:49 +02:00
Stefan Schippers b2e7c28127 remove old obsolete comments 2020-09-25 17:54:50 +02:00
Stefan Schippers 28e2085e47 just some code cleanups & comments 2020-09-25 17:11:43 +02:00
Stefan Schippers 5e85a87545 Alt-b command toggles bounding box view: 0: view all, 1: bbox view for subcircuits, 2: bbox view for all symbols. 2020-09-25 00:23:34 +02:00
Stefan Schippers c627f21057 optimize previous fix, avod skipping lines after embedded symbol (embed_fd) 2020-09-24 17:46:58 +02:00
Stefan Schippers 66a8eabf7e fix un-graceful termination of load_sym_def() in case of recursive schematics instantiating themselves. It was not allowed to unroll all hierarchy levels cleaning up allocated memory after issuing the max-hierarchy warning. 2020-09-24 15:59:01 +02:00
Stefan Schippers 54a1d9b2c9 fix inaccurate mouse to arc distance calculation for selections 2020-09-24 12:11:55 +02:00
Stefan Schippers 7a0fa15238 add gtkwave_server.tcl hook for gtkwave to listen to a tcp port 2020-09-24 02:28:00 +02:00
Stefan Schippers da74e5ad36 Fixed some flaws in execute/execute_wait/simulate procedures (Simulate button was not cleared after a foreground simulation) 2020-09-24 02:20:09 +02:00
Stefan Schippers b7d724dcab apply visible layers (View->Symbol visible layers) to any object (lines. arcs, text etc),better bounding box calculation for slant text 2020-09-23 22:13:39 +02:00
Stefan Schippers 5bab41e28b add attributes "weight=bold", "slant=italic", "slant=oblique" on text objects for bold/italic/oblique texts, doc updates. 2020-09-23 18:15:26 +02:00
Stefan Schippers 39b7a441b3 fix regression: hilight/rename duplicated instance names was no more functional 2020-09-23 00:58:39 +02:00
Stefan Schippers 5186d3b92c avoid var declarations after statements (C89 warning) 2020-09-22 21:12:09 +02:00
Stefan Schippers 5e98241df1 NumLock and CapsLock check for windows 2020-09-22 21:02:51 +02:00
Stefan Schippers 4a38af8535 better capslock and numlock status detect and report in statusbar 2020-09-22 15:47:53 +02:00
Stefan Schippers 5b9d1091b2 print red message in status bar if caps lock set 2020-09-22 14:22:59 +02:00
Stefan Schippers 2a556552c6 remove dbg info 2020-09-22 13:43:10 +02:00
Stefan Schippers 82451fd50e "xschem hilight_netname" command to hilight a specific net name, "xschem search exact ..." finds specific instances of vector instances, "probe_net" procedure descends into the right bussed instance and hilights the correct net bit, added "xschem display_hilights" to return all hilighted nets in the hierarchy, added "gaw_cmd" procedure to send socket commands to gaw (like "gaw_cmd reload_all") (recently added command to gaw ttg) 2020-09-22 13:35:55 +02:00
Stefan Schippers eaee40f5f3 remove dbg messages 2020-09-17 09:08:09 +02:00
Stefan Schippers c08613608d better instance selection min-distance calculation 2020-09-17 09:05:08 +02:00
Stefan Schippers b51ce34b1c make "ctrl-[0-9]" commands work again (change layer) 2020-09-16 00:50:15 +02:00
Stefan Schippers bd06456bd6 fix Browse button in edit symbol prop dialog 2020-09-15 14:15:43 +02:00
Stefan Schippers 9561204c77 When loading/descending in a symbol set netlist_type to CAD_SYMBOL_ATTRS, set back to previous value when done. Tcl procedure "load_file_dialog" is now used also for saving files (so list of defined xschem libs is available as well as preview window). 2020-09-15 11:19:57 +02:00
Stefan Schippers f3bedb39a4 eliminated any differences between SYMBOL and SCHEMATIC files. There is no "current_type" variable any more. Symbols who used to have netlisting rules defined in schvhdlprop have now these attributes in schsymbolprop. Old symbol files with schvhdlprop will be saved with netlisting rules in schsymbolprop. 2020-09-14 10:27:45 +02:00
Stefan Schippers 4a332ade11 Bring open dialogs always on top of xschem main window if user clicks title bar on gnome/metacity DMs 2020-09-11 11:55:00 +02:00
Stefan Schippers 020c61bc3d fix "saveas SYMBOL" changing current_type to SYMBOL even if user canceled the action; allow "@" in node names as this is used in some backannotated CDL netlists 2020-09-10 10:12:51 +02:00
Stefan Schippers e1751d5f58 remove experimental ::ttk namespaced widget usage 2020-09-09 00:33:00 +02:00
Stefan Schippers 6e5fe40c4a fix bind instructions for Windows Alt-*-KeyPress combinations, doc updates for fill attributes in shapes. 2020-09-09 00:21:40 +02:00
Stefan Schippers a9013fc4d9 use layer 4 instead of 5 for symbol bounding-box-only view 2020-09-07 23:02:30 +02:00
Stefan Schippers 79a56a99f5 allow to launch xschem in fullscreen mode with --tcl "set fullscreen 1"; doc updates for bus, dash, fill attributes 2020-09-07 15:20:22 +02:00
Stefan Schippers f61c17a27b fix line edit property when bus and dash are given 2020-09-07 14:13:07 +02:00
Stefan Schippers ae4821a12c better thick lines drawing 2020-09-07 13:14:50 +02:00
Stefan Schippers fde072720d enable "bus=true" attribute for lines as wellas for wires. As a side effect LCC schematics with bussed wires will display thick buses 2020-09-07 13:12:34 +02:00
Stefan Schippers fce8ab8d1e remove dbg message 2020-09-07 09:40:07 +02:00
Stefan Schippers 2ee47d6884 typo 2020-09-07 09:37:30 +02:00
Stefan Schippers 30335ce30a make Alt-KeyPress (hopefully) work on windows by manually building the Mask values 2020-09-07 09:34:41 +02:00
Stefan Schippers ac911ca1f1 show instance pins even if in "show only instance bounding box" mode. 2020-09-05 01:43:27 +02:00
Stefan Schippers 8626a8a11b added command <Alt-b> (menu Symbol->Show only instance Bounding boxes) to toggle displaying instance detals / only bounding box. 2020-09-05 00:58:56 +02:00
Stefan Schippers 461e2eae97 add "layer=WIRELAYER" attribute to label texts in LCC schematics so LCC schematic instance looks exactly as schematic. 2020-09-04 10:29:15 +02:00
Stefan Schippers aad01a42f1 fix unitialized .dash field for rectangles (in the added pins in LCC schematics) 2020-09-04 09:42:18 +02:00
Stefan Schippers 05651fd701 dashed objects in svg export 2020-09-04 02:25:45 +02:00
Stefan Schippers 8afff69643 dashed objects in ps/pdf export 2020-09-03 10:05:48 +02:00
Stefan Schippers e73722cae9 range check for dash attribute value 2020-09-03 00:19:39 +02:00
Stefan Schippers 1a2500291d dash attribute for arcs 2020-09-02 23:59:58 +02:00
Stefan Schippers a44302a7fd better join/end style for dashed objects, some dashed objects in example schematics/symbols 2020-09-02 19:21:51 +02:00
Stefan Schippers 3107c5b12a added "dash=n" (n=integer) attribute for lines, polygons, rectangles to set dashed line style. n is the dash length in pixels. 2020-09-02 18:28:20 +02:00
Stefan Schippers 331155b6f9 in case of multiple symbols referring to same schematic use symbol name xxxx instead of schematic name for "architecture arch_xxxx of xxxx is" in VHDL netlists to avoid unmatched entity/architectures. 2020-09-02 15:08:33 +02:00
Stefan Schippers a73cb11412 if image size is not changed by user when doing a png export do not zoom_full() png image 2020-09-02 13:23:40 +02:00
Stefan Schippers 9f82cf47aa verilog_ignore, spice_ignore, vhdl_ignore attributes on schematic pins are propagated to symbol pin attributes (if using make symbol from schematic, otherwise propagate by hand). These pins are not netlisted in the respective netlist format 2020-09-02 12:30:52 +02:00
Stefan Schippers fa9bdd44bc avoid redundant rebuild_selected_array() on Motion events, better auto-highlight fature 2020-09-01 10:50:08 +02:00
Stefan Schippers 1f73fb825c updated Xschem "About" links 2020-09-01 09:31:34 +02:00
Stefan Schippers 61df74b50b fix svg export if colorscheme changed via menu; allow monochrome svg export via menu Options -> Color Postscript/SVG 2020-08-31 23:11:20 +02:00
Stefan Schippers 60791062ac added -b/--batch cmd option (__unix__ only) to detach xschem completely from console 2020-08-31 21:24:03 +02:00
Stefan Schippers 08bf7cb962 defer tk windows/menu/widgets creation and Xevent binding setup after xinit.c completes X initialization. This avoids theoretical race condidions if a ConfigureNotify or Expose event is delivered before all Xlib initialization completed. 2020-08-31 13:54:37 +02:00
Stefan Schippers 6608230df9 fix segfault when instantiating LCC schematics if sub-schematic attribute translate()s to empty string: draw_string() tries to modify const char * returned from translate(); set more const attributes in function string params to catch more such errors 2020-08-31 02:25:41 +02:00
Stefan Schippers 7ce7654748 fix some race conditions (xevents) when doing a png export from cmdline options; fix svg light colorscheme background (was always black) 2020-08-30 23:58:51 +02:00
Stefan Schippers 858eac08fa ask "wxh" size of png export image 2020-08-30 15:15:18 +02:00
Stefan Schippers 4e48908902 svg and pdf exports use custom layer colors as set in ~/.xschem/colors file if any. 2020-08-30 12:01:48 +02:00
Stefan Schippers a419b6aa63 aligned pdf hardcopy colors to xschem light colorscheme, pdf and svg exports use the enable_layer[] array to display/hide layers as does draw(). 2020-08-30 10:38:29 +02:00
Stefan Schippers 11c940aa09 fix: fullscreen menu item was not working 2020-08-29 22:10:32 +02:00
Stefan Schippers 316ca11e3a removed (draw|filled).*(.*BEGIN, .*) everywhere as it is not needed (just flush graphics with END is enough) 2020-08-29 12:59:27 +02:00
Stefan Schippers 50ae2f80f8 revert back last change: unnecessary and could potentially hide some lines 2020-08-29 12:45:02 +02:00
Stefan Schippers b4477d877a ensure drawline/drawrect proper buffer initialization before drawing moved/copied texts 2020-08-29 12:34:52 +02:00
Stefan Schippers 54e533e3a2 fix svg export text color set with layer attribute 2020-08-29 12:10:47 +02:00
Stefan Schippers f26a0c737e Use text layer (color) attribute for text objects also in no-CAIRO builds 2020-08-29 11:58:50 +02:00
Stefan Schippers d879967fa8 less padding space around menu entries & buttons 2020-08-27 12:57:49 +02:00
Stefan Schippers f1c836fef6 set full path for untitled schematic / symbol name 2020-08-27 11:39:12 +02:00
Stefan Schippers 38a76d463e save(): use abs_sym_path() on current schematic name to ensure it is saved in the right place and found when returning from lower level hierarchies. 2020-08-27 09:52:49 +02:00
Stefan Schippers ec29c2677a enable "preserve unchanged props" checkbutton in text edit prop dialog box 2020-08-24 16:21:50 +02:00
Stefan Schippers d076952bff implemented text attributes "hcenter=true" (center text in reading direction) and "vcenter=true" (center text in direction perpendicular to reading direction). these can both be set for full centered text block. 2020-08-24 15:23:37 +02:00
Stefan Schippers 9070aaeb07 removed obsoleted code in edit property functions 2020-08-24 09:16:11 +02:00
Stefan Schippers 4d6279e152 deleted obsolete code left after last commit 2020-08-24 08:56:48 +02:00
Stefan Schippers 1fa99bd840 added hcenter and vcenter fields and function parameters for centered text (still to be implemented though); When using edit property combobox token selector multiple times update all changed token values in attribute string (instead of only last changed token value), thanks to Joanne Low for pointing out the issue 2020-08-24 08:36:47 +02:00
Stefan Schippers 78188b64a6 removed dead code in text_bbox() 2020-08-21 23:46:30 +02:00
Stefan Schippers fea391fcfd fix bug in subst_tok() ( subst_tok(NULL, "tok", "val") --> NULL instead of "tok=val") 2020-08-21 10:50:27 +02:00
Stefan Schippers b842e020bc snap and grid entries will not annoyingly receive keyboard focus with TAB key 2020-08-19 15:08:35 +02:00
Stefan Schippers 8012c2755f argument # checking in xschem() tcl extender 2020-08-19 10:25:11 +02:00
Stefan Schippers 993d188f1c subst_tok() compacted 2020-08-19 09:06:11 +02:00
Stefan Schippers edca38f942 subst_tok() compacted, more comments 2020-08-19 09:00:44 +02:00
Stefan Schippers aeb4c5d686 subst_token(): replace/delete tokens with no value at end of string: ".....token\0" 2020-08-18 23:45:32 +02:00
Stefan Schippers 649a9e6ba7 subst_tok(): remove dbg info 2020-08-18 23:14:57 +02:00
Stefan Schippers 29212e3892 subst_tok(): never add unmatched token at end if NULL value specified, correctly handle escaped spaces in token values 2020-08-18 23:09:40 +02:00
schippes 57193d3437 fix list_tokens(), reallocation of token was terminating the string at 1st char 2020-08-18 09:39:29 +02:00
schippes 2afc4b70a1 subst_token(): do substitution only on first matching token, avoid clobbering at all successive matching tokens 2020-08-18 02:33:58 +02:00
schippes f4f90b87d2 fix for edit_prop dialog positioning as per Joanne Low feedback on windows, complete rewrite of subst_token() function as it was so intricated and full of malfunctioning corner cases that i decided to do a ground zero rewrite 2020-08-18 01:39:44 +02:00
Stefan SChippers 7cab8d9e73 fix unterminated result in subst_token() 2020-08-17 14:35:45 +02:00
Stefan SChippers 8e4e23cf2d better subst_token() function (add value to token with no value, delete token with no value), added comments 2020-08-17 13:37:27 +02:00
schippes c5440c2b0f make get_tok_value() and subst_tok() work well also with strings containing tokens with no value. 2020-08-17 01:08:13 +02:00
schippes 574900e1df combobox is editable so new attributes can be directly typed in 2020-08-16 15:08:17 +02:00
schippes 2aed232e04 allow adding (with shift-q) other elements while edit property dialog open 2020-08-16 09:41:39 +02:00
schippes 9570439e16 made edit_symbol_property and tcl edit_prop procedure much simpler when user clicks another instance while edit_prop dialog still open 2020-08-16 03:34:45 +02:00
schippes 58a43ccc4d code cleanups, preparing for editprop combobox token selector 2020-08-15 10:48:26 +02:00
schippes ff9e2e7872 when copying a symbol with edit_property dialog ("q" key) and enabling "Copy cell" if a relative path name is supplied for new symbol it will inherit the same path prefix as the original symbol. 2020-08-13 12:56:20 +02:00
schippes aeb6b12d73 fix rel_sym_path proc 2020-08-13 02:46:49 +02:00
schippes ea4513f9c5 changed tcl procs abs_sym_path and rel_sym_path, now the real symbol filename is obtained by prepending one of the XSCHEM_LIBRARY_PATH paths until the symbol is found. This allows more than one directory levels in symbol references. 2020-08-13 02:19:08 +02:00
schippes c5f412bdb7 symbol attribute @symname will display symbol name without extension as it used to be in earlier versions. @symname_ext will print full rootname of symbol. Some doc updates on symbol attributes 2020-08-12 11:31:42 +02:00
schippes 470f452caf fix log message reporting in my_realloc(), fix remove_symbol() if removed symbol in middle of array 2020-08-11 02:55:24 +02:00
schippes 199b408efb removed test mode 2020-08-11 00:31:10 +02:00
schippes afd26a09e2 Joanne fixes: in print_vhdl_primitive, set variable, format, from "vhdl_format" with get_tok_value before checking if its NULL, more work on windows port. 2020-08-10 23:43:20 +02:00
schippes 8dac4753f7 Verilog and vhdl netlisters: print as instance parameters all params listed in instance properties, excluding "name" and all params not listed in template 2020-08-10 14:15:36 +02:00
schippes 6d3df059b1 removed unused file 2020-08-10 09:24:43 +02:00
schippes b8ed97d2d5 removed unused files 2020-08-10 09:22:21 +02:00
schippes 8383bb0e39 removed some dead code, remove_symbol() can remove i-th symbol, not only last one 2020-08-10 09:16:11 +02:00
Stefan SChippers 5e8df730a0 populating xschem git repo 2020-08-08 15:47:34 +02:00