Commit Graph

2235 Commits

Author SHA1 Message Date
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 7b107621ef dark_gui_colorscheme toolbar 2024-03-05 18:08:01 +01:00
stefan schippers ffd105a3e7 canvas ctx menu: fixed colors (not affected by dark_gui_colorscheme) 2024-03-05 13:22:12 +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 2bd8be9dec remove debug info 2024-03-05 00:32:57 +01:00
stefan schippers f1bb389986 fix make_sym.awk: if an existing symbol is present with empty (or white space) attributes do not preserve these, force new default attributes (name=... template=... format=...) 2024-03-05 00:19:07 +01:00
stefan schippers 0129046499 add some padding to text in left listbox in load_file_dialog 2024-03-04 23:49:55 +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 128e91ce28 re-set xctx->intuitive_interface in context switches from $intuitive_interface in housekeeping_ctx 2024-03-04 02:09:30 +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 5e4fcabf39 set foreground of tooltip text so it can not be screwed up depending on colorscheme 2024-03-03 05:05:41 +01:00
stefan schippers 2561014b75 fix a missing return in drawbezier when called for cleanup, add a filter for $has_x before applying option instructions in xschem.tcl 2024-03-03 04:47:02 +01:00
stefan schippers efa413c4ec rename `Paste selection` in context menu to `Paste clipboard` to avoid confusion 2024-03-03 04:23:35 +01:00
stefan schippers 55ac6bb396 further fix previous regression 2024-03-03 04:21:49 +01:00
stefan schippers 54e446dbc2 fix regression: sel_or_clip filename not updated in merge_file() and in save_selection(). Fixed commit `copy between windows: allow to navigate between more than 2 windows` 2024-03-03 03:17:53 +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 5e6ab50836 further improve dark/light gui coloschemes 2024-03-03 01:57:02 +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 96f6336234 set some black fg colors where bg is specified as white 2024-03-02 18:34:54 +01:00
Stefan Schippers 030702f31a set default foreground, background and various colors to avoid things geting screwed up by desktop themers 2024-03-02 18:03:03 +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 41d126b3c6 revert: don`t print rectangle bboxes around circles as this createed a black sinkhole and a chain-reaction of issues 2024-03-02 03:31:24 +01:00
stefan schippers 1ecf5a30f8 fix wrong bounding rectangle coordinate in circle bbox (drawtemparc()) 2024-03-02 02:43:49 +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 51d13d73c0 precise selection of beziers based on the actual path and not the corresponding polygon 2024-03-01 18:20:57 +01:00
stefan schippers e897aee1c4 added bezier export in svg and postscript code 2024-03-01 17:23:49 +01:00
stefan schippers 7073b5b78c better notation of arc pointers in draw() 2024-03-01 16:03:24 +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 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 263b72de03 add tcl in addition to sch and sym in default search filter in load_file_dialog 2024-03-01 00:29:23 +01:00
stefan schippers 1cb94bedd6 drawtemppolygon: draw/clear correctly control points when moving if no `Fix for broken GPUs option` is set 2024-03-01 00:23:07 +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 fb6d73723e display control point circles when polygon or bezier selected, simplify bezier drawing (no use pow(), no use precomputed cached power values) 2024-02-29 11:11:33 +01:00
stefan schippers 507c44e117 speed optimizations in drawbezier() 2024-02-29 04:41:06 +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 714acfd5c9 tabulate: allow specify alternate separator characters 2024-02-28 18:12:40 +01:00
stefan schippers 599746c4b4 remove debug msg 2024-02-28 16:21:43 +01:00
stefan schippers 6a6881ff47 change_elem_order(): allow to change oder of text elements; add tcl tabulate procedure for pretty encapsulating tabular text into a nice ascii table frame. 2024-02-28 16:20:59 +01:00
stefan schippers 236f4967a9 use `flags: complex` in raw file in addition to `Plotname: ac` to determine if data is stored as complex numbers 2024-02-28 00:08:08 +01:00
stefan schippers 5fe6fa4639 xschem raw read: allow to read raw file with unspecified type (will get the first section found in file) 2024-02-27 23:42:19 +01:00
stefan schippers 2f1b819755 extra_rawfile: added null sim_type (type) check in table_read 2024-02-27 23:32:53 +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 8515f25e25 fix regression in translate (check instances out of bound) affecting copy_objects() 2024-02-27 13:06:19 +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 7ede51737d table_read: skip empty csv rows (some tools save as ,,,,,) 2024-02-27 11:56:18 +01:00
stefan schippers 95fc6377d4 get rid of `sim_type=tablefile`, use `table` (scheduler.c, extra_rawfile()) for reding tables 2024-02-27 11:27:29 +01:00
stefan schippers 1e3ac96085 table_read(): read csv files 2024-02-27 10:24:21 +01:00
stefan schippers 354f027b9b call translate(-1, ..) for text objects containing @... and referencing no valid instance (floater=true) so non instance-related @vars are resolved. translate(): resolve @spice_get_voltage(net) without trying to calculated fqnet from net if no valid inst (-1) is given 2024-02-26 16:05:11 +01:00
stefan schippers 783b5c7aaa added wave processor functions `re()` and `im()` to get real and imaginary part from modulus and phase (expressed in deg) 2024-02-25 23:54:39 +01:00
stefan schippers 7a45497b45 add `xschem raw del node` command 2024-02-25 12:21:13 +01:00
stefan schippers 2fae34caa1 fix idx() function in wave processor, unified `xschem raw_query` and `xschem raw` commands 2024-02-25 00:06:15 +01:00
stefan schippers 5a2891e4de add idx() function (return index of point, 0, 1, 2, ...). doc updates about new wave processor functions 2024-02-24 22:35:54 +01:00
stefan schippers 203cf38e1e add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor 2024-02-24 13:15:43 +01:00
stefan schippers de2572e448 fix an off by 1 array bound in raw_add_vector 2024-02-24 01:53:26 +01:00
stefan schippers bf71dbc9e7 command xschem raw new to use `start end step` instead of `start step number` 2024-02-23 21:58:41 +01:00
stefan schippers 4e0c344493 better status reporting in xschem raw_query command 2024-02-23 13:29:53 +01:00
stefan schippers 44707d71db extend command `xschem raw_query add [expr]` for fast (C-speed) expression calculation 2024-02-23 12:46:03 +01:00
stefan schippers d1bd5140fe various bug fixes for `xschem raw new` command 2024-02-23 04:19:29 +01:00
stefan schippers 23092fc963 do not rely on raw file existence to decide if a raw is loaded. Added a function raw_is_loaded for that 2024-02-23 01:51:35 +01:00
stefan schippers ac3f3acb62 added command `xschem raw new name type sweepvar start step number` that creates an in-memory plot (like a loaded raw file) with only the sweep variable 2024-02-23 01:03:20 +01:00
stefan schippers de5c068775 file open dialog box: added red border when search entry focused 2024-02-22 20:36:23 +01:00
stefan schippers 515dee1ce8 file open dialog box: start with search entry focused and selected. Will take focus when iterating with TAB key 2024-02-22 20:29:24 +01:00
stefan schippers be22993410 add command `xschem raw_query add <node>` to add a vector <node> with all zeros to the loaded raw file. This vector can then populated with programmatic values using z `xschem raw_query set <node> point value` loop 2024-02-22 19:59:09 +01:00
stefan schippers 965bf381ea fix regression in xschem raw_read_from_attr when invoked from launcher 2024-02-22 14:36:34 +01:00
stefan schippers 446c0d687a add command `xschem raw table_read table_file` to read an ascii table file without closing other loaded raw files 2024-02-21 23:16:58 +01:00
stefan schippers 8986b7e0b8 load_file_dialog: fix a missing global declaration, fix double button click in right listbox 2024-02-21 15:02:30 +01:00
stefan schippers e347a251b0 load_file_dialog: separate search/file entries, better keyboard navigation 2024-02-21 14:02:58 +01:00
stefan schippers 69dec6c677 proc load_file_dialog: better allow mouseless operation (use keyboard enter/ arrow keys) 2024-02-21 00:15:59 +01:00
stefan schippers 1336e25e68 added xschem raw_query set node n value [dset] command to change loaded raw data 2024-02-20 17:17:38 +01:00
stefan schippers 99a01300c5 fix automatic sending bussed signals to graph (Alt-g) 2024-02-20 11:05:52 +01:00
stefan schippers 66ba05fe2c add xschem list_nets command 2024-02-19 13:03:28 +01:00
stefan schippers f547c86f1e preview window in file open dialog box is x/y resizable 2024-02-17 04:40:37 +01:00
stefan schippers 20add157c2 when double clcking (or hitting `q`) to edit attributes if instance has lab=... or value=... select the RHS and position insertion cursor, focus textbox. Add Shift-T bindkey for toggle *_ignore flag 2024-02-17 02:58:53 +01:00
stefan schippers 91829bf99d replace exec with execute_wait in proc convert_to_pdf when launching ps2pdf, so stderr messages will not be treated as a failure 2024-02-17 00:15:37 +01:00
stefan schippers 8b55066978 proc tclpropeval2: $sch_basename: remove path elements (use [file tail]) 2024-02-16 23:24:54 +01:00
stefan schippers 876f26cb80 proc tclpropeval2: make global var sch_basename (schematic name with no extension) available to TCL expressions 2024-02-16 23:17:54 +01:00
stefan schippers a176f99db5 svgdraw.c: avoid setting stroke-width to excessively small (invisible) values; print_spice_element(): in format string if @param is given and in instance atttributes param=value@tag do a round of resolution of @tag looking in instance attributes, then in parent symbol instance attributes (in case of per-instance implementation (schematic=... attr) and finally in parent symbol template string. Doc udpades 2024-02-16 16:44:33 +01:00
stefan schippers 7a589ef4fb change default SPICE_DATA from float to double 2024-02-15 11:26:13 +01:00
stefan schippers af5df351a6 rename xschem setprop inst prop_ptr ... to xschem setprop inst allprops ... 2024-02-13 13:32:14 +01:00
stefan schippers 6a5cca7b3c extend xschem setprop command, add xschem reset_inst_prop command 2024-02-13 13:13:28 +01:00