Commit Graph

2886 Commits

Author SHA1 Message Date
stefan schippers 9e4b26b027 dont process Motion / ButtonPress events if done in wrong window without first focusing it 2025-03-24 16:21:01 +01:00
stefan schippers 3443e9aff5 even in click to focus mode allow switching to other window when copying stuff across windows 2025-03-24 15:32:37 +01:00
stefan schippers 5ac170f2a5 changes in event system to make window context switching (in no tab mode) less "automatic", requiring a FocusIn event to switch. Will work better when working with the new symbol browser. changed default value of autofocus_mainwindow to 0 (set to 1 explicitly in xschemrc if you need that) 2025-03-24 13:46:15 +01:00
stefan schippers 48beb76087 created handle_expose() event handler, offloaded from callback() 2025-03-23 16:10:58 +01:00
stefan schippers eadfe6511a further move statusbar code from callback() to update_statusbar() 2025-03-23 15:57:34 +01:00
stefan schippers 31a0712109 remove some redundant operations (housekeeping_ctx) when switching windows contexts for redraw_only 2025-03-23 12:16:01 +01:00
stefan schippers ed0d71c1ff move update statusbar stuff from callback() into separate function 2025-03-23 11:35:49 +01:00
stefan schippers d765f6ac4f in cadence_compat mode, when a selection is present, clicking on a selected item will unselect all others (default is do nothing) 2025-03-23 00:25:29 +01:00
stefan schippers 57a03c1c66 some small variable name refactor in xschem.tcl 2025-03-21 18:29:53 +01:00
stefan schippers 87325c6998 implement lassign command for tcl versions lacking it 2025-03-21 10:50:30 +01:00
stefan schippers 30d8789398 avoid lassign in xschem.tcl (not available pre-tcl8.5) 2025-03-20 12:07:49 +01:00
stefan schippers 08c613d3a8 fix regression (Shift-D not working) introduced after `Escape pressed while drawing polygon will cancel last segment instead of the whole poly` 2025-03-19 10:03:20 +01:00
stefan schippers baf80c3092 some comments added/removed 2025-03-19 02:15:52 +01:00
stefan schippers 8f0be37b16 do not skip texts with hide=instance attribute in calc_drawing_bbox() 2025-03-19 01:47:06 +01:00
stefan schippers 025cee31bb Add checkbutton description text in insert_symbol 2025-03-19 01:15:06 +01:00
stefan schippers 0b266d2bd0 merge in SuperChayan refactoring ( recompute_orthogonal_manhattanline() ) 2025-03-19 00:50:35 +01:00
stefan schippers ce8714acae add new_file_browser_* variables in xschemrc to allow new symbol browser to be used also to load files 2025-03-19 00:45:25 +01:00
stefan schippers 7e46ec6efb merge in SuperChayan changes for orthogonal wiring / manhattan move 2025-03-18 18:41:50 +01:00
stefan schippers e4d4c18b4c cleanups in insert_symbol procedures 2025-03-18 18:38:13 +01:00
stefan schippers 7cf84e9049 .processlist: update title based on current schematic 2025-03-18 17:17:20 +01:00
stefan schippers b4344360a9 better process list title 2025-03-18 16:31:07 +01:00
stefan schippers 53b90ee689 conversions from eng notation: add x in addition to meg as suffix for 1e6 (Xyce extension) 2025-03-18 15:53:47 +01:00
stefan schippers 0d2b57bfa5 use TkDefaultFont in right click context menu instead of a custom menu. This makes scaling with tk_scaling more consistent 2025-03-18 13:30:40 +01:00
stefan schippers c4b3e204a0 place_moved_wire(): in manhattan mode don`t store new wires if not needed (single point) 2025-03-18 12:36:46 +01:00
stefan schippers 2ea1294fb1 add toolbar_icon_zoom and ctxmenu_icon_zoom xschemrc (integer) variables to enlarge icons on XUHD displays 2025-03-18 10:51:34 +01:00
stefan schippers 0f9d201f0a (2) insert symbol preview. Fixed some race conditions 2025-03-18 03:31:37 +01:00
stefan schippers 172a001425 insert symbol preview. Fixed some race conditions 2025-03-18 03:07:48 +01:00
stefan schippers 4584c260ba new insert symbol: low-pass filter (200ms) on preview rendering to speed up quick listbox select events (arrow key autorepeat) 2025-03-18 01:58:55 +01:00
stefan schippers b348451160 new symbol browser: add Update button to refresh list of dirs and files; fix Alt-s (Reload) incorrectly moved in r keybind after handle_key_press() refactoring 2025-03-18 00:53:46 +01:00
stefan schippers abfa38b1e4 make move of wires with `manhattan_lines` consistent, keep last wire segment selected. TBD: fix orthogonal_wiring modes 2025-03-17 19:23:55 +01:00
stefan schippers f9546b6ebd add ORDER() before storing new wires (manhattan mode) in move operation 2025-03-17 13:08:37 +01:00
stefan schippers 42bd51e88b use drawtemp_manhattanline() also for new_line(). transform xctx->nl_xx[12] and xctx->nl_yy[12] used in some drawimg functions to local variables where global context is not needed. 2025-03-17 00:23:05 +01:00
stefan schippers caddf0f0dd fix indentation 2025-03-16 23:38:54 +01:00
stefan schippers 50321ae480 align callback.c with SuperCD fork 2025-03-16 19:56:57 +01:00
stefan schippers 33591fa41d applied recent additions from SuperCgayan 2025-03-16 11:35:30 +01:00
stefan schippers b415b8e889 fix regression in new_wire() (in manhattan mode) due to previous commit (courtesy SuperChayan) 2025-03-16 11:08:27 +01:00
stefan schippers a0a5d9876f drawtemp_manhattanline(): use local nl_xx[12] and nl_yy[12] variables, since xctx->nl_xx[12] and xctx->nl_yy[12] are used also in select_rect() which calls draw_selection() which calls drawtemp_manhattanline(). 2025-03-16 05:15:40 +01:00
stefan schippers 2f26544c45 dont assume a particular manhattan_lines when starting wires or lines. Keep last one set 2025-03-16 01:17:50 +01:00
stefan schippers e4cf179868 insert_symbol: Return Key binding for quick dialog close 2025-03-16 01:01:49 +01:00
stefan schippers c02b80c79d fixes in insert_symbol 2025-03-16 00:49:38 +01:00
stefan schippers 124d73ee64 fix regression (start new wires in manhattan orient) 2025-03-16 00:31:57 +01:00
stefan schippers cc90201b27 remove debug msgs in insert_symbol 2025-03-16 00:13:07 +01:00
stefan schippers ed8a6dbe11 little optimization in insert_symbol 2025-03-16 00:02:12 +01:00
stefan schippers d37c872a49 merge in a SuperChayan change in move.c 2025-03-15 23:47:18 +01:00
stefan schippers fd65c8876d cleanup and fixes in proc insert_symbol 2025-03-15 23:29:11 +01:00
stefan schippers 313acc8e29 further improvements to new_symbol_browser 2025-03-15 03:20:01 +01:00
stefan schippers 73a920ea41 xinit.c: eval user_startup_commands after sourcong tcl_files 2025-03-14 18:28:19 +01:00
stefan schippers 08397f7038 merge Chayan Deb changes for manhattan-style move objects and handle_key_press() refactor 2025-03-14 15:25:57 +01:00
stefan schippers 588ee1b8f4 do not call place_symbol() with relative symbol names. Initial draft fof proc get_list_of_dirs_with_symbols 2025-03-14 03:29:05 +01:00
stefan schippers 9cb435c43c remove implicit [pwd] prepending to relative paths given to rel_sym_path. this assumption is incorrect in some cases 2025-03-13 21:51:06 +01:00
stefan schippers e789988b05 add `user_startup_commands` variable that may contain tcl code to be executed after any new window creation. Useful to have custom bindings / menu / buttons in all windows. 2025-03-13 20:11:18 +01:00
stefan schippers 84ca35e6f5 add menu option Simulation->LVS->Upper case .SUBCKT and .ENDS 2025-03-13 11:57:09 +01:00
stefan schippers ac1f618030 clean up a bit the load_file_dialog pack order 2025-03-13 11:26:07 +01:00
stefan schippers 514b1f3789 insert_symbol: keep selected listbox item when leaving/entering the widget 2025-03-13 01:45:40 +01:00
stefan schippers 0c4c8f4d9f proc insert_symbol: select active listbox cell so symbol placement can start right away 2025-03-13 00:48:38 +01:00
stefan schippers 2a4ebe4b77 new (optional) symbol placement browser 2025-03-12 16:59:45 +01:00
stefan schippers 0f5c554e33 add command `xschem get ui_state`, improvements in proc insert_symbol 2025-03-12 02:00:45 +01:00
stefan schippers e1488da407 add `xschem rect gui`, `xschem line gui`, `xschem polygon gui`, `xschem wire gui` to start placement of these objects with 1st point set to mouse coordinates 2025-03-11 20:47:00 +01:00
stefan schippers 5e6ce2dce8 fix xschem.tcl proc traversal 2025-03-10 17:02:46 +01:00
stefan schippers c69c1b2687 better handling of snap cursor and snap wire creation (no cadence emulation) 2025-03-10 01:03:15 +01:00
stefan schippers d582fc98d8 proc load_file_dialog: allow multi selection (extended) only for load file, not for place instance 2025-03-09 13:53:18 +01:00
stefan schippers 7e5a36531b reduce max zoom in/out factors 2025-03-09 10:15:50 +01:00
stefan schippers de6434c941 allow multi-selections when loading a file; limit max line width in change_linewidth() to avoid strange artifacts at extreme zoom-ins 2025-03-09 02:46:58 +01:00
stefan schippers 2f1643368e add command `xschem raw rename old_node new_node` 2025-03-08 21:14:46 +01:00
stefan schippers f1901e055c clip graph point[].x values to prevent aliasing at absurdly deep zoom in values 2025-03-08 10:53:21 +01:00
stefan schippers d7d812c023 square grid points if grid_point_size is specified 2025-03-07 15:59:43 +01:00
stefan schippers 96eeef5a95 raw_read(): cleanup allocated `rawptr` if nothing loaded due to missing file 2025-03-07 15:34:19 +01:00
stefan schippers fafd48eb31 new tcl variable grid_point_size to set size of grid points (for 4K+ displays) 2025-03-07 14:45:13 +01:00
stefan schippers eb99123a49 `xschem load` command: allow multiple files to be loaded 2025-03-06 20:47:49 +01:00
stefan schippers fb9189018d avoid strdup on value in print_spice_element() 2025-03-04 09:58:56 +01:00
stefan schippers 56e0410047 fix a bug in eval_expr() usage in token.c (duplicate return string to avoid double free) 2025-03-04 09:43:26 +01:00
stefan schippers b449bb2728 revert: better detection of expr() in netlister functions 2025-03-04 09:07:55 +01:00
stefan schippers 0ea6af2c99 better detection of expr() in netlister functions (print_spice_element(), ...) 2025-03-04 00:33:27 +01:00
stefan schippers efdd45f414 revert wrong fix (fix typo in draw_graph()) not a typo... 2025-02-28 19:19:06 +01:00
stefan schippers aa68a3a0d2 fix spurious overwrite of xctx->graph_struct done in raw_read() called from draw_graph() which uses xctx->graph_struct 2025-02-28 18:51:35 +01:00
stefan schippers be1a0deb89 fix typo in draw_graph() 2025-02-28 18:04:56 +01:00
stefan schippers becbf7cf9c descend_schematic() return value indicates if descended into a valid schematic (1) or empty one (0) 2025-02-28 16:08:35 +01:00
stefan schippers bba3f434d5 fix an error in change_sch_path() (level check) and go_back() (no set title) 2025-02-27 13:04:57 +01:00
stefan schippers 028ca8cb5a proc editdata: added Copy (to Clipboard) button 2025-02-27 01:45:12 +01:00
stefan schippers c19c25873b (2)proc to_eng: return arg as is if not valid expression 2025-02-26 19:33:14 +01:00
stefan schippers 2d6b7c4fe1 revert previous 2025-02-26 16:03:36 +01:00
stefan schippers 43a8b62a24 proc to_eng: return arg as is if not valid expression 2025-02-26 16:01:32 +01:00
stefan schippers d3e0ca82b4 eval_expr.y: references to unknown identifiers cause the lexer to return an error so the expression is not evaluated and returned as is, instead of erroneously interpreting the unknown identifier as 0 2025-02-25 02:00:55 +01:00
stefan schippers f9ccf878c2 differential scope2.sym, current mwasure scope_ammeter.sym 2025-02-24 15:23:35 +01:00
stefan schippers b205b4a496 fix ui problem when ctrl-clicking a launcher (drag_elements remained set) 2025-02-23 23:49:31 +01:00
stefan schippers bd2c65bc1a embed graph inside scope symbol 2025-02-23 14:58:44 +01:00
stefan schippers 1d3c2dde59 fix regression: Cancel pressed when inserting new symbol 2025-02-23 14:03:53 +01:00
stefan schippers 6a75c8a6dd initial commit to add scope.sym symbol 2025-02-23 13:50:39 +01:00
stefan schippers c604a1f033 higher priority of `unlocked` sub-attribute in rect `graph` attribute. Do not propagate zoom / pan to any other graphs even if they are locked. 2025-02-23 12:39:59 +01:00
stefan schippers a306d97725 update docs (#pattern#@name tag) 2025-02-23 12:12:59 +01:00
stefan schippers 7144ead895 remove dbg messages 2025-02-22 19:49:43 +01:00
stefan schippers 81c3d64778 (2) changed some *attached*() function names for sonsistency 2025-02-22 19:40:04 +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 a93fb64e12 better threshold detection for bezier selection 2025-02-22 11:37:19 +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 a592216c19 update solar_panel.sch (grouped aka attached floaters, scope meter object), better selection of left-y axis in small graphs 2025-02-22 02:18:27 +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