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
|
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
|
6c85ceaad8
|
"hide(=true)" attribute to hide specific text items in symbols
|
2022-01-13 12:46:55 +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
|
0c9eff16d9
|
my_round() function instead of ROUND() macro
|
2021-12-17 15:40:19 +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
|
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
|
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
|
e3ab569f35
|
fix: xctx->inst_redraw_table can not be static, must be dinamically allocated.
|
2021-12-04 01:45:26 +01:00 |
Stefan Frederik
|
629917cfcd
|
new find_inst_to_be_redrawn() implementation to recalculate area to be redrawn with/without show net names on symbol pins, simplified new_window() call in callback `x` command, code formatting in globals.c, added xschem get [xy]origin commands
|
2021-12-03 19:15:07 +01:00 |
Stefan Frederik
|
fe549c0f5c
|
readable function pointer call syntax
|
2021-11-29 11:52:32 +01:00 |
Stefan Frederik
|
03f973e203
|
use undo function pointers
|
2021-11-28 14:35:55 +01:00 |
Stefan Frederik
|
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
|
d03147dce1
|
more consistent naming convention for hash table functions
|
2021-11-23 15:03:51 +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
|
ad05513838
|
some parameter checks in xschem commands, global var removal in simulation help window - No use for production yet
|
2021-11-16 22:28:10 +01:00 |
Stefan Frederik
|
59198f2dda
|
removed a whole bunch of global UI-related variables and tcl/C redundancies
|
2021-11-10 13:43:08 +01:00 |
Stefan Frederik
|
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
|
b81325ea00
|
code cleanup, comments, more globals in Xctx context structure
|
2021-10-25 17:05:43 +02:00 |
Stefan Frederik
|
fbe18fe279
|
some refactoring/cleanups in move.c
|
2021-09-24 10:20:23 +02:00 |
Stefan Frederik
|
3573fcdafb
|
redraw / update all nodes that might change in copy/move operations if net_name=true
|
2021-09-24 00:39:56 +02:00 |
Stefan Frederik
|
2d054898f0
|
better remove rubber drawing garbage after copy/move
|
2021-09-23 11:47:02 +02:00 |
Stefan Frederik
|
efef711d32
|
reverted last accidental change
|
2021-09-23 11:19:28 +02:00 |
Stefan Frederik
|
3ebb9566ec
|
removed drawing redundancies in move/copy operations
|
2021-09-23 11:15:21 +02:00 |
Stefan Frederik
|
44f27ce79f
|
removed drawing redundancies in move/copy operations
|
2021-09-23 11:13:56 +02:00 |
Stefan Frederik
|
5113b5727c
|
fix garbage on screen when copying components that dinamically change their bbox after copy (example: net annotator ngspice_probe symbols, same fix as already done for move operation).
|
2021-09-22 23:33:50 +02:00 |
Stefan Frederik
|
5abe48f24e
|
fix compiler warnings about unitialized variables (they arent, but ...)
|
2021-08-19 09:08:43 +02:00 |
Stefan Frederik
|
00311e7ff1
|
update license info
|
2021-07-27 16:42:54 +02:00 |
Stefan Frederik
|
dddaae5099
|
removed redundant update_conn_cues() in some graphic operations; lower priority mux operator for logic sim, Dont change logic value added ("U"), ability to simulate bidirectional switches and simple logic MOS transistor networks. added sample circuits.
|
2021-01-12 00:47:56 +01:00 |
Stefan Frederik
|
2063b42613
|
fixed a hypotetical integer overflow issue, do increment and modulo of hilight_color , remove some spaghetti code (use propagate_hilights() )
|
2021-01-08 21:25:11 +01:00 |
Stefan Frederik
|
d9bfbff26f
|
move_objects(): clear lab_show.sym symbols if nets get unhilight after wire deletion
|
2021-01-08 05:39:43 +01:00 |
Stefan Frederik
|
a7831ce972
|
some fixes regarding restore of areas when hilights are present, move_objects and copy_objects(): ELEMENT move/copy out of cadlayer loop.
|
2021-01-08 03:09:29 +01:00 |
Stefan Frederik
|
acb1c28921
|
find_inst_to_be_redrawn() fix speed issue when auto-net name showing is enabled: evaluate out of any operation loop, using hash table of changed nodes
|
2021-01-07 16:35:57 +01:00 |
Stefan Frederik
|
5cc1f04588
|
move.c: removed redundant drawing, now all areas are restored from pixmap by draw(). Postscript print: addition of (limited) unicode characters (0xC2 and 0xC3 2-byte sets are recoded to fit into the 256 slot postscript core font dictionaries). When editing multiple text objects with "preserve unchanged attrs" set do not change individual text dimensions.
|
2021-01-07 04:33:19 +01:00 |
Stefan Frederik
|
f0256fce90
|
added draw() im move.c
|
2021-01-06 13:50:31 +01:00 |
Stefan Frederik
|
c2b1edd2ab
|
typo
|
2021-01-06 13:48:34 +01:00 |
Stefan Frederik
|
b63d3bec09
|
finalizing "select nets up to junctions"
|
2021-01-03 01:26:54 +01:00 |
Stefan Frederik
|
46e986cc62
|
added "auto join/trim wires" menu option since now the trim operation is doing fast even on big designs
|
2021-01-02 03:24:26 +01:00 |
Stefan Frederik
|
f18125a943
|
fix debug message potentially causing a crash in copy operations
|
2020-12-31 04:46:59 +01:00 |
Stefan Frederik
|
47ed76374e
|
fix value for "non hilight condition" on instance .color field as small negatives are used for simulation
|
2020-12-28 04:47:26 +01:00 |
Stefan Frederik
|
10e47b980b
|
folding long lines
|
2020-12-25 15:37:26 +01:00 |
Stefan Frederik
|
3f452beb8e
|
Fix: search() "unselect" function was not updating drawing
|
2020-12-25 15:14:41 +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
|
d0fb5f94e0
|
eliminated some global vars
|
2020-12-23 05:07:39 +01:00 |
Stefan Frederik
|
a737e53be4
|
after a paste schematic / ctrl-v leave ui_state to SELECTION so objects can be deleted without having to re-select them
|
2020-12-19 23:21:47 +01:00 |
Stefan Frederik
|
bcedaa6bc5
|
various drawing optimizations to speed up full zoom views
|
2020-12-19 17:12:46 +01:00 |
Stefan Frederik
|
a837682731
|
caching "lab" and "highlight" attributes for speed
|
2020-12-19 03:22:38 +01:00 |
Stefan Frederik
|
821ebf06f2
|
optimizations in instance (connected to wires/net labels) highlights
|
2020-12-18 19:22:08 +01:00 |
Stefan Frederik
|
a642d6e05e
|
if cadlayers set in xschemrc reduce / pad color lists accordingly; handle the case of insufficient number of layers set. Sorted "xschem" command "get" substrings for later lookup optimizations
|
2020-12-08 12:35:21 +01:00 |
Stefan Frederik
|
89da7d9ffd
|
use #if HAS_CAIRO!=1 indtead of HAS_CAIRO==0
|
2020-12-07 20:12:52 +01:00 |
Stefan Frederik
|
bb64297b6e
|
better #if/#endif configuration of various xrender/xcb/cairo combinations
|
2020-12-07 20:04:57 +01:00 |
Stefan Frederik
|
17124c761c
|
each schematic windows has its own "current later" (rectcolor)
|
2020-12-06 16:40:08 +01:00 |
Stefan Frederik
|
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
|
780b994aeb
|
use short data type for small integer data: rot, flip, dash, bus etc...
|
2020-12-05 03:16:01 +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
|
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
|
e279262f00
|
more globals into xctx context struct
|
2020-12-02 15:10:47 +01:00 |
Stefan Frederik
|
2dc28726d3
|
turn off dbg messages
|
2020-12-02 12:50:08 +01:00 |
Stefan Frederik
|
1055fdbf36
|
bounding box fix while copying objects done in r1224 was not correct. Object rotation fixed now
|
2020-12-01 00:03:29 +01:00 |
Stefan Frederik
|
eda64b7ee1
|
removed event_reporting feature
|
2020-11-29 03:27:45 +01:00 |
Stefan Schippers
|
7a67663330
|
fold long lines
|
2020-11-17 01:29:47 +01:00 |
Stefan Schippers
|
fac9cfe26b
|
folded long lines
|
2020-11-16 12:33:06 +01:00 |
Stefan Schippers
|
957b9888d1
|
Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources
|
2020-11-03 12:10:55 +01:00 |
Stefan Schippers
|
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
|
3bbba8601f
|
added ngspiec_probe.sym and ngspice_get_value.sym that use a pull method to fetch values from ngspice .raw datafile, fixed a long standing bug that changed bounding boxes of symbols that were selected for a copy if they were copied and copy operation involved rotations of flips.
|
2020-10-20 12:44:10 +02:00 |
Stefan Schippers
|
222f2a0b25
|
reverted all xctx->* caching in copy_objects()
|
2020-10-17 12:25:43 +02:00 |
Stefan Schippers
|
3ed31d7d60
|
reverted caching of xctx->instances in copy_objects()
|
2020-10-17 12:13:14 +02:00 |
Stefan Schippers
|
55723e9429
|
line width is related to the schematic, so it is moved under xctx; removed all integer versions (lw, bus_width) that needed to be kept in sync, created two macros to get the integer values from xctx->lw. main window save_pixmap is preserved when doing a schematic preview in file open dialog, so no need to regenerate its content (with a draw() call) after preview.
|
2020-10-17 00:53:19 +02:00 |
Stefan Schippers
|
b626dfb599
|
replaced frequent "xctx->something" accesses with "something" for code readability, optimizations in hash_wire() when incremental wires added, STR_ALLOC() macro (performance reasons)
|
2020-10-16 16:34:15 +02:00 |
Stefan Schippers
|
e7928727d6
|
all xctx context is now a dynamically allocated structure; no observable performace impact
|
2020-10-15 17:39:21 +02:00 |
Stefan Schippers
|
64c0abc58e
|
code refactoring (global context in Xschem_ctx), "New Schematic" or "New Symbol" will set netlist_type to "spice" or "symbol" respectively
|
2020-10-12 13:13:31 +02:00 |
Stefan Schippers
|
11d664b4a8
|
fix a memory leak, spatial hash table tuning, better clear find_inst_to_be_redrawn() nodetable
|
2020-10-05 13:29:57 +02:00 |
Stefan Schippers
|
72363cf2d4
|
better wire bbox calculation in find_inst_to_be_redrawn()
|
2020-10-05 04:18:31 +02:00 |
Stefan Schippers
|
82051a33e5
|
simplify / break down complex expressions for code readability
|
2020-10-05 03:00:40 +02:00 |
Stefan Schippers
|
051b20c014
|
code formating, use some intermediate variables for code readability, line length limited to 124 chars
|
2020-10-04 23:55:43 +02:00 |
Stefan Schippers
|
3cf9d53182
|
comments in code
|
2020-10-04 11:19:50 +02:00 |
Stefan Schippers
|
39cd1a77ed
|
fix a regression in delete(): instance hash was not updated. removed some redundant drawing in copy operations
|
2020-10-03 04:33:52 +02:00 |
Stefan Schippers
|
164ce52945
|
performance boost of "show net on symbol pins" feature
|
2020-10-02 18:19:31 +02:00 |
Stefan Schippers
|
8807c7250d
|
various graphic rendering fixes for the new "view instance pin net names" function. Fixed some errors in merge schematic in callback.c and paste.c
|
2020-10-02 03:21:22 +02:00 |
Stefan Schippers
|
cf0db629c4
|
make move operations display updated @#n:net_name attributes after move operation
|
2020-10-01 02:58:05 +02:00 |
Stefan Schippers
|
d706e45987
|
set max width of .c files <=130 chars; Fix netlist regression: if no "lab=value" is given in instance attributes get lab from symbol "template=" string. This was commented out recently and now reverted back. "View->Enable show net names on symbol pins" global menu added: if unset no symbol pin net names will be shown regardless of instance/symbol "net_name=true" and pin @#n:net_name attributes.
|
2020-09-30 23:55:07 +02:00 |
Stefan Schippers
|
392e7f9b57
|
"@#n:net_name" attribute (n = pin name or number) in symbols translates to net name attached to pin. "lab_show.sym" component that shows (does not assign) net name. "highlight=true" attribute can be given on instances in addition to symbols. Set filename in recent history also when given on command line.
|
2020-09-30 00:55:34 +02:00 |
Stefan Schippers
|
91e74fadcb
|
"@#n:net_name" attribute (n = pin name or number) in symbols translates to net name attached to pin. "lab_show.sym" component that shows (does not assign) net name. "highlight=true" attribute can be given on instances in addition to symbols
|
2020-09-30 00:30:48 +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
|
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
|
1a2500291d
|
dash attribute for arcs
|
2020-09-02 23:59:58 +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
|
fa9bdd44bc
|
avoid redundant rebuild_selected_array() on Motion events, better auto-highlight fature
|
2020-09-01 10:50:08 +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
|
f26a0c737e
|
Use text layer (color) attribute for text objects also in no-CAIRO builds
|
2020-08-29 11:58:50 +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
|
5e8df730a0
|
populating xschem git repo
|
2020-08-08 15:47:34 +02:00 |