SFCViewer.py
changeset 56 7187e1c00975
parent 45 42637f721b5b
child 58 39cd981ff242
--- a/SFCViewer.py	Wed Jul 25 10:06:29 2007 +0200
+++ b/SFCViewer.py	Thu Jul 26 17:23:21 2007 +0200
@@ -313,6 +313,9 @@
         if keycode == WXK_DELETE and self.SelectedElement:
             self.SelectedElement.Delete()
             self.SelectedElement = None
+            self.RefreshBuffer()
+            self.RefreshScrollBars()
+            self.Refresh()
         elif keycode == WXK_LEFT:
             if event.ControlDown() and event.ShiftDown():
                 self.Scroll(0, ypos)
@@ -320,6 +323,9 @@
                 self.Scroll(max(0, xpos - 1), ypos)
             elif self.SelectedElement:
                 self.SelectedElement.Move(-scaling[0], 0)
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
+                self.Refresh()
         elif keycode == WXK_RIGHT:
             if event.ControlDown() and event.ShiftDown():
                 self.Scroll(xmax, ypos)
@@ -327,6 +333,9 @@
                 self.Scroll(min(xpos + 1, xmax), ypos)
             elif self.SelectedElement:
                 self.SelectedElement.Move(scaling[0], 0)
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
+                self.Refresh()
         elif keycode == WXK_UP:
             if event.ControlDown() and event.ShiftDown():
                 self.Scroll(xpos, 0)
@@ -334,6 +343,9 @@
                 self.Scroll(xpos, max(0, ypos - 1))
             elif self.SelectedElement:
                 self.SelectedElement.Move(0, -scaling[1])
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
+                self.Refresh()
         elif keycode == WXK_DOWN:
             if event.ControlDown() and event.ShiftDown():
                 self.Scroll(xpos, ymax)
@@ -341,7 +353,9 @@
                 self.Scroll(xpos, min(ypos + 1, ymax))
             elif self.SelectedElement:
                 self.SelectedElement.Move(0, scaling[1])
-        self.Refresh()
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
+                self.Refresh()
         
 #-------------------------------------------------------------------------------
 #                          Adding element functions
@@ -364,6 +378,8 @@
             self.Controler.AddCurrentElementEditingStep(id)
             self.RefreshStepModel(step)
             self.Parent.RefreshProjectTree()
+            self.RefreshBuffer()
+            self.RefreshScrollBars()
             self.Refresh()
         dialog.Destroy()
 
@@ -417,6 +433,8 @@
                     self.SelectedElement = step
                     self.SelectedElement.SetSelected(True)
                 self.Parent.RefreshProjectTree()
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
                 self.Refresh()
             dialog.Destroy()
     
@@ -444,6 +462,8 @@
                     self.AddBlock(actionblock)
                     self.Controler.AddCurrentElementEditingActionBlock(id)
                     self.RefreshActionBlockModel(actionblock)
+                    self.RefreshBuffer()
+                    self.RefreshScrollBars()
                     self.Refresh()
                 dialog.Destroy()
     
@@ -638,6 +658,8 @@
                             transition_connectors = transition.GetConnectors()
                             previous = transition_connectors["output"]
                         self.CreateStep("Step", previous)
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
                 self.Refresh()
             dialog.Destroy()
     
@@ -654,6 +676,8 @@
                 else:
                     previous = divergence_connectors["outputs"][-1]
                 step = self.CreateStep("Step", previous)
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
                 self.Refresh()
     
     def AddJump(self):
@@ -681,23 +705,10 @@
                 transition.RefreshOutputPosition()
                 wire.SetPoints([wxPoint(pos.x, pos.y + SFC_WIRE_MIN_SIZE), wxPoint(pos.x, pos.y)])
                 self.RefreshJumpModel(jump)
+                self.RefreshBuffer()
+                self.RefreshScrollBars()
                 self.Refresh()
             dialog.Destroy()
-    
-    def AddComment(self, bbox):
-        dialog = wxTextEntryDialog(self.Parent, "Add a new comment", "Please enter comment text", "", wxOK|wxCANCEL|wxTE_MULTILINE)
-        if dialog.ShowModal() == wxID_OK:
-            value = dialog.GetValue()
-            id = self.GetNewId()
-            comment = Comment(self, value, id)
-            comment.SetPosition(bbox.x, bbox.y)
-            min_width, min_height = comment.GetMinSize()
-            comment.SetSize(max(min_width,bbox.width),max(min_height,bbox.height))
-            self.AddComment(comment)
-            self.Controler.AddCurrentElementEditingComment(id)
-            self.RefreshCommentModel(comment)
-            self.Refresh()
-        dialog.Destroy()
 
     def EditStepContent(self, step):
         dialog = StepNameDialog(self.Parent, "Edit step name", "Please enter step name", step.GetName(), wxOK|wxCANCEL)
@@ -711,6 +722,8 @@
             size = step.GetSize()
             step.UpdateSize(max(min_size[0], size[0]), max(min_size[1], size[1]))
             step.RefreshModel()
+            self.RefreshBuffer()
+            self.RefreshScrollBars()
             self.Refresh()
         dialog.Destroy()
 
@@ -723,6 +736,8 @@
             transition.SetType(values["type"])
             transition.SetCondition(values["value"])
             transition.RefreshModel()
+            self.RefreshBuffer()
+            self.RefreshScrollBars()
             self.Refresh()
         dialog.Destroy()
 
@@ -737,6 +752,8 @@
             value = dialog.GetStringSelection()
             jump.SetTarget(value)
             jump.RefreshModel()
+            self.RefreshBuffer()
+            self.RefreshScrollBars()
             self.Refresh()
         dialog.Destroy()
 
@@ -750,6 +767,8 @@
             actions = dialog.GetValues()
             actionblock.SetActions(actions)
             actionblock.RefreshModel()
+            self.RefreshBuffer()
+            self.RefreshScrollBars()
             self.Refresh()
         dialog.Destroy()