Commit graph

475 commits

Author SHA1 Message Date
Kevin Boos
2898fb1367
Hide the Tooltip widget upon any click/tap, drag, or scroll event (#844)
* Hide the `Tooltip` widget upon any click/tap, drag, or scroll event

* Tooltip: handle raw events directly as to not impact `Hit` consumption
2026-01-21 19:41:31 +01:00
Eddy Bruel
7a5069495a Whitespace should never be wrapped 2026-01-20 20:40:17 +01:00
Jason Yau
4355f29c4b
fixed IME composition popup position for Windows (#841)
Co-authored-by: jasonqiu <jasonqiuchen@outlook.com>
2026-01-17 17:57:36 +01:00
Julián Montes de Oca
b966c2ab02
iOS: Add UITextInput protocol implementation for IME support (#838)
- MakepadTextInputView with marked text (composition) for CJK input
- UTF-16 ↔ char index conversion for emoji/Unicode handling
- TextRangeReplaceEvent for autocorrect/autocomplete
2026-01-12 14:10:44 +01:00
Julián Montes de Oca
bcb3bfa1d3
Add clipboard actions support for iOS (#833)
Implemented UIEditMenuInteraction for clipboard actions, allowing copy, cut, paste, and select all functionalities.
2026-01-06 17:00:02 +01:00
Julián Montes de Oca
7e2e0eadae
Add support for definding a math view in Markdown (#825) 2026-01-05 15:14:19 +01:00
Kevin Boos
b5de1c3060
Add optional serde derives for Serialization/Deserialization on select public types (#831)
Can be activated by setting the "serde" feature on `makepad-widgets`
(or other internal crates).
2025-12-18 08:38:58 +01:00
Admin
1cfba392c1 fix up tests 2025-12-10 13:04:00 +01:00
Eddy Bruel
286db39bd5 Move math widget to its own crate 2025-12-05 13:27:20 +01:00
Eddy Bruel
735a489219 Initial attempt 2025-12-05 13:27:20 +01:00
Admin
7880546817 align mathtypes to WGSL 2025-12-02 11:43:12 +01:00
Julián Montes de Oca
619dec61c4
Android: Implement ShowClipboardActions with native ActionMode (#821)
Cx API:
- Implement existing ShowClipboardActions
- Add HideClipboardActions
- Cross-platform API ready for iOS implementation

Android Implementation:
- Native ActionMode integration with floating toolbar (API 23+)
- JNI bindings for showing/hiding menu and handling clipboard actions
- Event system for Copy/Cut/Paste/Select All actions
- Smart menu state management based on selection and clipboard

TextInput Integration:
- Long press selects word and shows menu
- Double tap and long press selects word and shows menu
- Selection preservation when tapping selected text
2025-11-22 10:06:05 +01:00
Eddy Bruel
b3dc1e2c42 Fix bug in label areas 2025-11-17 14:58:31 +01:00
Kevin Boos
97983ad26f
Fix modal; enable widgets to block scrolling except within a certain area (#819)
* Fix modal event handling behavior

Everything now works as expected, *except* for Scroll events that seem to
still be received by views beneath the modal, e.g., an underlying PortalList.

* Enable widgets to block scrolling, except within a certain area

* This is important for Modals to prevent scrolling of background widgets
  whilst still allowing the inner `content` view to be scrolled.
* Modals are now forcibly full-screen (or rather, full-window)
  in order to properly ensure that scrolling-allowed areas
  always stay relevant, as the Modal can no longer be contained
  within a non-full-window parent widget/view.

* remove errant log statement
2025-11-13 08:45:36 +01:00
Eddy Bruel
e761b94852 Wrap walk metrics into struct 2025-11-10 16:20:51 +01:00
wyenox
3e6d4c951e
"app focus" events renamed to "window focus" (#818) 2025-11-07 22:59:54 +01:00
wyenox
e68263e2a2
fix window-level focus issues (#817) 2025-11-07 19:04:41 +01:00
Julián Montes de Oca
fe01aa947e
Enable drag scrolling by default in Scroll*Views (#810) 2025-11-03 17:16:22 +01:00
Eddy Bruel
fe1a0a4dd2 Add descender to walks 2025-11-03 14:36:06 +01:00
alanpoon
5f58721cc5
Added set_texture for RotatedImage (#806) 2025-10-30 22:20:52 +01:00
Eddy Bruel
d5bc7b9806 Prefer Right over Right { wrap: false } in DSL 2025-10-30 16:04:52 +01:00
Eddy Bruel
04f25515ac Implement per-row alignment for rightward flowing turtles 2025-10-30 12:43:18 +01:00
Eddy Bruel
9674bda214 Unify Size::Right and Size::RightWrap 2025-10-28 09:20:57 +01:00
Eddy Bruel
1a195ba297 Fix 2025-10-27 11:19:22 +01:00
Eddy Bruel
b1cb63962e Remove spurious printlns 2025-10-27 11:13:50 +01:00
Admin
2176889023 Fused Id and LiveId 2025-10-25 20:53:30 +02:00
Admin
ad5ac76b10 dont turn on touch scroll by default, fix gradient 2025-10-25 20:03:29 +02:00
Julián Montes de Oca
dbf0ac96fc
Add focus loss detection to TextInput, for keyboard dismissal (#802)
TextInput now self-detects when user taps outside its area and dismisses the keyboard.
The tap event is not consumed.

Fixes keyboard staying open when tapping widgets that don't grab focus.
2025-10-25 19:42:32 +02:00
Julián Montes de Oca
cfde454ad2
Add touch-based drag scrolling to ScrollBar (#799)
* Add drag and flick scrolling to ScrollBars

* Move touch-based drag and flick implementation to ScrollBar
2025-10-25 19:41:36 +02:00
Julián Montes de Oca
8cd911a8e9
Fix Markdown and HTML ordered list numbering and alignment (#794)
* Fix numbered markdown lists repeating the first number

* Refactor list item padding calculation to accommodate multi-digit markers and fix alignment
2025-10-25 19:36:41 +02:00
Eddy Bruel
4f5bf512a0 Rethink selection drag scrolling as a post-op during draw 2025-10-24 11:40:36 +02:00
Eddy Bruel
16a742a9ff Implement vertical selection drag scrolling for TextInput 2025-10-23 10:48:02 +02:00
Eddy Bruel
c395817415 Add ascender to selection rects 2025-10-21 12:24:33 +02:00
alanpoon
6ce9aca06b
allow apply_over for image_scale and image_pan (#788) 2025-10-18 10:12:21 +02:00
Admin
2ee3aca1b7 moved id/value out 2025-10-13 11:19:58 +02:00
Eddy Bruel
fdf9d66e81 Implement min/max fits 2025-09-25 16:09:28 +02:00
makepaddev
6a9b75c601 fix elided lifetime warnings 2025-09-09 21:37:52 +02:00
Admin
fdab48a1b7 ai fixup 2025-09-09 09:37:35 +02:00
Admin
963cad9d81 sync load image sizes 2025-07-22 11:58:12 +02:00
Kevin Boos
8970147b06
Create PageFlip child widget within set_active_page() (#783)
This allows an app dev/user to create and populate a new widget
within the PageFlip parent widget *before* waiting for it to be drawn.
Previously, the child widgets within PageFlip were either created
upon app load (which is inefficient) or upon draw (which is too late).
2025-07-21 20:52:34 +02:00
Julián Montes de Oca
7fc2283327
Rework StackNavigation into an actual Stack (#766)
* Refactor stack navigation into a proper stack

 - Replace show_stack_view_by_id with push/pop/popToRoot methods
- Add proper navigation stack with history tracking
- Fix animation transitions between consecutive views
- Add stack inspection methods (depth, can_pop, current_view)
- Maintain backward compatibility with deprecated methods
- Update action enum to use Push/Pop/PopToRoot variants

* Add support for multiple instances of StackNavigation.

- Introduced full-screen flag necessary to disable full-screen positioning and sliding animations when needed.
2025-07-12 02:11:27 +02:00
alanpoon
a5b8f1bb6a
fix_small_spinner_not_showing (#782)
* fix_small_spinner_not_showing

* remove debug
2025-07-12 02:11:16 +02:00
Kevin Boos
13842ff545
Add PortalList::is_filling_viewport() (#781)
* Update old `windows-targets` dep version to reduce lockfile duplicates

All other crates in the Rust ecosystem depend on `windows-targets`
v0.52.*, so this small change vastly reduces the number of duplicate
`windows-*` crate dependencies that cargo must download and track in the lockfile.

Also address minor compiler warnings in AdaptiveView.

* Add `PortalList::is_filling_viewport()`

This is needed in order for an app to be able to take action
upon a portal list's viewport not being completely full.
For example, if you're showing a chat room, you can fetch older events
until there is enough history to fill the entire viewport.
2025-07-12 02:11:05 +02:00
Kevin Boos
7513acdf3f
Update old windows-targets dep version to reduce lockfile duplicates (#780)
All other crates in the Rust ecosystem depend on `windows-targets`
v0.52.*, so this small change vastly reduces the number of duplicate
`windows-*` crate dependencies that cargo must download and track in the lockfile.

Also address minor compiler warnings in AdaptiveView.
2025-07-12 02:10:51 +02:00
okapii
8516eea76f Fix dropdown 2025-07-10 16:17:19 +02:00
okapii
7920779934 Dropdown code cleanup 2025-07-10 15:52:57 +02:00
okapii
d5050e15fb Add Gradient support to icon shaders (button, checkbox, radio) 2025-07-10 15:13:12 +02:00
okapii
8d60077782 Fixes 2025-07-10 14:48:34 +02:00
okapii
332e44fcd4 Light theme refinements 2025-07-10 14:15:27 +02:00
okapii
8c35957234 Variable name consistency fix 2025-07-10 14:07:21 +02:00