Skip to content

Tracking issue for missing Makepad features #594

@kevinaboos

Description

@kevinaboos

This is a list of features/bugs in Makepad that should be considered blockers for publishing a "good-quality"/sleek application with a good UX.

  • TextInput: internal multi-line scrolling, for when the text content does not fit into the size bounds of the TextInput.
  • TextInput: single-line mode with left/right panning that follows the cursor.
  • TextInput: fix paste behavior to ensure all characters get pasted, not just the first one.
    • A known problem on Android & iOS, not sure about other platforms.
  • Windows IME box in the wrong location (it always appears in the upper-left corner, not right above/below the target TextInput): ime issue on windows makepad/makepad#756
  • Android IME support, to unlock the full keyboard with autocomplete/autocorrect.
  • Mobile: touches not registering in many cases, primarily in dynamic views like modals/PageFlip/pop-up panes.
  • Ability to instantly re-position/re-size something after drawing it.
    • For ensuring tooltips are properly positioned, context menus don't spill out of the window, etc.
    • Rik said this was possible, but I wasn't able to find any existing examples of it being done.
  • Ability to animate panels that slide in/out of the bottom of a view.
    • See Robrix's EditingPane, which uses this margin: {top: 1000} hack to fake it.
    • SlidePanel doesn't work because it assumes the entire app window, not a single parent view, and also doesn't support bottom-edge sliding.
  • SVG rendering is broken on Windows, and Linux to a lesser extent. Works well on macOS.
    • resvg-based SVG pipeline has been added, but it isn't yet utilized in any actual Makepad widgets yet (e.g., Icon, Button), so this fix isn't technically available to us yet.
  • PortalList: smooth_scroll_to() is inconsistent and doesn't always scroll to the proper position in which the target item is fully in-view.
  • PortalList: at_end() is broken and frequently returns false when it actually is at the end, even upon an action that auto-scrolls to the very end.
  • Scroll*View: enable finger-based drag scrolling for touch screens: Pending Merge Add touch-based drag scrolling to ScrollBar makepad/makepad#799
  • Dock: allow drag-and-drop on all platforms, including mobile (needed for larger Android/iPad devices). Support drag-n-drop on Linux makepad/makepad#650
  • Dock/Tabs: allow moving/dragging tabs using fingers, triggered by a long press (for which I've already added native support).
  • Dock: enable finger-based drag scrolling through the tab list, and scrolling through the tab list using horizontal scroll gestures (e.g., on a trackpad).
    • Currently only vertical scrolling is supported, which makes sense for a mouse scroll wheel but is confusing for trackpads.
  • Dock: when a tab is selected programmatically, automatically scroll the Tabs list to ensure that the selected widget's tab header is visible.
  • Text Wrapping: support Ellipsis again.
  • Text Wrapping: don't wrap whitespace(s) to the beginning of a new line. It looks strange.
    • example: look at " capabilities" at the start of the second line in this screenshot: Image
  • Text Wrapping: don't insert a soft break before punctuation like . ; , etc. A punctuation mark shouldn't wrap to a new line by itself.
  • TextFlow: support vertical alignment of custom widgets w.r.t. the surrounding text: HTML subwidgets cannot be vertically aligned with surrounding HTML text makepad/makepad#712
  • Scrolling: allow a vertically-centered view to be vertically scrolled (and vice versa too, with horizontal view too).

Metadata

Metadata

Assignees

No one assigned

    Labels

    blocked-on-makepadBlocked on a Makepad bug or missing Makepad featuretrackingAn issue used to track progress

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions