Commit Graph

517 Commits

Author SHA1 Message Date
stefan schippers a3e7610d83 horizontal cursors in graphs 2025-01-07 04:20:32 +01:00
stefan schippers 9fda7e2f96 wip: put code in place for horiz cursors in graphs 2025-01-06 13:14:12 +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 45382d1b1d fix `s` command (simulate) to work with new menu system 2025-01-02 13:22:34 +01:00
stefan schippers 2bd205427d load_schematic(): do not set xctx->time_last_modify if called with reset_undo == 0; fix persistent command mode when started from menu; update traversal procedures 2025-01-02 12:52:51 +01:00
stefan schippers b23b162f2c rewritten the menu system using a menubar vs the menubuttons 2024-12-31 03:51:05 +01:00
stefan schippers 0b4cedbf05 add Button3 drag for rectangle zoom, move ctx menu to Button3Release, updates in traversal and cellview 2024-12-29 19:35:49 +01:00
stefan schippers 3fecba878c fix double push_undo() call when adding a wire in intuitive_interface (by click and drag from a wire endpoint or symbol pin). This led to inconsistencies (spurious connecting dots on wires) when doing an Undo operation 2024-12-23 02:22:40 +01:00
stefan schippers 7a8ab78d11 restore rotten intuitive interface command ctrl-shift-click-drag to move a component creating wires if pins attached to components or wires 2024-12-22 18:49:58 +01:00
stefan schippers ce99d093c4 screen grab: if draw crosshair is enabled and a screen grab is done show default mouse pointer 2024-12-01 11:55:46 +01:00
stefan schippers 5ae730a5fb waves_selected(): do not check sch_waves_loaded() to return is_inside 2024-11-30 10:57:06 +01:00
stefan schippers ebc4babdd4 add graph_use_ctrl_key variable (default 0) to force holding Control key to interact with graphs. This avoid graphs "stealing" events that are expected to work on the schematic 2024-11-29 22:52:36 +01:00
stefan schippers b642d63215 avoid unneeded calls to draw_crosshair(1) if crosshair is not enabled. Double performance of draw_graph_points() (do not draw on xctx->window if XCopyArea drawing model (now the default) is enabled 2024-11-27 16:13:48 +01:00
stefan schippers 67a4407952 fix typo in condition (draw_pixmap instead of save_pixmap) 2024-11-16 10:19:34 +01:00
stefan schippers 7e699d94e5 indentations in xschem.tcl 2024-11-14 20:41:54 +01:00
stefan schippers 819e2f0969 limit precision of (now unsnapped) selection rectangle dimensions in status line 2024-11-13 23:05:46 +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 dd33a067de select rectangles are unsnapped. much easier to select small objects 2024-11-10 09:53:37 +01:00
stefan schippers 94d5c44599 xschem change_sch_path command for changing the current path we are descended in; set_title parameter for xschem descend and xschem go_back (optimization for faster scripts). optimized utility procedure traversal.tcl. Catch glob pattern errors in proc setglob 2024-11-03 00:22:40 +01:00
stefan schippers 98475e328b avoid triggering tclcommand -> launcher() when dragging mouse with ctrl key around objects with such attribute 2024-10-12 20:47:34 +02:00
stefan schippers e5015488f3 double clicking in the center of a graph will now bring up the graph edit attributes dialog box even if no raw file is loaded 2024-09-07 10:11:52 +02: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 27c0fd1622 use atof_spice() instead of atof() to read cursor position data from graph attributes 2024-09-05 14:53:36 +02:00
stefan schippers a94e0363fd Add "private cursor" check box in graph dialog box. This allow the related graph to have separate "a" and "b" cursors. These cursor positions are saved with the schematic and are thus persistent when reloading the schematic. 2024-09-05 00:51:15 +02:00
stefan schippers 18a0c5e624 Use by default *.{sym,tcl} pattern in insert symbol and component browser 2024-05-28 14:32:20 +02:00
stefan schippers 087aa8c3b9 if a full path is given with -N set netlist file name as well as destination path; allow right click waveforms to set to bold even if cursors are drawn 2024-05-27 08:03:52 +02:00
stefan schippers 60c5230727 resolved_net(): resolve nets passed to symbols via attributes, avoid using dtoa_eng() in returned spice voltages, use dtoa(), since it may be used further in tcl expressions. 2024-05-03 15:00:51 +02:00
stefan schippers 00d367ae0c Add xctx->mouse_moved state var to better handle ctrl-clicks (launcher() trigger) 2024-04-18 20:47:06 +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 6a4131699a improve `xschem add_symbol_pin` command, add create_symbol.tcl procedure 2024-04-12 00:06:36 +02:00
stefan schippers b004618c25 explicit parameters to interpolate_yval() 2024-04-01 23:23:45 +02:00
stefan schippers d9871edb13 update LCC_instances.sch 2024-04-01 02:23:30 +02:00
stefan schippers 318c52cd0f cursor positions always saved in true x values (no log taken for logx axes) avoid too many log10() / pow(10, ...) conversions 2024-04-01 00:25:50 +02:00
stefan schippers 8eecd73c50 removed impossible if() condition in backannotate_at_cursor_b_pos() 2024-03-31 13:36:35 +02:00
stefan schippers 9c5a1a9816 handle cursor drawing in multiple graphs, some with log scale some others without 2024-03-31 13:27:12 +02:00
Stefan Schippers 731a265dcf removed some dead code 2024-03-30 20:16:47 +01:00
Stefan Schippers cab89d03d9 revert to commit 2024-03-26 18:48:48 2024-03-30 19:20:51 +01:00
stefan schippers 547bdec018 avoid rouding to 0 wave measures in show_node_measures() 2024-03-30 13:00:39 +01:00
stefan schippers 27c065327e improve cursor display and move with multiple graphs with different sweep variables (2) 2024-03-30 02:20:38 +01:00
Stefan Schippers ba76f42277 improve cursor display and move with multiple graphs with different sweep variables 2024-03-29 19:58:54 +01:00
stefan schippers fdeca4646a cursor a and b: when draging in a graph with default sweep var correctly map cursor in other graphs with different sweep vars 2024-03-29 13:57:06 +01:00
stefan schippers 642ee525ac fix grab screen window pathname calculation 2024-03-21 22:37:39 +01:00
stefan schippers 751c965e9f waves_selected(): better checking of mouse `is_inside` graph 2024-03-21 22:28:32 +01:00
stefan schippers 5417392357 grab screen make it work if initiated from additional tabs / windows 2024-03-21 22:10:27 +01:00
stefan schippers e55c8294c2 fix ctrl-click in launchers if no intuitive interface is set 2024-03-20 18:43:25 +01:00
stefan schippers 3e722d217d remove dgb message 2024-03-20 11:55:36 +01:00
stefan schippers 61b1c0b368 add `Tools->Grab screen area` function (unix only) 2024-03-20 03:53:56 +01:00
stefan schippers cfccb64026 remove dbg msgs 2024-03-18 03:10:00 +01:00
stefan schippers f68cb6c18a start launcher commands on mouse button release (if no mouse movement has occurred) to allow ctrl-button1 drags 2024-03-18 02:39:54 +01:00
stefan schippers 6c0398a8b6 fix unintended move operation start when clicking a launcher that starts a new schematic and returning to the originating schematic containing the launcher. Added support for direct JPG image import (no JPG->PNG filters) 2024-03-14 11:09:49 +01:00
stefan schippers 90241d2463 Alt-x to toggle crosshair display, removed alt-x and ctrl-shift-X for compare schematic functions (seldom used) improved calculation of `delta` in drawgrid, improved search() (added missing arcs and polygon attribute searches) 2024-03-10 12:11:51 +01:00
stefan schippers a855f732c9 fix redundant push_undo() in shape_point_selected ops 2024-03-09 06:16:41 +01:00
stefan schippers 3a412e8e6f fix redundant push_undo() in drag_elements 2024-03-09 06:08:22 +01:00
stefan schippers 0611c7a6e7 allow select and drag graphs by clicking the upper border too 2024-03-08 15:08:47 +01:00
stefan schippers 336a132219 update inst_sch_select.sch, fix constrained move reset in intuitive_interface 2024-03-08 00:48:05 +01:00
stefan schippers 132d335757 fix a regression in merge_file(0,...) from user provided file being aborted 2024-03-07 18:32:42 +01:00
stefan schippers 71b1b52384 fix some unwanted persistency of constrained move (now renamed to constr_mv and moved into xctx struct), not being reset at end of command 2024-03-07 17:48:41 +01:00
stefan schippers f57f09ee12 allow rotate/flip objects while moving in intuitive interface (Button1 pressed) 2024-03-07 12:31:18 +01:00
stefan schippers 76678ab8b6 drag wires from pins: improvements on previous commit 2024-03-07 00:08:47 +01:00
stefan schippers 022a0ebb5e drag wires from pins: if instance is selected can drag wire from pin even if there are already other wires attached 2024-03-06 20:04:15 +01:00
stefan schippers a7034ce2d1 directly create new wires by clicking and dragging from unconnected instance pins (if intuitive_interface is enabled) 2024-03-06 16:27:14 +01:00
stefan schippers 4d3af62ee1 intuitive_interface: if clicking without shift all other selected objects will be unselected 2024-03-06 13:02:53 +01:00
stefan schippers f663a6486d intuitive_interface: if clicking without shift all other selected objects will be unselected 2024-03-06 12:58:29 +01:00
stefan schippers 174d590ad1 fix some regressions (place wires/lines/polys/rectangles from context menu), restore selection when creating a new arc 2024-03-06 12:53:49 +01:00
stefan schippers 72e613785a fix some graphical artifacts when moving crosshair over partially selected objects (missing rebuild_selected_array()) 2024-03-05 23:17:42 +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 ceafdedbbd intuitive_interface fix bug(3): cleanup 2024-03-05 10:04:39 +01:00
stefan schippers 02247d13bb intuitive_interface fix bug(2) (did unselect all when clicking on a new instance) 2024-03-05 09:58:48 +01:00
stefan schippers 733d5a9bb1 intuitive_interface fix bug (did unselect all when clicking on a new instance) 2024-03-05 09:55:35 +01:00
stefan schippers 99e2c9e503 various improvements in intuitive_interface and shape point selection 2024-03-05 02:54:35 +01:00
Stefan Schippers 5be402ea22 add Option menu `draw crosshair`, some fixes for crosshair restoring when unselecting 2024-03-04 20:42:29 +01:00
stefan schippers 73ab9de8da better threshold for selecting rectangle vertices 2024-03-04 17:44:35 +01:00
stefan schippers 4a418924eb add line and wire direct endpoint editing 2024-03-04 17:13:36 +01:00
stefan schippers b3a52015f1 add rectangle point editing (vertices can be drag directly) 2024-03-04 16:33:20 +01:00
stefan schippers 973d2c7415 remove dbg mesages 2024-03-04 15:33:11 +01:00
stefan schippers 7daea289a2 refactored callback() (more sub-functions), some fixes in copy between windows 2024-03-04 14:38:32 +01:00
stefan schippers 5d9de6a697 refactor some variable names in callback() (Button1 events) 2024-03-04 01:25:29 +01:00
Stefan Schippers 6d7a4ab377 Intuitive interface: Shift-click and drag will duplicate objectt instead of moving and creating wires. cleanup polygon point editing (removed redundant code) 2024-03-03 20:13:43 +01:00
stefan schippers 3fac387e62 Intuitive interface: do not start move operations if clicking with SHift key pressed. Too many side effects. 2024-03-03 12:34:15 +01:00
stefan schippers d529f21d88 do not start xctx->drag_elements if xctx->poly_point_selected is set 2024-03-03 05:15:51 +01:00
stefan schippers 55ac6bb396 further fix previous regression 2024-03-03 04:21:49 +01:00
stefan schippers c07871d4ee fix position of if(waves_selected(event, key, state, button)) in callback ButtonRelease 2024-03-03 02:24:38 +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 c49fd0bfc9 various fixes for intuitive_interface / drag_elements 2024-03-02 16:28:22 +01:00
Stefan Schippers 825c671660 fix intuitive_interface: selecting other objects with mouse srea select + shift will not start a move operation 2024-03-02 16:03:37 +01:00
stefan schippers 77cd3eec56 added intuitive_interface xschemrc and menu option: click and drag to quickly move objects without keyboard commands 2024-03-02 14:15:30 +01:00
stefan schippers 731dd91018 do a change linewidth before redrawing after invoking set_snap(), before draw() 2024-03-02 03:46:08 +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 9f04c22aa0 UI cleanups related to polygon point dragging. Prepare for polygon add/delete points 2024-03-01 20:05:45 +01:00
stefan schippers 7ca9819e13 when locating polygon point to be dragged select first found if there are overlaping points 2024-03-01 19:13:29 +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 a554ee0afa fix a typo in callback.c, remember size of text attribute set dialog box 2024-03-01 02:33:32 +01:00
stefan schippers 724449a1b3 comments in code about polygon point dragging 2024-03-01 00:48:04 +01:00
stefan schippers 28aec3fad8 fix error in set_snap(): should not do a redraw (draw() ) here, causing a segfault if x11/tk structures are not ready yet. add draw() in places where this function is called if there is something to draw/ 2024-03-01 00:39:24 +01:00
stefan schippers e946a729f8 add ability to click and drag directly polygon/bezier points 2024-03-01 00:12:44 +01:00
stefan schippers f4560a0add bezier shapes can be drawn (polygon with attribute `bezier=1`) 2024-02-29 03:40:08 +01:00
stefan schippers 0ab7affda2 restore_selection(): add line width to bounding box of selection to eliminate graphic artifacts 2024-02-27 16:43:49 +01:00
stefan schippers 6ac58eb880 fix regression in translate (check instances out of bound) affecting place_symbol() 2024-02-27 12:51:20 +01:00
stefan schippers 7a45497b45 add `xschem raw del node` command 2024-02-25 12:21:13 +01:00