mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 03:31:50 +02:00
fix: replace add'l md table w/ tree view
This commit is contained in:
@ -2,13 +2,14 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
from PySide6.QtWidgets import QSizePolicy
|
||||||
from qtpy.QtCore import QAbstractTableModel, QModelIndex, Qt, Signal # type: ignore
|
from qtpy.QtCore import QAbstractTableModel, QModelIndex, Qt, Signal # type: ignore
|
||||||
from qtpy.QtWidgets import (
|
from qtpy.QtWidgets import (
|
||||||
QApplication,
|
QApplication,
|
||||||
QHBoxLayout,
|
QHBoxLayout,
|
||||||
QLabel,
|
QLabel,
|
||||||
QPushButton,
|
QPushButton,
|
||||||
QTableView,
|
QTreeView,
|
||||||
QVBoxLayout,
|
QVBoxLayout,
|
||||||
QWidget,
|
QWidget,
|
||||||
)
|
)
|
||||||
@ -105,9 +106,11 @@ class AdditionalMetadataTable(QWidget):
|
|||||||
self._layout = QHBoxLayout()
|
self._layout = QHBoxLayout()
|
||||||
self.setLayout(self._layout)
|
self.setLayout(self._layout)
|
||||||
self._table_model = AdditionalMetadataTableModel(initial_data)
|
self._table_model = AdditionalMetadataTableModel(initial_data)
|
||||||
self._table_view = QTableView()
|
self._table_view = QTreeView()
|
||||||
self._table_view.setModel(self._table_model)
|
self._table_view.setModel(self._table_model)
|
||||||
self._table_view.horizontalHeader().setStretchLastSection(True)
|
self._table_view.setSizePolicy(
|
||||||
|
QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum)
|
||||||
|
)
|
||||||
self._layout.addWidget(self._table_view)
|
self._layout.addWidget(self._table_view)
|
||||||
|
|
||||||
self._buttons = QVBoxLayout()
|
self._buttons = QVBoxLayout()
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
|
from PySide6.QtCore import QItemSelectionModel, QModelIndex, QRect
|
||||||
import pytest
|
import pytest
|
||||||
from bec_lib.metadata_schema import BasicScanMetadata
|
from bec_lib.metadata_schema import BasicScanMetadata
|
||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
from pydantic.types import Json
|
from pydantic.types import Json
|
||||||
from qtpy.QtCore import Qt
|
from qtpy.QtCore import QPoint, Qt
|
||||||
from qtpy.QtWidgets import QCheckBox, QDoubleSpinBox, QLineEdit, QSpinBox, QWidget
|
from qtpy.QtWidgets import QCheckBox, QDoubleSpinBox, QLineEdit, QSpinBox, QWidget
|
||||||
|
|
||||||
from bec_widgets.widgets.editors.scan_metadata import AdditionalMetadataTableModel, ScanMetadata
|
from bec_widgets.widgets.editors.scan_metadata import AdditionalMetadataTableModel, ScanMetadata
|
||||||
@ -189,7 +190,8 @@ def test_additional_metadata_table_add_row(table: AdditionalMetadataTable):
|
|||||||
|
|
||||||
def test_additional_metadata_table_delete_row(table: AdditionalMetadataTable):
|
def test_additional_metadata_table_delete_row(table: AdditionalMetadataTable):
|
||||||
assert table._table_model.rowCount() == 3
|
assert table._table_model.rowCount() == 3
|
||||||
table._table_view.selectRow(1)
|
m = table._table_view.selectionModel()
|
||||||
|
m.select(table._table_view.indexAt(QPoint(40, 30)), QItemSelectionModel.SelectionFlag.Select)
|
||||||
table.delete_selected_rows()
|
table.delete_selected_rows()
|
||||||
assert table._table_model.rowCount() == 2
|
assert table._table_model.rowCount() == 2
|
||||||
assert list(table.dump_dict().keys()) == ["key1", "key3"]
|
assert list(table.dump_dict().keys()) == ["key1", "key3"]
|
||||||
|
Reference in New Issue
Block a user