Scenario: Add protected tag in front of name and alternative color.

scenarios
Pierre-Antoine Rouby 2024-09-02 16:23:37 +02:00
parent 5c3464a303
commit 9b40b7eb39
1 changed files with 15 additions and 2 deletions

View File

@ -55,7 +55,11 @@ class ScenarioItem(QGraphicsTextItem):
self.setPos(QPointF(self.scenario.x, self.scenario.y)) self.setPos(QPointF(self.scenario.x, self.scenario.y))
self.setPlainText(self.scenario.name) tag = " "
if self.graph.scenario_has_child(self.scenario):
tag = "🛡️ "
self.setPlainText(tag + self.scenario.name)
self.setDefaultTextColor(Qt.black) self.setDefaultTextColor(Qt.black)
self.setFlag(QGraphicsItem.ItemIsMovable) self.setFlag(QGraphicsItem.ItemIsMovable)
@ -85,6 +89,8 @@ class ScenarioItem(QGraphicsTextItem):
color = QColor("#eeaba5") color = QColor("#eeaba5")
elif self.scenario.id == 0: elif self.scenario.id == 0:
color = QColor("#d3c1d8") color = QColor("#d3c1d8")
elif self.graph.scenario_has_child(self.scenario):
color = QColor("#e6e6e6")
painter.setPen( painter.setPen(
QPen( QPen(
@ -288,11 +294,18 @@ class GraphWidget(QGraphicsView):
self.scene().clear() self.scene().clear()
self.create_items() self.create_items()
def scenario_has_child(self, scenario):
for scenar in self.graph.scenarios.lst:
if scenar.parent is scenario:
return True
return False
def drawBackground(self, painter, rect): def drawBackground(self, painter, rect):
sceneRect = self.sceneRect() sceneRect = self.sceneRect()
painter.fillRect( painter.fillRect(
rect.intersected(sceneRect), rect.intersected(sceneRect),
QBrush(Qt.lightGray) QBrush(QColor("#e6e6e6"))
) )
painter.setBrush(Qt.NoBrush) painter.setBrush(Qt.NoBrush)
painter.drawRect(sceneRect) painter.drawRect(sceneRect)