Commit Graph

8 Commits

Author SHA1 Message Date
Benjamin Popp
14aa655bd6 Improve paste performance
During paste operations, we don't actually need autocomplete. It's important to keep the options in mind, but we can delay evaluation until they're actually used.

Change autocomplete related methods to return lazy IEnumerable objects instead of returning a pre-populated read-only list. Add a LazyList<T> class that can handle the once-time evaluation logic. If no element of the list is ever checked, then the auto-complete code never runs.

Change ViewPort's UpdateToolsFromSelection tha happens when the selection changes. Only evaluate it after the edit operation is complete.
2021-04-07 14:48:23 -05:00
Benjamin Popp
0ad34e6b25 Inline tuple autocomplete
Tuple autocomplete is weird, because it happens in stages. This is different compared to other things, where choosing autocomplete always finishes the cell.
2021-02-05 21:30:04 -06:00
Benjamin Popp
5ab28cee8f Draft of Autocomplete UI
up/down/enter now works, buttons work. Occasionally crashes.
2021-02-05 15:59:30 -06:00
Benjamin Popp
cbcbcb0477 Start working on autocomplete visuals
This only works in the text tool, not the table tool yet. And it only shows the buttons, the buttons don't do anything yet.
2021-02-04 21:58:03 -06:00
Benjamin Popp
8723725827 Fix TOML upgrade bugs
* Don't crash if the tooltips try to get bit options that don't exist.
* Duplicating arrays should duplicate the format correctly.
* Updating a table name should update streams that care about that table.
2021-01-17 23:12:17 -06:00
Benjamin Popp
b25f3d97a2 Improve table tool table list
The list of tables is getting crazy, and I keep adding more.
* Don't show tables in the table list if they're 'matched length' tables. Example, level-up moves. These are already accessible because the table tool uses matched-length tokens to show multiple tables in the tool at once, to make editing data easier.
* Split the tables between two lists: a header (containing up to two tokens) and a body (containing the rest). This should allow for progressive disclosure, to help make the list more manageable.
2020-09-29 21:02:58 -05:00
haven1433
90c854e0ca Autocomplete Model changes 2019-05-01 16:52:19 -05:00
Benjamin Popp
ebc9d1f33d first part of autocomplete is in
mostly the tests
need to make the pointers actually fill the model
need to make the UI still
need to handle enums still
2019-04-29 16:32:14 -05:00