Add editable combobox support and enhance textbox selection#117
Draft
hugou74130 wants to merge 1 commit into
Draft
Add editable combobox support and enhance textbox selection#117hugou74130 wants to merge 1 commit into
hugou74130 wants to merge 1 commit into
Conversation
…ection with shift key
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and new features to the
uguiandBreitbandGraphicslibraries, focusing on enhanced input handling, more flexible control properties, and improved image drawing APIs. The most significant changes are the introduction of instance-level and registry-level property resolution for controls (notablyhittestable), a major refactor of theListBoxandComboBoxcontrols for better keyboard and mouse interaction, and the addition of a new, more flexible image drawing API.Input Handling and Control Properties:
hittestableproperty on controls, allowing fine-grained control over which UI elements participate in hit-testing (e.g., labels are now non-hittestable by default). This is achieved via a newcompute_propfunction and related logic in input processing. [1] [2] [3] [4] [5]shiftmodifier key is now tracked in the static environment for use in controls.ListBox and ComboBox Improvements:
ListBoxcontrol logic to separate mouse and keyboard selection, introduce smooth scrolling, and ensure the selected item is always visible. Added support for page up/down, home/end, and copy-to-clipboard keyboard shortcuts. [1] [2]ComboBoxto support an optionaleditablemode for user text input and filtering, and improved its setup logic. [1] [2] [3]Image Drawing API Enhancements:
draw_image2API with a flexibleDrawImageParamsparameter object, supporting explicit source/destination rectangles, tinting, and interpolation. The olddraw_imageis now deprecated and implemented in terms of the new API. [1] [2] [3] [4]Other Notable Changes:
begin_framefunction now tracks frame delta time for use in smooth animations and interactions. [1] [2]selected_indexsemantics).Summary of Most Important Changes:
Control Properties and Input Handling:
hittestableproperty, with a newcompute_propfunction to resolve effective values, and updated input processing to respect this property. Labels are now non-hittestable by default. [1] [2] [3] [4] [5]shiftkey tracking to the static environment for modifier-aware controls.ListBox and ComboBox Improvements:
ListBoxlogic for better mouse and keyboard interaction, smooth scrolling, and keyboard shortcuts (page up/down, home/end, copy). [1] [2]editableproperty and related logic toComboBox, improving setup and toggling behavior. [1] [2] [3]Image Drawing API:
draw_image2andDrawImageParamsfor more flexible image drawing; deprecated the olddraw_imageAPI. [1] [2] [3] [4]Timing and Animation Support:
Documentation and Minor Fixes:
selected_indexinListBox.