added ability to know if views have any items

This commit is contained in:
Jakub Trllo 2022-11-22 15:51:44 +01:00
parent 3ba5f8e0e9
commit b2065acd7a
4 changed files with 34 additions and 1 deletions

View file

@ -676,6 +676,13 @@ class InstanceCardView(AbstractInstanceView):
self._update_ordered_group_names()
def has_items(self):
if self._convertor_items_group is not None:
return True
if self._widgets_by_group:
return True
return False
def _update_ordered_group_names(self):
ordered_group_names = [CONTEXT_GROUP]
for idx in range(self._content_layout.count()):

View file

@ -912,6 +912,13 @@ class InstanceListView(AbstractInstanceView):
if not self._instance_view.isExpanded(proxy_index):
self._instance_view.expand(proxy_index)
def has_items(self):
if self._convertor_group_widget is not None:
return True
if self._group_items:
return True
return False
def get_selected_items(self):
"""Get selected instance ids and context selection.

View file

@ -205,6 +205,10 @@ class OverviewWidget(QtWidgets.QFrame):
self._subset_views_widget.height()
)
def has_items(self):
view = self._subset_views_layout.currentWidget()
return view.has_items()
def _on_create_clicked(self):
"""Pass signal to parent widget which should care about changing state.

View file

@ -305,6 +305,20 @@ class AbstractInstanceView(QtWidgets.QWidget):
"{} Method 'refresh' is not implemented."
).format(self.__class__.__name__))
def has_items(self):
"""View has at least one item.
This is more a question for controller but is called from widget
which should probably should not use controller.
Returns:
bool: There is at least one instance or conversion item.
"""
raise NotImplementedError((
"{} Method 'has_items' is not implemented."
).format(self.__class__.__name__))
def get_selected_items(self):
"""Selected instances required for callbacks.
@ -1185,7 +1199,7 @@ class GlobalAttrsWidget(QtWidgets.QWidget):
"""Set currently selected instances.
Args:
instances(list<CreatedInstance>): List of selected instances.
instances(List[CreatedInstance]): List of selected instances.
Empty instances tells that nothing or context is selected.
"""
self._set_btns_visible(False)
@ -1619,6 +1633,7 @@ class SubsetAttributesWidget(QtWidgets.QWidget):
instances(List[CreatedInstance]): List of currently selected
instances.
context_selected(bool): Is context selected.
convertor_identifiers(List[str]): Identifiers of convert items.
"""
all_valid = True