[central view] add EntityInfo view
This commit is contained in:
parent
49d6749ecd
commit
8147a43753
@ -122,6 +122,72 @@ class FileView(QWidget):
|
||||
pass
|
||||
|
||||
|
||||
class EntityInfo(QWidget):
|
||||
icon_size = QSize(30, 30)
|
||||
def __init__(self, parent):
|
||||
super().__init__(parent=parent)
|
||||
self.setLayout(QHBoxLayout())
|
||||
|
||||
self._metadata_tree = QTreeView()
|
||||
# self._metadata_tree.expanded.connect(self.metadataTreeResize)
|
||||
# self._metadata_tree.collapsed.connect(self.metadataTreeResize)
|
||||
self._metadata_tree.setAlternatingRowColors(True)
|
||||
self._metadata_tree.setUniformRowHeights(True) # Allows for scrolling optimizations.
|
||||
self._metadata_tree.setWindowTitle("Metadata Tree")
|
||||
self._metadata_tree.setIconSize(self.icon_size)
|
||||
mheader = self._metadata_tree.header()
|
||||
mheader.setStretchLastSection(False)
|
||||
mheader.setSectionResizeMode(1, QHeaderView.ResizeToContents)
|
||||
mheader.setSectionResizeMode(2, QHeaderView.ResizeToContents)
|
||||
mheader.setSectionResizeMode(0, QHeaderView.Stretch)
|
||||
|
||||
mdata_grp = QGroupBox("Metadata")
|
||||
mdata_grp.setLayout(QVBoxLayout())
|
||||
mdata_grp.layout().setContentsMargins(1, 10, 1, 1)
|
||||
mdata_grp.layout().addWidget(self._metadata_tree)
|
||||
|
||||
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.setEnabled(True)
|
||||
self._file_info.setTextInteractionFlags(Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse)
|
||||
self._file_info.setFrameShape(QFrame.NoFrame)
|
||||
self._file_info.setLineWrapMode(QTextEdit.WidgetWidth)
|
||||
file_info_grp.layout().addWidget(self._file_info)
|
||||
|
||||
entity_info_grp = QGroupBox("Entity info")
|
||||
entity_info_grp.setLayout(QVBoxLayout())
|
||||
entity_info_grp.layout().setContentsMargins(1, 10, 1, 1)
|
||||
self._entity_info = QTextEdit("<h3>Entity Information</h3>")
|
||||
self._entity_info.setEnabled(False)
|
||||
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.layout().addWidget(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)
|
||||
self._metadata_tree.setModel(metadata_model)
|
||||
for i in range(metadata_model.columnCount(None)):
|
||||
self._metadata_tree.resizeColumnToContents(i)
|
||||
|
||||
|
||||
class SplashScreen(QWidget):
|
||||
keyPressed = pyqtSignal(int)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user