orange3 icon indicating copy to clipboard operation
orange3 copied to clipboard

Transient preview of widget output

Open janezd opened this issue 4 years ago • 3 comments

With @irgolic, we brainstormed into this idea (basically his, with a few tricks of mine): widgets could have a transient preview of (default? any?) output data.

Clicking (double clicking? force clicking (on mac)? long clicking?) on the small icon at the bottom that shows the output summary would open a transient, light looking window with a preview. If the output is a data table, it would show a table. Nothing fancy - no sorting or similar. Just plain table with scrolling. If the output is a distance matrix, it shows a matrix... When the user clicks outside the preview, the preview disappears.

Implementation would be based on automated summaries.-They already require registering a summarizing function. Now, some types could also register a previewer. No changes in widgets required.

What's your use case?

Table widget is often used just to briefly check the result of a widget. We then don't remove it, so it needlessly increases the mess.

janezd avatar Mar 05 '22 16:03 janezd

The whole output summary is currently a single piece of text, so detecting which part was clicked could be difficult. At the same time, this is inconvenient for the user who has to guess which number represents the signal (s)he is interested in. Therefore, when there are multiple live outputs (i.e. non-None), when the user clicks the summary, (s)he'd be shown a pop-up menu with names of signals. If there is only a single signal, the menu is of course skipped and the transient table is shown.

janezd avatar Mar 26 '22 23:03 janezd

No need for menu: it's better to have either tabs or a scrollable view. The latter looks much better (lighter, cleaner, more info) and is easier to use, I think.

We need to decide whether this should also be shown for input. It requires no additional code (actually: it'd require code to disable it for input). We may dislike it because it holds a reference to input data even if the output is changed (which only happens if the user disables the connection and then changes the output from the source widget - which is rare).

https://user-images.githubusercontent.com/2387315/165562687-b7dd983e-8b47-4ccb-98c7-f5415e590605.mov

https://user-images.githubusercontent.com/2387315/165571341-e19b3081-7082-4b87-9ec8-276cf97123dc.mov

janezd avatar Apr 27 '22 16:04 janezd

I vote for option 2.

ajdapretnar avatar Apr 28 '22 06:04 ajdapretnar

Fixed via #5969.

janezd avatar Oct 07 '22 11:10 janezd