Commit Graph

177 Commits

Author SHA1 Message Date
stefan schippers cf7a74bc99 transform get_attr_val() to return a double instead of an int, use -1.0 for "bus" attribute, otherwise use positive double values to indicate actual line widths. This allows specifying custom widths in the future, but still maintaining compatibility with bus=1. "bus" struct members are thus doubles now 2025-11-26 14:07:54 +01:00
stefan schippers e97a75f65a do not consider "@spice*" texts in symbol bbox calculation (annotator texts) 2025-11-11 16:55:39 +01:00
stefan schippers bf344309f0 implement "nodraw" flag in all object selections in the "xschem select" command, implement the "nodraw" flag in "xschem search" command 2025-10-29 09:06:07 +01:00
stefan schippers 0657c44e02 select by area or select by touch: select also attached objects as done in select by click or select all 2025-08-20 08:37:47 +02:00
stefan schippers 0f49e3cda7 Make xschem build with configure option --CFLAGS="-std=c23" (prepare for gcc-15 issues) 2025-05-01 23:52:53 +02:00
stefan schippers 6af59cb3fb reset alloc IDs 2025-04-18 02:02:15 +02:00
stefan schippers dbac25433c `/` command (show bindkeys) will use a toplevel window instead of fullscreen 2025-04-18 02:00:08 +02:00
stefan schippers 8e2748905a fix eval_expr not recognizing 1234e-12 (negative exponent),fix spice.awk (dangerous removal of `value=` patterns in spice netlists) 2025-04-05 02:07:48 +02:00
stefan schippers 232ca9c58c followup of previous commit: do draw_selection in the right place in select_rect() 2025-03-29 19:16:40 +01:00
stefan schippers 6f0133a1b2 changed some *attached*() function names for sonsistency 2025-02-22 19:38:05 +01:00
stefan schippers e266642c2c lock attribute extended to all objects 2025-02-22 12:47:54 +01:00
stefan schippers 0e438829c6 allow locked attached rectangles, so they can not be selected accidentally. Small resize of x/y graph axis labels 2025-02-22 10:33:13 +01:00
stefan schippers 935ec27772 floater objects: add command ctrl-u to unselect attached (so some instance with the attach=.. attribute) objects, that is objects (not element instances) with a non empty name=... atttribute. Extend upcate references of attached floaters to change instance name property and `xschem setprop instance name` command 2025-02-22 01:30:38 +01:00
stefan schippers 4e2af7ddb9 attach attribute: update copied objects 2025-02-21 17:49:38 +01:00
stefan schippers 3eab6bf2dc added attribute `attach="name1 name2 ..."` for components to designate other objects to be selected with it. Designated objects must have a matching `name=name1` attribute. This allows to create object groups 2025-02-21 14:31:30 +01:00
stefan schippers afe058a25d comments typos 2025-02-20 16:30:40 +01:00
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25:55 +01:00
stefan schippers 01989bba0c fix issue with previous fix, add enable_stretch parameter to select_inside() and select_rect() 2025-01-26 00:26:56 +01:00
stefan schippers 59e7872f67 reduce some pointer indirections to array subscripts (readability) 2025-01-10 16:00:47 +01:00
stefan schippers 0a3fd95e06 code formatting 2025-01-10 14:58:10 +01:00
stefan schippers 783fa04eb6 `xschem save` --> save_schematic(): added `fast` argument (do not update window/tab/sim button states for speed); `xschem select instance` --> select_element(): added `nodraw` argument in addition to existing `fast` (avoid drawing selected item for speed) 2025-01-05 13:27:49 +01:00
stefan schippers 69a23355fb refactor some debug print messages for NULL strings 2025-01-04 11:33:58 +01:00
stefan schippers 20359ed43e update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions 2024-11-12 20:23:18 +01:00
stefan schippers 0bd6ccef86 select_element(): do not draw selection if fast argument given 2024-11-03 10:33:11 +01:00
stefan schippers 1dd3e28b32 remove memory tracking alloc IDs 2024-09-06 22:27:05 +02:00
stefan schippers 391464bab9 fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval() 2024-09-06 22:19:36 +02:00
stefan schippers 2060ca8871 update all text_bbox() calls to account for tabs in bbox calculation 2024-05-24 18:05:37 +02:00
stefan schippers 69ecb82750 in intuitive_interface allow to trigger laucher() by ctrl-click (if no mouse is moved), do not clear set_first_sel() data in intuitive_interface when clicking (without moving) multiple objects, better recognize .subckr or .model name in device_model attributes 2024-04-18 11:40:51 +02:00
stefan schippers 12b01e31c6 draw_symbol() and draw_temp_symbol(): do not attempt to do a 2nd level @var resolution for texts as this creates more inconveniences than advantages (quoting hell) 2024-03-20 23:57:01 +01:00
stefan schippers 218d4ad3f2 fill=solid in addition to fill=1 (stippled fill) or fill=0 (no fill) for rectangles, polygon/beziers and circles 2024-03-09 03:12:25 +01:00
stefan schippers cf002964f3 fix wrong unselection of text objects after changing text layer (delete_only_rect_line_arc_poly() erroneously setting xctx->lastsel to 0) 2024-03-07 23:38:00 +01:00
stefan schippers 3cdd6526c6 add xschem closest_object command, improve intuitive_interface (dont full-select already partially selected item when dragging) 2024-03-05 11:57:15 +01:00
stefan schippers 48e93c4e37 added dark_gui_colorscheme (default: 0) for dark widget colorscheme configuration. Enabled again partial select (resize) of arcs 2024-03-03 00:40:51 +01:00
stefan schippers 9f167f9568 allow launcher style behaviourrt (tclcommand / url attributes) on all objects. Add (shift + but1 click) and Delete (Ctrl+ But1 click) polygon points. fixed some graphical artifacs when adding new object while some selection is present 2024-03-02 02:29:03 +01:00
stefan schippers f903a018b2 removed partial select of arcs, will be replaced in the future by bound box resizing and ability to draw ellipses 2024-03-01 15:04:38 +01:00
stefan schippers 2f9d9e1755 dont allow recursive polygon placements (complete or abort before starting new) 2024-03-01 12:19:15 +01:00
stefan schippers 1e3ac96085 table_read(): read csv files 2024-02-27 10:24:21 +01:00
stefan schippers 8c55f3a99e add `hide=instance` attribute for in-symbol text objects (in addition to hide=true or hide=false). If set the text is invisible in instantiated symbols, but is visible if descending into the symbol 2024-01-08 15:47:01 +01:00
stefan schippers 6648652ae5 allow instance attribute `text_n_size=s` (where s is a double and n is an integer) to set symbol text item `n` to size `s` 2023-12-03 12:26:18 +01:00
stefan schippers e467c5641d fix a crashing bug if aborting (in destination window) a copy operation between different windows ( hash_wire(XDELETE...) ) 2023-11-28 15:26:27 +01:00
stefan schippers 8231cd65db set_first_sel(): returns first selected element (if any) 2023-11-09 15:12:56 +01:00
stefan schippers 584f88fba1 object iterator, object spatial hash table for all objects. tbu in the future maybe. Fix crashing bug when copying ngspice_probe.sym if annotation is enabled 2023-11-09 13:57:58 +01:00
stefan schippers a5ee182d59 add some Symbol menu entries (place net label / change instance texts to floaters) 2023-11-03 15:10:22 +01:00
stefan schippers 2c26bfbaa9 fix some garbage while moving / copying and zooming. faster draw_selection(gctiled) if big selection (use a single XCopyArea), do not allow to descend/go_back if other UI action is pending, initial implementation of `xschem floaters_from_selected_inst` command, get_tok_val() allow quotes in tokens, like a"22"33=123 even if with_quotes unset (it is intended for token values not for tokens themselves) 2023-11-03 14:36:35 +01:00
stefan schippers e282abb5f1 optimized XCopyArea for draw_graph(flags & 1), removed redundant OUTSIDE macro 2023-10-30 18:03:52 +01:00
stefan schippers 36b1a9f9e7 fix delete_only_rect_line_arc_poly() (used in change_layer) 2023-10-30 00:22:25 +01:00
stefan schippers a19020ed78 removed find_inst_to_be_redrawn() and related code (not worth doing) 2023-10-29 11:11:45 +01:00
stefan schippers b965fb0ba4 improvements in the `Fix for GPUs with broken tiled fill`, no more flickering in selections 2023-10-27 23:45:54 +02:00
stefan schippers 364fb55df1 avoid doing unselect_all() if nothing to unselect 2023-10-27 12:42:08 +02:00
stefan schippers 0819211bb0 when doing a select by area with shift pressed the object under the mouse will not be unselected if it was already selected (xctx->already_selected) 2023-10-23 23:41:39 +02:00