Fix table editing redraw code on all platforms.#507
Open
szanni wants to merge 2 commits intoandlabs:masterfrom
Open
Fix table editing redraw code on all platforms.#507szanni wants to merge 2 commits intoandlabs:masterfrom
szanni wants to merge 2 commits intoandlabs:masterfrom
Conversation
This fixes bugs on all platforms not calling uiTableModelRowChanged() when setting a new value in edit mode. This is now automatically done in uiprivTableModelSetValue() so that ALL uiTable views are informed about the update. Darwin and windows did some custom redrawing which hid this bug. Unix does frequent unrelated redraw which hide the bug. It can often be experienced when double clicking a checkbox.
We are changing the value, update the row! There are several uses for setting NULL values, IMO all abusing the API for different causes. Fix those API abuses instead: - This will cause one unneeded redraw when clicking on table column buttons as they signal a click through setting NULL. Possibly use a dedicated callback handler for that instead? - This will fix resetting colors to default, as this is signaled through a NULL value.
Author
|
OK, I updated the PR removing the early abort to not trigger an IMO we should call a |
szanni
added a commit
to szanni/libui
that referenced
this pull request
Aug 27, 2020
The SetCellValue() when clicking a checkbox within a uiTable is never called. The UI happiliy updates suggesting the value has been set - which is not actually the case. The checkbox not redrawing with the actual check box value from the model is another related issue, see andlabs#507.
szanni
added a commit
to szanni/libui
that referenced
this pull request
Aug 27, 2020
The SetCellValue() when clicking a checkbox within a uiTable is never called. The UI happiliy updates suggesting the value has been set - which is not actually the case. The checkbox not redrawing with the actual check box value from the model is another related issue, see andlabs#507.
szanni
added a commit
to szanni/libui
that referenced
this pull request
Dec 1, 2021
The SetCellValue() when clicking a checkbox within a uiTable is never called. The UI happiliy updates suggesting the value has been set - which is not actually the case. The checkbox not redrawing with the actual check box value from the model is another related issue, see andlabs#507.
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.
Pretty much all information in the commit message. No
uiTableModelRowChanged was emitted on any of the changes when
editing cells in uiTable:
This fixes bugs on all platforms not calling uiTableModelRowChanged()
when setting a new value in edit mode. This is now automatically
done in uiprivTableModelSetValue() so that ALL uiTable views are
informed about the update.
Darwin and windows did some custom redrawing which hid this bug.
Unix does frequent unrelated redraw which hide the bug. It can often
be experienced when double clicking a checkbox.