diff --git a/central_widget.py b/central_widget.py
index d995ded..0ded8eb 100644
--- a/central_widget.py
+++ b/central_widget.py
@@ -103,17 +103,17 @@ class FileView(QWidget):
return
item = current_index.internalPointer()
comm.communicator.item_selected.emit(item)
+ self._info.setEntityInfo(item.node_descriptor)
def update(self):
tt = TreeType.Data
if self._tree_type_combo.currentText() == TreeType.Data.value:
- print("Data")
tt = TreeType.Data
elif self._tree_type_combo.currentText() == TreeType.Full.value:
tt = TreeType.Full
elif self._tree_type_combo.currentText() == TreeType.Metadata.value:
tt = TreeType.Metadata
-
+ self._info.setEntityInfo(None)
data_model = TreeModel(self._file_handler, tt)
self._data_tree.setModel(data_model)
selection_model = QItemSelectionModel(data_model)
@@ -129,8 +129,10 @@ class FileView(QWidget):
class EntityInfo(QWidget):
icon_size = QSize(30, 30)
+
def __init__(self, parent):
super().__init__(parent=parent)
+ self._file_handler = FileHandler()
self.setLayout(QHBoxLayout())
self._metadata_tree = QTreeView()
@@ -154,7 +156,7 @@ class EntityInfo(QWidget):
file_info_grp = QGroupBox("File info")
file_info_grp.setLayout(QVBoxLayout())
file_info_grp.layout().setContentsMargins(1, 10, 1, 1)
- self._file_info = QTextEdit("File infomation")
+ self._file_info = QTextEdit("File information")
self._file_info.setEnabled(True)
self._file_info.setTextInteractionFlags(Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse)
self._file_info.setFrameShape(QFrame.NoFrame)
@@ -164,30 +166,42 @@ class EntityInfo(QWidget):
entity_info_grp = QGroupBox("Entity info")
entity_info_grp.setLayout(QVBoxLayout())
entity_info_grp.layout().setContentsMargins(1, 10, 1, 1)
- self._entity_info = QTextEdit("
Entity Information
")
- self._entity_info.setEnabled(False)
+ self._entity_info = QTextEdit("Entity information")
+ self._file_info.setEnabled(True)
+ self._file_info.setTextInteractionFlags(Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse)
+ self._file_info.setFrameShape(QFrame.NoFrame)
+ self._file_info.setLineWrapMode(QTextEdit.WidgetWidth)
entity_info_grp.layout().addWidget(self._entity_info)
- splitter = QSplitter(Qt.Horizontal)
- splitter.addWidget(file_info_grp)
- splitter.addWidget(entity_info_grp)
- splitter.addWidget(mdata_grp)
- splitter.setSizes([200, 400, 0])
- splitter.setStretchFactor(0, 0)
- splitter.setStretchFactor(1, 1)
- splitter.setStretchFactor(2, 1)
+ self._splitter = QSplitter(Qt.Horizontal)
+ self._splitter.addWidget(file_info_grp)
+ self._splitter.addWidget(entity_info_grp)
+ self._splitter.addWidget(mdata_grp)
+ self._splitter.setSizes([200, 400, 0])
+ self._splitter.setStretchFactor(0, 0)
+ self._splitter.setStretchFactor(1, 1)
+ self._splitter.setStretchFactor(2, 1)
- self.layout().addWidget(splitter)
+ self.layout().addWidget(self._splitter)
def setFileInfo(self, file_info):
if file_info is not None:
self._file_info.setText(file_info.toHtml())
- def setEntityInfo(self, entityInfo):
- if not isinstance(entityInfo, ItemDescriptor):
- print("Meh! wrong item")
- metadata_model = TreeModel(self._file_handler, TreeType.Metadata)
+ def setEntityInfo(self, entity_info):
+ if entity_info is None or not isinstance(entity_info, ItemDescriptor):
+ self._splitter.setSizes([200, 400, 0])
+ self._entity_info.setText("")
+ self._metadata_tree.setModel(None)
+ return
+
+ if entity_info.metadata_id is not None:
+ self._splitter.setSizes([200, 400, 400])
+ else:
+ self._splitter.setSizes([200, 400, 0])
+ self._entity_info.setText(entity_info.to_html())
+ metadata_model = TreeModel(self._file_handler, TreeType.Metadata, root_section_id=entity_info.metadata_id)
self._metadata_tree.setModel(metadata_model)
for i in range(metadata_model.columnCount(None)):
self._metadata_tree.resizeColumnToContents(i)
@@ -268,6 +282,5 @@ class SplashScreen(QWidget):
def _on_key_pressed(self, key):
item = self._file_list.currentItem()
- print(item)
if item is not None and key == Qt.Key_Return:
comm.communicator.open_recent.emit(self._file_map[item.text()])