Skip to content

Commit b631034

Browse files
committed
fix #35 : File->New and File->Open are working even when IPython is not available
updated method set_data of LArrayDataAdapter and ArrayEditorWidget classes.
1 parent e759768 commit b631034

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

larray_editor/arrayadapter.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ def get_changes_2D(self):
8888
# - set_data (which reset the current filter)
8989
# - update_data (which sets new data but keeps current filter unchanged)
9090
def set_data(self, data, bg_gradient=None, bg_value=None, current_filter=None):
91+
if data is None:
92+
data = la.LArray([])
9193
if current_filter is None:
9294
self.current_filter = {}
9395
self.la_data = la.aslarray(data)

larray_editor/arraywidget.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -680,9 +680,8 @@ def dropEvent(self, event):
680680
event.ignore()
681681

682682
def set_data(self, data, bg_gradient=None, bg_value=None):
683-
la_data = la.aslarray(data)
684-
self.data_adapter.set_data(la_data, bg_gradient=bg_gradient, bg_value=bg_value)
685-
self._update(la_data)
683+
self.data_adapter.set_data(data, bg_gradient=bg_gradient, bg_value=bg_value)
684+
self._update()
686685

687686
def set_filters(self):
688687
la_data = self.data_adapter.get_data()
@@ -699,11 +698,13 @@ def set_filters(self):
699698
filters_layout.addStretch()
700699
self.data_adapter.update_filtered_data({})
701700

702-
def _update(self, la_data):
703-
size = la_data.size
701+
def _update(self):
702+
# TODO: Adapter must provide a method to return a data sample as a Numpy array
703+
data = self.data_adapter.get_data().data
704+
size, dtype = data.size, data.dtype
704705
# this will yield a data sample of max 199
705706
step = (size // 100) if size > 100 else 1
706-
data_sample = la_data.data.flat[::step]
707+
data_sample = data.flat[::step]
707708

708709
# TODO: refactor so that the expensive format_helper is not called
709710
# twice (or the values are cached)
@@ -715,10 +716,10 @@ def _update(self, la_data):
715716
self.model_data.set_format(self.cell_format)
716717

717718
self.digits_spinbox.setValue(self.digits)
718-
self.digits_spinbox.setEnabled(is_number(la_data.dtype))
719+
self.digits_spinbox.setEnabled(is_number(dtype))
719720

720721
self.scientific_checkbox.setChecked(use_scientific)
721-
self.scientific_checkbox.setEnabled(is_number(la_data.dtype))
722+
self.scientific_checkbox.setEnabled(is_number(dtype))
722723

723724
self.bgcolor_checkbox.setChecked(self.model_data.bgcolor_enabled)
724725
self.bgcolor_checkbox.setEnabled(self.model_data.bgcolor_enabled)

0 commit comments

Comments
 (0)