-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Start Vizrank when opened, pause when closed #6614
Conversation
6f7dc91
to
3b3248c
Compare
24c9490
to
501b847
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #6614 +/- ##
==========================================
- Coverage 88.10% 88.09% -0.02%
==========================================
Files 321 321
Lines 69876 69956 +80
==========================================
+ Hits 61563 61625 +62
- Misses 8313 8331 +18 |
501b847
to
351e26a
Compare
Despite our discussion in the morning, I've put everything in the same PR. Linear projection and Radviz share most of the code. Mosaic would be based on this PR (and have similar code to the first two), which is annoying to maintain. Changes in Sieve and Scatterplot are trivial (when based on the code from this PR). |
22c379b
to
a71b042
Compare
Some observations:
|
|
These two had the same cause. Fixed, I hope. |
a71b042
to
f614710
Compare
Vizrank used to be handled by separate (but repetitive) code in each widget. The current common vizrank classes were created in 2018 by a programmer who was inexperienced and young, not even 50 years old. Today, I'd do it differently, and definitely better. But wait for me when I'm 60! Most problems in this PR results from design that is too rigid to be changed, or was even broken, but the errors were masked, e.g.
On master, disconnecting the input doesn't clear the vizrank, so the user can still select combinations. This is wrong, but we handle this by showing an error indicator saying "An error occurred while projecting data". The proper solution would be to call |
The particular reason for this was that I forgot to remove an unnecessary call to
I'm writing this just to show how fragile is this code. I'll try to reimplement the part that runs vizrank (that is, the thread), but fear that I'll end up writing a new, alternative set of classes for vizrank. |
Closed in favor of #6661. |
Issue
Fixes #6504. Also fixes #6624.
Description of changes
(Rather) unrelated, I disabled
duplicate-code
issue in pylint, as we discussed a few weeks ago. This is a new test, it is too strict, and also unnecessary in our context: duplicated code was never an issue for us, so we will get just plenty of pointless issues. Including here, which is why I've had enough in this PR.List of commits:
VizRankDialogNAttrs
, a VizRank dialog in which user sets the number of variables, with functionality shared between Linear projection and RadvizCloseVizrankMixin
that should be mixed into all widgets with vizranks so that they stop vizrank when they are closedauto_start: bool
argument forVizRankDialog.add_vizrank
, which causes computation to start when the vizrank button is pressed, and pauses it when dialog is closed.duplicate-code
in pylintrcIncludes