Scenario: Some minor fix.

scenarios
Pierre-Antoine Rouby 2024-09-02 15:02:02 +02:00
parent 267f30849f
commit ed0a549027
2 changed files with 39 additions and 28 deletions

View File

@ -52,18 +52,6 @@ class Scenario(SQLSubModel):
self._id + 1, Scenario._id_cnt + 1 self._id + 1, Scenario._id_cnt + 1
) )
@property
def id(self):
return self._id
@property
def x(self):
return self._x
@property
def y(self):
return self._y
@classmethod @classmethod
def _db_create(cls, execute): def _db_create(cls, execute):
execute(""" execute("""
@ -116,7 +104,7 @@ class Scenario(SQLSubModel):
) )
execute( execute(
f"ALTER TABLE scenario " + f"ALTER TABLE scenario " +
"ADD COLUMN x REAL NOT NULL DEFAULT 1000" "ADD COLUMN y REAL NOT NULL DEFAULT 1000"
) )
return True return True
@ -186,6 +174,18 @@ class Scenario(SQLSubModel):
return True return True
@property
def id(self):
return self._id
@property
def x(self):
return self._x
@property
def y(self):
return self._y
@property @property
def name(self): def name(self):
if self._name == "": if self._name == "":
@ -193,6 +193,11 @@ class Scenario(SQLSubModel):
return self._name return self._name
@name.setter
def name(self, name):
self._name = name
# self.modified()
@property @property
def description(self): def description(self):
if self._description == "": if self._description == "":
@ -200,6 +205,11 @@ class Scenario(SQLSubModel):
return self._description return self._description
@description.setter
def description(self, description):
self._description = description
# self.modified()
@property @property
def revision(self): def revision(self):
return self._revision return self._revision
@ -207,16 +217,24 @@ class Scenario(SQLSubModel):
@revision.setter @revision.setter
def revision(self, revision): def revision(self, revision):
self._revision = revision self._revision = revision
# self.modified()
@property @property
def parent(self): def parent(self):
return self._parent return self._parent
def set_pos(self, x, y):
self._x = x
self._y = y
# self.modified()
def __setitem__(self, key, value): def __setitem__(self, key, value):
if key == "name": if key == "name":
self.name = value self.name = value
if key == "description": elif key == "description":
self.description = description self.description = value
# self.modified()
def __getitem__(self, key): def __getitem__(self, key):
if key == "name": if key == "name":

View File

@ -66,12 +66,6 @@ class ScenarioItem(QGraphicsTextItem):
def type(self): def type(self):
return ScenarioItem.Type return ScenarioItem.Type
def set_custom_pos(self, pos):
x = pos.x()
y = pos.y()
self.setPos(QPointF(x, y))
@timer @timer
def paint(self, painter, option, widget): def paint(self, painter, option, widget):
color = QColor(Qt.white) color = QColor(Qt.white)
@ -83,6 +77,9 @@ class ScenarioItem(QGraphicsTextItem):
super(ScenarioItem, self).paint(painter, option, widget) super(ScenarioItem, self).paint(painter, option, widget)
def itemChange(self, change, value): def itemChange(self, change, value):
if change == QGraphicsItem.ItemPositionHasChanged:
self.scenario.set_pos(value.x(), value.y())
self.graph.edges_display_update() self.graph.edges_display_update()
return super(ScenarioItem, self).itemChange(change, value) return super(ScenarioItem, self).itemChange(change, value)
@ -188,8 +185,7 @@ class GraphWidget(QGraphicsView):
def __init__(self, graph, parent=None, def __init__(self, graph, parent=None,
min_size=(400, 400), max_size=None, min_size=(400, 400), max_size=None,
size=None, only_display=False, undo=None, size=None, undo=None, trad=None):
trad=None):
super(GraphWidget, self).__init__(parent=parent) super(GraphWidget, self).__init__(parent=parent)
self.parent = parent self.parent = parent
@ -296,11 +292,8 @@ class GraphWidget(QGraphicsView):
# Contextual menu # Contextual menu
def contextMenuEvent(self, event): def contextMenuEvent(self, event):
if self._only_display: pos = self.mapToScene(event.pos())
return items = self.items(event.pos())
# pos = self.mapToScene(event.pos())
# items = self.items(event.pos())
# # Select current menu # # Select current menu
# while len(items) > 0: # while len(items) > 0: