mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 08:54:53 +01:00
adde ProjectHelper which helps to keep track with project document
This commit is contained in:
parent
550945972a
commit
16f7bd9ec1
2 changed files with 26 additions and 3 deletions
|
|
@ -15,6 +15,22 @@ class NumberDef:
|
|||
self.decimals = 0 if decimals is None else decimals
|
||||
|
||||
|
||||
class ProjectHelper:
|
||||
def __init__(self, dbcon):
|
||||
self.dbcon = dbcon
|
||||
self.project_doc = None
|
||||
|
||||
def set_project(self, project_name):
|
||||
self.project_doc = None
|
||||
|
||||
if not project_name:
|
||||
return
|
||||
|
||||
self.project_doc = self.dbcon.database[project_name].find_one(
|
||||
{"type": "project"}
|
||||
)
|
||||
|
||||
|
||||
class HierarchyView(QtWidgets.QTreeView):
|
||||
"""A tree view that deselects on clicking on an empty area in the view"""
|
||||
column_delegate_defs = {
|
||||
|
|
@ -44,10 +60,12 @@ class HierarchyView(QtWidgets.QTreeView):
|
|||
"pixelAspect"
|
||||
]
|
||||
|
||||
def __init__(self, source_model, *args, **kwargs):
|
||||
def __init__(self, dbcon, source_model, *args, **kwargs):
|
||||
super(HierarchyView, self).__init__(*args, **kwargs)
|
||||
self._source_model = source_model
|
||||
|
||||
project_helper = ProjectHelper(dbcon)
|
||||
|
||||
main_delegate = QtWidgets.QStyledItemDelegate()
|
||||
self.setItemDelegate(main_delegate)
|
||||
self.setAlternatingRowColors(True)
|
||||
|
|
@ -72,10 +90,15 @@ class HierarchyView(QtWidgets.QTreeView):
|
|||
|
||||
source_model.index_moved.connect(self._on_rows_moved)
|
||||
|
||||
self._project_helper = project_helper
|
||||
self._delegate = main_delegate
|
||||
self._column_delegates = column_delegates
|
||||
self._column_key_to_index = column_key_to_index
|
||||
|
||||
def set_project(self, project_name):
|
||||
self._source_model.set_project(project_name)
|
||||
self._project_helper.set_project(project_name)
|
||||
|
||||
def _on_rows_moved(self, index):
|
||||
parent_index = index.parent()
|
||||
if not self.isExpanded(parent_index):
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ class Window(QtWidgets.QWidget):
|
|||
|
||||
hierarchy_model = HierarchyModel(dbcon)
|
||||
|
||||
hierarchy_view = HierarchyView(hierarchy_model, self)
|
||||
hierarchy_view = HierarchyView(dbcon, hierarchy_model, self)
|
||||
hierarchy_view.setModel(hierarchy_model)
|
||||
_selection_model = HierarchySelectionModel()
|
||||
_selection_model.setModel(hierarchy_view.model())
|
||||
|
|
@ -66,7 +66,7 @@ class Window(QtWidgets.QWidget):
|
|||
self.refresh_projects()
|
||||
|
||||
def _set_project(self, project_name=None):
|
||||
self.hierarchy_model.set_project(project_name)
|
||||
self.hierarchy_view.set_project(project_name)
|
||||
|
||||
def refresh_projects(self):
|
||||
current_project = None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue