geometry: Delete dead code and minor change.

mesh
Pierre-Antoine Rouby 2023-04-25 14:03:25 +02:00
parent c6fd041e0c
commit 632e092619
5 changed files with 29 additions and 37 deletions

View File

@ -1,7 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import numpy as np import numpy as np
import pandas as pd
from typing import List from typing import List
from Model.Geometry.Profile import Profile from Model.Geometry.Profile import Profile
@ -35,11 +34,6 @@ class ProfileXYZ(Profile):
reach = reach, reach = reach,
) )
def __repr__(self):
df = pd.DataFrame(columns=["X", "Y", "Z", "Name"],
data=[[p.x, p.y, p.z, p.name] for p in self._points])
return f"\nProfileXYZ : {self.name}\n{df}"
def x(self): def x(self):
return [point.x for point in self._points] return [point.x for point in self._points]

View File

@ -71,7 +71,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.paste_sc = QShortcut(QKeySequence.Paste, self) self.paste_sc = QShortcut(QKeySequence.Paste, self)
def setup_model(self): def setup_model(self):
self._tablemodel = PandasModelEditable( self._tablemodel = TableEditableModel(
headers = self.ui.tableView_header, headers = self.ui.tableView_header,
reach = self._reach, reach = self._reach,
undo = self._undo_stack undo = self._undo_stack
@ -435,6 +435,6 @@ class GeometryWindow(QMainWindow, WindowToolKit):
buf.append(row) buf.append(row)
self._tablemodel = None self._tablemodel = None
self._tablemodel = PandasModelEditable(buf) self._tablemodel = TableEditableModel(buf)
self.tableView.setModel(self._tablemodel) self.tableView.setModel(self._tablemodel)
filename = '' filename = ''

View File

@ -81,7 +81,7 @@ class ProfileWindow(QMainWindow):
self.paste_sc = QShortcut(QKeySequence.Paste, self) self.paste_sc = QShortcut(QKeySequence.Paste, self)
def setup_model(self): def setup_model(self):
self._model = PandasModelEditable( self._model = TableEditableModel(
profile = self._profile, profile = self._profile,
undo = self._undo_stack undo = self._undo_stack
) )
@ -266,7 +266,7 @@ class ProfileWindow(QMainWindow):
buf.append(row) buf.append(row)
self._model = None self._model = None
self._model = PandasModelEditable(buf) self._model = TableEditableModel(buf)
self.ui.tableView.setModel(self._model) self.ui.tableView.setModel(self._model)
self.fileName = '' self.fileName = ''

View File

@ -1,11 +1,16 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import numpy as np import numpy as np
from PyQt5.QtGui import QFont from PyQt5.QtGui import (
QFont, QColor
from PyQt5.QtWidgets import QMessageBox )
from PyQt5 import QtWidgets, QtGui from PyQt5.QtWidgets import (
from PyQt5.QtCore import QModelIndex, Qt, QAbstractTableModel, QVariant, QCoreApplication QMessageBox, QStyledItemDelegate, QLineEdit
)
from PyQt5.QtCore import (
QModelIndex, Qt, QAbstractTableModel,
QVariant, QCoreApplication
)
from Model.Geometry.ProfileXYZ import ProfileXYZ from Model.Geometry.ProfileXYZ import ProfileXYZ
@ -14,7 +19,7 @@ from View.Geometry.Profile.ProfileUndoCommand import *
_translate = QCoreApplication.translate _translate = QCoreApplication.translate
class PandasModelEditable(QAbstractTableModel): class TableEditableModel(QAbstractTableModel):
def __init__(self, profile: ProfileXYZ, header=None, undo=None): def __init__(self, profile: ProfileXYZ, header=None, undo=None):
QAbstractTableModel.__init__(self) QAbstractTableModel.__init__(self)
@ -68,9 +73,9 @@ class PandasModelEditable(QAbstractTableModel):
value = self._profile.point(index.row()).z value = self._profile.point(index.row()).z
if role == Qt.ForegroundRole: if role == Qt.ForegroundRole:
if value == self._profile.z_min(): if value == self._profile.z_min():
return QtGui.QColor("red") return QColor("red")
elif value == self._profile.z_max(): elif value == self._profile.z_max():
return QtGui.QColor("blue") return QColor("blue")
if role == Qt.ToolTipRole: if role == Qt.ToolTipRole:
if value == self._profile.z_min(): if value == self._profile.z_min():
@ -92,7 +97,7 @@ class PandasModelEditable(QAbstractTableModel):
return font return font
if role == Qt.ForegroundRole: if role == Qt.ForegroundRole:
return QtGui.QColor("darkRed") return QColor("darkRed")
if role == Qt.ToolTipRole: if role == Qt.ToolTipRole:
if value.strip().upper() == "RG": if value.strip().upper() == "RG":
@ -280,14 +285,14 @@ class PandasModelEditable(QAbstractTableModel):
self.layoutChanged.emit() self.layoutChanged.emit()
class Delegate(QtWidgets.QStyledItemDelegate): class Delegate(QStyledItemDelegate):
def __init__(self, parent=None, setModelDataEvent=None): def __init__(self, parent=None, setModelDataEvent=None):
super(Delegate, self).__init__(parent) super(Delegate, self).__init__(parent)
self.setModelDataEvent = setModelDataEvent self.setModelDataEvent = setModelDataEvent
def createEditor(self, parent, option, index): def createEditor(self, parent, option, index):
index.model().data(index, Qt.DisplayRole) index.model().data(index, Qt.DisplayRole)
return QtWidgets.QLineEdit(parent) return QLineEdit(parent)
def setEditorData(self, editor, index): def setEditorData(self, editor, index):
value = index.model().data(index, Qt.DisplayRole) value = index.model().data(index, Qt.DisplayRole)

View File

@ -1,18 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import time import time
from functools import reduce
from itertools import groupby
from operator import itemgetter
import numpy as np
import pandas as pd
from PyQt5 import (
QtGui, QtWidgets,
)
from PyQt5.QtGui import ( from PyQt5.QtGui import (
QKeySequence, QKeySequence, QColor
) )
from PyQt5.QtCore import ( from PyQt5.QtCore import (
Qt, QAbstractTableModel, QModelIndex, Qt, QAbstractTableModel, QModelIndex,
@ -20,6 +11,8 @@ from PyQt5.QtCore import (
) )
from PyQt5.QtWidgets import ( from PyQt5.QtWidgets import (
QMessageBox, QUndoCommand, QUndoStack, QMessageBox, QUndoCommand, QUndoStack,
QStyledItemDelegate, QLineEdit, QAbstractItemView,
QComboBox,
) )
from Model.Geometry import Reach from Model.Geometry import Reach
@ -29,7 +22,7 @@ from View.Geometry.ReachUndoCommand import *
_translate = QCoreApplication.translate _translate = QCoreApplication.translate
class PandasModelEditable(QAbstractTableModel): class TableEditableModel(QAbstractTableModel):
def __init__(self, reach, headers=None, undo=None): def __init__(self, reach, headers=None, undo=None):
QAbstractTableModel.__init__(self) QAbstractTableModel.__init__(self)
data_list = [] data_list = []
@ -239,14 +232,14 @@ class PandasModelEditable(QAbstractTableModel):
self.layoutChanged.emit() self.layoutChanged.emit()
class Delegate(QtWidgets.QStyledItemDelegate): class Delegate(QStyledItemDelegate):
def __init__(self, parent=None, setModelDataEvent=None): def __init__(self, parent=None, setModelDataEvent=None):
super(Delegate, self).__init__(parent) super(Delegate, self).__init__(parent)
self.setModelDataEvent = setModelDataEvent self.setModelDataEvent = setModelDataEvent
def createEditor(self, parent, option, index): def createEditor(self, parent, option, index):
index.model().data(index, Qt.DisplayRole) index.model().data(index, Qt.DisplayRole)
return QtWidgets.QLineEdit(parent) return QLineEdit(parent)
def setEditorData(self, editor, index): def setEditorData(self, editor, index):
value = index.model().data(index, Qt.DisplayRole) value = index.model().data(index, Qt.DisplayRole)
@ -261,18 +254,18 @@ class Delegate(QtWidgets.QStyledItemDelegate):
def updateEditorGeometry(self, editor, option, index): def updateEditorGeometry(self, editor, option, index):
editor.setGeometry(option.rect) editor.setGeometry(option.rect)
class Delegate1(QtWidgets.QStyledItemDelegate): class Delegate1(QStyledItemDelegate):
def __init__(self, owner, choices): def __init__(self, owner, choices):
super().__init__(owner) super().__init__(owner)
self.items = choices self.items = choices
def paint(self, painter, option, index): def paint(self, painter, option, index):
if isinstance(self.parent(), QtWidgets.QAbstractItemView): if isinstance(self.parent(), QAbstractItemView):
self.parent().openPersistentEditor(index) self.parent().openPersistentEditor(index)
super(Delegate1, self).paint(painter, option, index) super(Delegate1, self).paint(painter, option, index)
def createEditor(self, parent, option, index): def createEditor(self, parent, option, index):
editor = QtWidgets.QComboBox(parent) editor = QComboBox(parent)
# editor.currentIndexChanged.connect(self.commit_editor) # editor.currentIndexChanged.connect(self.commit_editor)
editor.addItems(self.items) editor.addItems(self.items)
return editor return editor