|
10 | 10 | from orangewidget.utils.combobox import ComboBoxSearch |
11 | 11 |
|
12 | 12 | import Orange |
13 | | -from Orange.data import StringVariable, ContinuousVariable, Variable |
| 13 | +from Orange.data import StringVariable, ContinuousVariable, Variable, Domain |
14 | 14 | from Orange.data.util import hstack, get_unique_names_duplicates |
15 | 15 | from Orange.widgets import widget, gui |
16 | 16 | from Orange.widgets.settings import Setting, ContextHandler, ContextSetting |
@@ -207,6 +207,8 @@ def decode_pair(widget, pair): |
207 | 207 | def _encode_domain(self, domain): |
208 | 208 | if domain is None: |
209 | 209 | return {} |
| 210 | + if not isinstance(domain, Domain): |
| 211 | + domain = domain.domain |
210 | 212 | all_vars = chain(domain.variables, domain.metas) |
211 | 213 | return dict(self.encode_variables(all_vars)) |
212 | 214 |
|
@@ -352,13 +354,13 @@ def change_merging(self): |
352 | 354 | @check_sql_input |
353 | 355 | def set_data(self, data): |
354 | 356 | self.data = data |
355 | | - self.model.set_domain(data and data.domain) |
| 357 | + self.model.set_domain(data.domain if data else None) |
356 | 358 |
|
357 | 359 | @Inputs.extra_data |
358 | 360 | @check_sql_input |
359 | 361 | def set_extra_data(self, data): |
360 | 362 | self.extra_data = data |
361 | | - self.extra_model.set_domain(data and data.domain) |
| 363 | + self.extra_model.set_domain(data.domain if data else None) |
362 | 364 |
|
363 | 365 | def store_combo_state(self): |
364 | 366 | self.attr_pairs = self.attr_boxes.current_state() |
|
0 commit comments