From aa30d455d1924fc8413b76a56778d3e4f60b1fe1 Mon Sep 17 00:00:00 2001 From: Alix Damman Date: Wed, 4 Oct 2017 11:51:17 +0200 Subject: [PATCH 1/3] * fix #85 : display dtype in title * display shape + dtype of Numpy ndarray in title --- larray_editor/editor.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/larray_editor/editor.py b/larray_editor/editor.py index a876ee2..3128dbe 100644 --- a/larray_editor/editor.py +++ b/larray_editor/editor.py @@ -478,8 +478,13 @@ def update_title(self): axes_info = ' x '.join("%s (%d)" % (display_name, len(axis)) for display_name, axis in zip(axes.display_names, axes)) - title += [(name + ': ' + axes_info) if name else axes_info] - # name of non-LArray displayed item (if not None) + dtype = ' [{}]'.format(array.dtype.name) + title += [(name + ': ' + axes_info + dtype) if name else axes_info + dtype] + elif isinstance(array, np.ndarray): + shape = ' x '.join('({})'.format(length) for length in array.shape) + dtype = ' [{}]'.format(array.dtype.name) + title += [(name + ': ' + shape + dtype) if name else shape + dtype] + # name of non-LArray/Numpy displayed item (if not None) elif name: title = [name] # extra info From d7f5b435a50b3c1cf7629eca1708164962733ea6 Mon Sep 17 00:00:00 2001 From: Alix Damman Date: Wed, 4 Oct 2017 17:08:15 +0200 Subject: [PATCH 2/3] fix 85 : update --- larray_editor/editor.py | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/larray_editor/editor.py b/larray_editor/editor.py index 3128dbe..d054470 100644 --- a/larray_editor/editor.py +++ b/larray_editor/editor.py @@ -96,8 +96,8 @@ def setup_and_check(self, data, title='', readonly=False, minvalue=None, maxvalu title = _("Session viewer") if readonly else _("Session editor") if readonly: title += ' (' + _('read only') + ')' - self.title = title - self.setWindowTitle(self.title) + self._title = title + self.setWindowTitle(title) self.statusBar().showMessage("Welcome to the LArray Viewer", 4000) @@ -464,7 +464,9 @@ def on_item_changed(self, curr, prev): def update_title(self): array = self.current_array - name = self.current_array_name + name = self.current_array_name if self.current_array_name is not None else '' + dtype = array.dtype.name + unsave_marker = '*' if self._is_unsaved_modifications() else '' title = [] if isinstance(array, LArray): # current file (if not None) @@ -474,24 +476,16 @@ def update_title(self): else: title = [self.current_file] # array info - axes = array.axes - axes_info = ' x '.join("%s (%d)" % (display_name, len(axis)) - for display_name, axis - in zip(axes.display_names, axes)) - dtype = ' [{}]'.format(array.dtype.name) - title += [(name + ': ' + axes_info + dtype) if name else axes_info + dtype] - elif isinstance(array, np.ndarray): - shape = ' x '.join('({})'.format(length) for length in array.shape) - dtype = ' [{}]'.format(array.dtype.name) - title += [(name + ': ' + shape + dtype) if name else shape + dtype] - # name of non-LArray/Numpy displayed item (if not None) - elif name: - title = [name] + shape = ['{} ({})'.format(display_name, len(axis)) + for display_name, axis in zip(array.axes.display_names, array.axes)] + # if it's not an LArray, it must be a Numpy ndarray + else: + shape = [str(length) for length in array.shape] + # name + shape + dtype + array_info = ' x '.join(shape) + ' [{}]'.format(dtype) + title += [unsave_marker + name + ': ' + array_info] # extra info - title += [self.title] - # add '*' at the end of the title if unsaved modifications. - if self._is_unsaved_modifications(): - title += ['*'] + title += [self._title] # set title self.setWindowTitle(' - '.join(title)) From 73a46c0cef1642e72f8407280c5b0d054bfea13b Mon Sep 17 00:00:00 2001 From: Alix Damman Date: Mon, 9 Oct 2017 16:12:28 +0200 Subject: [PATCH 3/3] fix 85 : update --- larray_editor/editor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/larray_editor/editor.py b/larray_editor/editor.py index d054470..73d4e49 100644 --- a/larray_editor/editor.py +++ b/larray_editor/editor.py @@ -478,8 +478,9 @@ def update_title(self): # array info shape = ['{} ({})'.format(display_name, len(axis)) for display_name, axis in zip(array.axes.display_names, array.axes)] - # if it's not an LArray, it must be a Numpy ndarray else: + # if it's not an LArray, it must be a Numpy ndarray + assert isinstance(array, np.ndarray) shape = [str(length) for length in array.shape] # name + shape + dtype array_info = ' x '.join(shape) + ' [{}]'.format(dtype)