mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-28 20:18:06 -06:00
M6: an editable combo box takes a typed value (ISO 32000-2 Table 233 Edit) (#4451)
A combo box with the Edit flag (bit 19) opened only its list, so a value that isn't one of its options could not be typed on the page, although form_fill already took one. ISO 32000-2 12.7.5.4 and Table 233: with Edit set, "the combo box shall include an editable text box as well as a drop-down list". - An editable combo box now opens a single-line text box over the field as well as its list. Enter, Tab or a click away commits the text as Edit::SetFieldValue with a Choice, the path form_fill and the list use, so undo, field scripts and the appearance follow; a pick from the list still sets an option. - The editor starts on the shown text of the picked option, and typing a shown text picks that option (the engine maps it to its export value). - A combo box without Edit is unchanged: a drop-down list only. - Tests: kittest typing into an editable combo (Enter, list pick, Tab, save, undo) and a non-editable one refusing typing; automation form_fill takes free text only with Edit, drawn before and after save. - Parity: form.fill-choice notes and evidence. Claude-Session: https://claude.ai/code/session_0175FWj4xFhMhSH3UpMU8DSC Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
Brandon Thomas
parent
94a12715ce
commit
cc5fd54868
@@ -4511,8 +4511,8 @@ milestone = "M6"
|
||||
status = "shipped"
|
||||
commands = ["form.fields"]
|
||||
tools = ["form_fill"]
|
||||
evidence = ["crates/ui-egui/tests/it/forms.rs::check_boxes_radios_and_choices", "crates/forms/src/tests.rs::choices_accept_exports_or_display_text"]
|
||||
notes = "combo and list boxes, multi-select lists; editable combo boxes accept free text"
|
||||
evidence = ["crates/ui-egui/tests/it/forms.rs::check_boxes_radios_and_choices", "crates/forms/src/tests.rs::choices_accept_exports_or_display_text", "crates/ui-egui/tests/it/forms.rs::an_editable_combo_box_takes_a_typed_value", "crates/ui-egui/tests/it/forms.rs::a_combo_box_without_edit_takes_no_typing", "crates/automation/tests/it/automation.rs::form_fill_takes_free_text_only_in_an_editable_combo_box"]
|
||||
notes = "combo and list boxes, multi-select lists; an editable combo box (Edit flag) has a text box over the field as well as its list, and takes typed text on the page and through form_fill; a combo box without Edit takes only its options. No type-ahead or spell check in the typed box"
|
||||
|
||||
[[feature]]
|
||||
id = "form.push-buttons"
|
||||
|
||||
Reference in New Issue
Block a user