Commit graph

125 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
810e086728
Introduce Renderer argument to mouse_interaction and on_event 2022-01-11 14:12:28 +07:00
LordRatte
ff2a470fd8
Change GitHub namespace to new org for all files 2022-01-03 11:36:13 +07:00
Olivier Pinon
d06e6bfb51 Lower text::Renderer's Font bound from Copy to Clone 2021-12-10 23:34:02 +01:00
nlevy
b479ba4821 Make TextInput emit a Submit message when the key NumpadEnter is pressed 2021-12-09 10:58:50 +01:00
Héctor Ramón Jiménez
bbd9355450
Introduce Shell type in iced_native
Widgets now can invalidate the current layout of the application on demand.
2021-11-29 16:22:01 +07:00
Héctor Ramón Jiménez
023aded277
Rename fill_rectangle to fill_quad in Renderer 2021-11-04 19:24:11 +07:00
Héctor Ramón Jiménez
631e95ee0b
Move viewport argument to last position in mouse_interaction methods
This keeps the order of the arguments consistent with `draw`.
2021-11-02 15:03:29 +07:00
Héctor Ramón Jiménez
a1db8d62c0
Reintroduce draw method in TextInput
... which allows overriding the rendered value.
2021-11-01 16:29:28 +07:00
Héctor Ramón Jiménez
e70a6be937
Merge branch 'master' into remove-renderer-traits 2021-10-31 17:52:21 +07:00
Héctor Ramón Jiménez
0d3c9ef7bd
Reintroduce Box for style_sheet in TextInput 2021-10-31 17:45:57 +07:00
Héctor Ramón Jiménez
b3a01973c6
Introduce first-class text module in iced_native 2021-10-31 16:14:38 +07:00
Héctor Ramón Jiménez
0aafcde0ef
Remove widget module re-exports in iced_native 2021-10-31 16:14:34 +07:00
cmot17
b098f06a29
Fix issue with text selection in text_input widget 2021-10-25 16:45:38 +07:00
Héctor Ramón Jiménez
4a11cbd994
Implement Widget::mouse_interaction for PaneGrid
... and fix rendering of drag interaction in `PaneGrid` by
introducing an explicit `with_translation` method to `Renderer`
and simplifying the `with_layer` and `Clip` primitive.
2021-10-25 16:35:02 +07:00
Héctor Ramón Jiménez
cc560aca18
Implement Widget::mouse_interaction for TextInput 2021-10-20 18:45:45 +07:00
Héctor Ramón Jiménez
e914888f57
Implement Widget::draw for TextInput 2021-10-20 18:40:39 +07:00
Héctor Ramón Jiménez
edea093350
Move Defaults from iced_graphics to iced_native 2021-10-18 15:19:04 +07:00
Héctor Ramón Jiménez
03b3493138
Remove trait-specific draw logic in iced_native 2021-10-14 16:07:22 +07:00
Héctor Ramón Jiménez
643500bbdf
Use Option to encode empty text case in hit test methods 2021-09-15 14:49:13 +07:00
Tom
aa63841e2c Implement textual hit testing 2021-08-21 10:31:26 -07:00
Héctor Ramón
a7c40665fe
Merge pull request #652 from twitchyliquid64/text_input_fix
text_input: Do not capture Tab/Up/Down keys
2021-08-12 12:58:08 +07:00
Héctor Ramón
587dbbca42
Merge pull request #776 from AldoMX/master
Added `select_all` method to `TextInput`.
2021-07-22 20:48:03 +07:00
Héctor Ramón Jiménez
b57d567981
Use bitflags for keyboard::Modifiers 2021-07-12 22:01:57 +02:00
Héctor Ramón
8a3b71df8b Replace ignored doc-tests with additional documentation for Padding 2021-06-01 19:45:47 +07:00
Ben LeFevre
fe0a27c56d Add support for asymmetrical padding 2021-06-01 19:05:39 +07:00
Aldo Fregoso
57247106b9 Added select_all method to TextInput. 2021-03-13 14:50:59 -06:00
Héctor Ramón Jiménez
17dcfa8faf Implement copy and cut behavior for TextInput 2021-03-10 01:59:20 +01:00
Héctor Ramón Jiménez
21971e0037 Make Clipboard argument in Widget trait mutable 2021-03-10 01:59:02 +01:00
Héctor Ramón Jiménez
b22b0dd7ff Update window_clipboard to 0.2 2021-03-10 01:16:26 +01:00
Tom
498188e735 text_input: Do not capture tab/up/down keys 2020-12-16 20:46:36 -08:00
Héctor Ramón Jiménez
70164f68a6 Fix text selection with touch events in TextInput 2020-12-15 06:48:12 +01:00
Héctor Ramón Jiménez
3bdf931925 Turn Touch into a touch::Event enum 2020-12-15 06:38:46 +01:00
Héctor Ramón Jiménez
09110a93b0 Merge branch 'ios-support-wip' into feature/touch-support 2020-12-15 06:13:19 +01:00
Héctor Ramón Jiménez
01322f69a4 Use recently stabilized intra-doc links
See RFC: https://github.com/rust-lang/rfcs/blob/master/text/1946-intra-rustdoc-links.md
2020-11-26 02:05:43 +01:00
Héctor Ramón Jiménez
d612bf5678 Rename keyboard::ModifiersState to Modifiers 2020-11-26 02:05:42 +01:00
Héctor Ramón Jiménez
1d23db1866 Track keyboard modifiers in text_input 2020-11-25 04:10:23 +01:00
Zak
d275a4ed32 This PR fixes a bug with select all (CMD + A on MacOS) when using a text_input.
Previous behaviour: when selecting all (CMD + A) would delete the current text inside the input and replace the content with just the letter 'a'.

Now we check if the logo key (modifier key) has been pressed before checking any other key and save it to the state level. This way we can prevent any text being deleted when using the select all shortcut or text being entered at all when a modifier key is pressed (this behaviour matches other text input behaviour i.e text inputs in the browser etc...).
2020-11-25 03:57:18 +01:00
Héctor Ramón Jiménez
140bea352e Disable dragging in TextInput after double click
When using a trackpad, mouse move events may happen between the
press/release events. This was incorrectly triggering selection dragging in
the `TextInput` widget.

Eventually, we should implement proper word-aware selection dragging.
2020-11-19 02:45:47 +01:00
Héctor Ramón Jiménez
df712f9ccf Implement flexible TextInput::draw helper 2020-11-17 05:13:06 +01:00
Héctor Ramón Jiménez
bf6c65b5ad Implement event capturing for TextInput 2020-11-12 01:11:09 +01:00
Héctor Ramón Jiménez
3f968b8c87 Make Widget::on_event return an event::Status 2020-11-12 00:09:52 +01:00
Héctor Ramón Jiménez
1a2cb2f35b Split focus and unfocus methods in text_input 2020-11-09 20:32:58 +01:00
Paul Delafosse
f7d67598cb Add textinput focus method 2020-11-09 20:32:50 +01:00
Héctor Ramón Jiménez
d328b07b39 Introduce viewport to Widget::draw
This should eventually allow us to only generate primitives that are
visible.
2020-10-28 06:21:07 +01:00
Héctor Ramón Jiménez
d7a5e54455 Require Clone for Message early when needed
Prior to this change, the widgets that needed a `Clone` bound on `Message` to
implement the `Widget` trait could be created with a non-cloneable `Message`.

As a consequence, the compiler complained only when actually trying to use the
`Widget` trait. Normally, this happens when trying to `push` the widget in a
container or turn it into an `Element`.

Furthermore, the compiler error in this case does not mention `Message` nor the
`Clone` bound, but instead complains about a missing `From` implementation.
Thus, it can easily cause confusion!

This change introduces `Clone` bounds in the main implementation of the
widgets that need it to properly implement the `Widget` trait. As a
result, the compiler complains early when trying to create one of these widgets
with a non-cloneable `Message` and explicitly mentions that the `Message` needs
to implement `Clone`.
2020-10-17 08:10:30 +02:00
Héctor Ramón Jiménez
4ab9992bf8 Unfocus TextInput when Escape key is pressed 2020-07-30 00:52:02 +02:00
Héctor Ramón Jiménez
55d2c5886f Introduce state method to TextInput 2020-07-24 19:20:46 +02:00
Héctor Ramón Jiménez
a1210c9dae Improve safety of Cursor::selection 2020-07-11 00:00:14 +02:00
Héctor Ramón Jiménez
dfeb3db003 Use default_font_size for TextInput widget 2020-07-06 23:58:15 +02:00
bansheerubber
5260b3072a implemented hecrj's suggestion 2020-06-08 10:00:25 -07:00