[central view] add EntityInfo view
This commit is contained in:
parent
49d6749ecd
commit
8147a43753
@ -122,6 +122,72 @@ class FileView(QWidget):
|
|||||||
pass
|
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):
|
class SplashScreen(QWidget):
|
||||||
keyPressed = pyqtSignal(int)
|
keyPressed = pyqtSignal(int)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user