diff --git a/central_widget.py b/central_widget.py index 91d7931..92038f5 100644 --- a/central_widget.py +++ b/central_widget.py @@ -1,11 +1,12 @@ import os -from PyQt5.QtWidgets import QFrame, QLabel, QListWidget, QListWidgetItem, QStackedLayout, QVBoxLayout, QWidget, QGridLayout, QSpacerItem, QSizePolicy +from PyQt5.QtWidgets import QFrame, QLabel, QListWidget, QListWidgetItem, QStackedLayout, QVBoxLayout, QWidget, QGridLayout, QSpacerItem, QSizePolicy, QTreeView, QHeaderView from PyQt5.QtGui import QPixmap from PyQt5.QtCore import Qt, QSettings from file_handler import FileHandler import communicator as comm import constants as cnst +from tree_model import TreeModel class CentralWidget(QWidget): @@ -22,6 +23,7 @@ class CentralWidget(QWidget): def show_file_content(self): self._stack.setCurrentIndex(1) + self._file_view.update() def reset(self): self._file_view.reset() @@ -33,10 +35,27 @@ class FileView(QWidget): def __init__(self, parent=None) -> None: super().__init__(parent=parent) - self.setLayout(QVBoxLayout()) - self.layout().addWidget(QLabel("FileView")) self._file_handler = FileHandler() + grid = QGridLayout() + grid.addWidget(QLabel("FileView"), 0, 0, 1, 3) + self.setLayout(grid) + + self._view = QTreeView() + self._view.setAlternatingRowColors(True) + self._view.setUniformRowHeights(True) # Allows for scrolling optimizations. + self._view.setWindowTitle("Simple Tree Model") + header = self._view.header() + header.setStretchLastSection(False) + header.setSectionResizeMode(1, QHeaderView.ResizeToContents) + header.setSectionResizeMode(2, QHeaderView.ResizeToContents) + header.setSectionResizeMode(0, QHeaderView.Stretch) + grid.addWidget(self._view, 1, 0, 3, 3) + + def update(self): + model = TreeModel(self._file_handler) + self._view.setModel(model) + def reset(self): print("FileView ", self._file_handler.is_valid) pass