Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Kotlin UI DSL #470

Merged
merged 21 commits into from
Sep 17, 2023
Merged

Use Kotlin UI DSL #470

merged 21 commits into from
Sep 17, 2023

Conversation

FWDekker
Copy link
Owner

Finally, after many years, and after several months of hard work: Fixes #360.

Every since 2019, I tried every year to use JB's Kotlin UI DSL, but every time the API was either too immature or too different from the current design of Randomness. This year I decided to write my own API, but found that it was somewhat similar to v2 of JB's UI DSL, and so I decided to migrate to their DSL. Still, this required an enormous overhaul of how the entire UI worked, and this gigantic PR thus also includes several bug fixes, UI improvements, documentation changes, and many other improvements. For a time, this was the dev branch of the dev branch. Once the rewriting was done, many tests also had to be rewritten. With the exception of one class, all tests are now done using Kotest.

Still needs a lot of work in creating a consistent API, streamlining the API, documenting the API, and testing the API.
This entirely deprecates the class `VariableLabelRadioButton`.
The latter meaning that an empty label in a ComboBox is now no longer really used. What is still left to do, though, is to consider where the Affixes section can be replaced with a singular reusable "Surround with" option.
Recursive decorators are not something the user can choose to add, but instead it is a major small alteration of the existing code to allow decorators themselves to have decorators.
And reorganise some further UI elements.
(Though they are not necessarily valid.)
Tests still fail, but fewer than last time.
@FWDekker FWDekker added bug Something isn't working enhancement Improvement of existing feature code quality Code changes without behavior changes documentation Improvements or additions to documentation api-update Requires updating the IntelliJ IDE API labels Sep 17, 2023
@FWDekker FWDekker added this to the v3.0.0 milestone Sep 17, 2023
@FWDekker FWDekker self-assigned this Sep 17, 2023
@codecov
Copy link

codecov bot commented Sep 17, 2023

Codecov Report

Merging #470 (fd6f000) into main (bbeac32) will increase coverage by 1.01%.
The diff coverage is 90.66%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #470      +/-   ##
==========================================
+ Coverage   84.53%   85.54%   +1.01%     
==========================================
  Files          52       50       -2     
  Lines        1862     1910      +48     
  Branches      342      322      -20     
==========================================
+ Hits         1574     1634      +60     
+ Misses        247      216      -31     
- Partials       41       60      +19     

@FWDekker FWDekker merged commit 285a161 into main Sep 17, 2023
4 checks passed
@FWDekker FWDekker deleted the kotlin-ui-dsl-2023 branch September 17, 2023 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-update Requires updating the IntelliJ IDE API bug Something isn't working code quality Code changes without behavior changes documentation Improvements or additions to documentation enhancement Improvement of existing feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(192+) Use Kotlin UI DSL
1 participant