Skip to content

Commit 120c459

Browse files
committed
Data info displayed in the status bar
1 parent 9541a29 commit 120c459

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

Orange/widgets/data/owsave.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from Orange.widgets.settings import Setting
99
from Orange.widgets.utils.save.owsavebase import OWSaveBase
1010
from Orange.widgets.utils.widgetpreview import WidgetPreview
11+
from Orange.widgets.utils.state_summary import format_summary_details
1112

1213

1314
_userhome = os.path.expanduser(f"~{os.sep}")
@@ -35,6 +36,8 @@ class Error(OWSaveBase.Error):
3536
def __init__(self):
3637
super().__init__(2)
3738

39+
self.info.set_input_summary(self.info.NoInput)
40+
3841
self.grid.addWidget(
3942
gui.checkBox(
4043
None, self, "add_type_annotations",
@@ -79,13 +82,9 @@ def update_messages(self):
7982
and self.filename and not self.writer.SUPPORT_SPARSE_DATA)
8083

8184
def update_status(self):
82-
if self.data is None:
83-
self.info.set_input_summary(self.info.NoInput)
84-
else:
85-
self.info.set_input_summary(
86-
str(len(self.data)),
87-
f"Data set {self.data.name or '(no name)'} "
88-
f"with {len(self.data)} instances")
85+
summary = len(self.data) if self.data else self.info.NoInput
86+
details = format_summary_details(self.data) if self.data else ""
87+
self.info.set_input_summary(summary, details)
8988

9089
def send_report(self):
9190
self.report_data_brief(self.data)

Orange/widgets/data/tests/test_owsave.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from Orange.widgets.data.owsave import OWSave, OWSaveBase
1414
from Orange.widgets.utils.save.tests.test_owsavebase import \
1515
SaveWidgetsTestBaseMixin
16+
from Orange.widgets.utils.state_summary import format_summary_details
1617
from Orange.widgets.tests.base import WidgetTest, open_widget_classes
1718

1819

@@ -55,24 +56,26 @@ def test_dataset(self):
5556

5657
datasig = widget.Inputs.data
5758
self.send_signal(datasig, self.iris)
58-
self.assertEqual(insum.call_args[0][0], "150")
59+
insum.assert_called_with(len(self.iris), format_summary_details(self.iris))
5960
insum.reset_mock()
6061
savefile.reset_mock()
6162

6263
widget.filename = "foo.tab"
6364
widget.writer = TabReader
6465
widget.auto_save = False
6566
self.send_signal(datasig, self.iris)
66-
self.assertEqual(insum.call_args[0][0], "150")
67+
insum.assert_called_with(len(self.iris), format_summary_details(self.iris))
6768
savefile.assert_not_called()
6869

6970
widget.auto_save = True
7071
self.send_signal(datasig, self.iris)
71-
self.assertEqual(insum.call_args[0][0], "150")
72+
insum.assert_called_with(len(self.iris), format_summary_details(self.iris))
7273
savefile.assert_called()
7374

75+
insum.reset_mock()
7476
self.send_signal(datasig, None)
75-
insum.assert_called_with(widget.info.NoInput)
77+
insum.assert_called_once()
78+
self.assertEqual(insum.call_args[0][0].brief, "")
7679

7780
def test_initial_start_dir(self):
7881
widget = self.widget

0 commit comments

Comments
 (0)