* Fix case where `Plot`'s `min_auto_bounds` can be ignored after first
I ran into an issue using `Plot` within my timeline widget where if I
zoom in and out of the timeline (not the plot), the `Plot` instances
would ignore the necessary changes to the `include_x` calls and in turn
would become skewed and misaligned with the timeline below.
This changes the `Plot` to check whether or not `min_auto_bounds` have
changed and, if so, reset the memory and recalculate the bounds.
See #562 for an image of my current use case.
* Carry hidden_items when updating plot for changed bounds
* added new line styles
* update changelog
* fix#524
Add missing functions to `HLine` and `VLine`
* add functions for creating points and dashes from a line
* apply suggestions
* clippy fix
* address comments
This allows for resizaeable grids, where the last column will be given the remainder of the width.
To demonstrate, the widget gallery window is now resizeable.
* Fix margin for grid layout nested inside grid
* Minor fix for grid layout
At time of end_row, current state is finished updating row_height.
Might as well use that instead of previous state.
* Fix horizontal advancing for nested layouts in grid
* Add back horizontal layout
* Add test for nested layouts in grids
* make test table striped
* Improve table test case with slider for dynamic text
Before a disabled and enabled button would leave the parent ui
in different states, which lead to a bug where a slider drag could be
aborted if it caused a button before it to switch between enabled
and disabled.
Repro: dragging slider in "Manual Layout Test"
* Added plot items:
* Arrows, also called "Quiver plots" in matplotlib etc.
* Convex polygons
* Text
* Images
Other changes:
* Make HLine/VLine into PlotItems as well.
* Add a "fill" property to Line so that we can fill/shade the area between a line and a horizontal reference line.
* Add stems to Points, which are lines between the points and a horizontal reference line.
* Allow using .. when specifying ranges for values generated by explicit callback functions, as an alias for f64::NEG_INFINITY..f64::INFINITY
* Allow using ranges with exclusive end bounds for values generated by parametric callback functions to generate values where the first and last value are not the same.
* update changelog
* add legend background
* Use old 1.51 toolchain instead of bleeding edge
1.52 and 1.53 has problems with incremental compilation,
so some people chose to stay on 1.51 for now.
So let's make sure egui supports 1.51 for a while!
* Update to cint 0.2.2 to get rust 1.51.0 compatability
* Expanded `TextBuffer` interface to allow borrowed values.
* Removed superfluous `PartialEq` requirement on `TextBuffer`.
* Removed `std::fmt::Display` requirement for `TextBuffer`.
Now uses the `AsRef<str>` impl to format it where applicable.
Co-authored-by: Filipe Rodrigues <filipejacintorodrigues1@gmail.com>
- This issue was made apparent on macOS since 67c6002578
- Repro:
1. Cmd+Tab away from the window (this will keep the Cmd modifier state `true` until it is pressed again)
2. Cmd+Tab back to the window
3. Try to scroll with the trackpad or mouse wheel ... it won't work until you press and release the Cmd key!
4. Also the plot widget will be stuck in "zoom mode" while the Cmd modifier state is true.
- I was not able to reproduce the issue with `egui_web`
* Tweak style
More compact, less round, less noisy
* Button text is now same size as body text
* The rounder corners are now less rounded
* Collapsing headers no longer have a frame around them
* Combo-boxes looks better when opened
* Slightly more muted colors
* Remove extra line spacing after `\n` (i.e. between paragraphs)
* Thinner scrollbars
* Tweak light mode
* Tweak shadows
* Fix broken doc link
* Add style tweak to CHANGELOG
* Expose getter for currently focused widget.
* Remove a level of indirection, exposing the widget event on the top level.
* Align widget descriptions more closely with common screen reader conventions.
Note that this work isn't complete--I'll correct more cases as I add more widgets and become familiar with their structures.
* Add support for click and double-click events.
* Add `ValueChanged` events, with initial support for text.
* Add support for reporting cursor selection changes.
* Track enabled/disabled status.
* Move `prev_text` off of the widget struct.
* Get rid of `has_widget_info` and push events directly where it makes sense.
* Fix typo.
* s/text_value/current_text_value/
* Use a `RangeInclusive` for text selection.
* Invert parameters.
* Various fixes.
* Only dispatch `SelectionChanged` if the selection actually changes.
* Fix missing focus events.
* If values for `current_text` and `prev_text` are unchanged, filter out the previous value.
* No need to pass in `&mut prev_text` everywhere
* Appease Clippy.
* Mask password fields in generated events.
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>