Skip to content

Commit c52e238

Browse files
authored
fix #84 : display correctly 0 and 1-size arrays
1 parent 180ad81 commit c52e238

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

larray_editor/arrayadapter.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ def get_axes_names(self):
3636

3737
def get_axes(self):
3838
axes = self.filtered_data.axes
39-
if len(axes) == 0:
39+
# test self.filtered_data.size == 0 is required in case an instance built as LArray([]) is passed
40+
# test len(axes) == 0 is required when a user filters until to get a scalar
41+
if self.filtered_data.size == 0 or len(axes) == 0:
4042
return None
4143
else:
4244
axes_names = axes.display_names
@@ -46,16 +48,14 @@ def get_axes(self):
4648

4749
def get_xlabels(self):
4850
axes = self.filtered_data.axes
49-
if len(axes) == 0:
51+
if self.filtered_data.size == 0 or len(axes) == 0:
5052
return None
51-
elif len(axes.labels[-1]) == 0:
52-
return [['']]
5353
else:
5454
return [[label] for label in axes.labels[-1]]
5555

5656
def get_ylabels(self):
5757
axes = self.filtered_data.axes
58-
if len(axes) == 0:
58+
if self.filtered_data.size == 0 or len(axes) == 0:
5959
return None
6060
elif len(axes) == 1:
6161
return [['']]

larray_editor/arraywidget.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,7 @@ def __init__(self, parent, data_scrollbar):
506506

507507

508508
class ArrayEditorWidget(QWidget):
509-
def __init__(self, parent, data, readonly=False, bg_value=None, bg_gradient=None, minvalue=None, maxvalue=None):
509+
def __init__(self, parent, data=None, readonly=False, bg_value=None, bg_gradient=None, minvalue=None, maxvalue=None):
510510
QWidget.__init__(self, parent)
511511
readonly = np.isscalar(data)
512512
self.readonly = readonly
@@ -700,15 +700,17 @@ def dropEvent(self, event):
700700
else:
701701
event.ignore()
702702

703-
def set_data(self, data, bg_gradient=None, bg_value=None):
703+
def set_data(self, data=None, bg_gradient=None, bg_value=None):
704+
# update adapter
704705
self.data_adapter.set_data(data, bg_gradient=bg_gradient, bg_value=bg_value)
705-
self._update_digits_scientific(self.data_adapter.get_data())
706-
707-
# update filters
708706
la_data = self.data_adapter.get_data()
709707
axes = la_data.axes
710708
display_names = axes.display_names
711709

710+
# update data format and bgcolor
711+
self._update_digits_scientific(la_data)
712+
713+
# update filters
712714
filters_layout = self.filters_layout
713715
clear_layout(filters_layout)
714716
if len(la_data) > 0:

larray_editor/editor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ def _ask_to_save_if_unsaved_modifications(self):
533533
def new(self):
534534
if self._ask_to_save_if_unsaved_modifications():
535535
self._reset()
536-
self.arraywidget.set_data(np.empty(0))
536+
self.arraywidget.set_data()
537537
self.set_current_file(None)
538538
self.unsaved_modifications = False
539539
self.statusBar().showMessage("Viewer has been reset", 4000)

0 commit comments

Comments
 (0)