editors/Viewer.py
changeset 1246 101625efb1c1
parent 1245 d34ba528346b
child 1247 92588e69d853
equal deleted inserted replaced
1245:d34ba528346b 1246:101625efb1c1
  2280             self.RefreshVisibleElements()
  2280             self.RefreshVisibleElements()
  2281             comment.Refresh()
  2281             comment.Refresh()
  2282         dialog.Destroy()
  2282         dialog.Destroy()
  2283 
  2283 
  2284     def AddNewContact(self, bbox):
  2284     def AddNewContact(self, bbox):
  2285         dialog = LDElementDialog(self.ParentWindow, self.Controler, "contact")
  2285         dialog = LDElementDialog(self.ParentWindow, self.Controler, self.TagName, "contact")
  2286         dialog.SetPreviewFont(self.GetFont())
  2286         dialog.SetPreviewFont(self.GetFont())
  2287         varlist = []
  2287         dialog.SetMinElementSize((bbox.width, bbox.height))
  2288         vars = self.Controler.GetEditedElementInterfaceVars(self.TagName, self.Debug)
       
  2289         if vars:
       
  2290             for var in vars:
       
  2291                 if var["Type"] == "BOOL":
       
  2292                     varlist.append(var["Name"])
       
  2293         dialog.SetVariables(varlist)
       
  2294         dialog.SetValues({"name":"","type":CONTACT_NORMAL})
       
  2295         dialog.SetElementSize((bbox.width, bbox.height))
       
  2296         if dialog.ShowModal() == wx.ID_OK:
  2288         if dialog.ShowModal() == wx.ID_OK:
  2297             id = self.GetNewId()
  2289             id = self.GetNewId()
  2298             values = dialog.GetValues()
  2290             values = dialog.GetValues()
  2299             contact = LD_Contact(self, values["type"], values["name"], id)
  2291             contact = LD_Contact(self, values["modifier"], values["variable"], id)
  2300             contact.SetPosition(bbox.x, bbox.y)
  2292             contact.SetPosition(bbox.x, bbox.y)
  2301             contact.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2293             contact.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2302             self.AddBlock(contact)
  2294             self.AddBlock(contact)
  2303             self.Controler.AddEditedElementContact(self.TagName, id)
  2295             self.Controler.AddEditedElementContact(self.TagName, id)
  2304             self.RefreshContactModel(contact)
  2296             self.RefreshContactModel(contact)
  2307             self.RefreshVisibleElements()
  2299             self.RefreshVisibleElements()
  2308             contact.Refresh()
  2300             contact.Refresh()
  2309         dialog.Destroy()
  2301         dialog.Destroy()
  2310 
  2302 
  2311     def AddNewCoil(self, bbox):
  2303     def AddNewCoil(self, bbox):
  2312         dialog = LDElementDialog(self.ParentWindow, self.Controler, "coil")
  2304         dialog = LDElementDialog(self.ParentWindow, self.Controler, self.TagName, "coil")
  2313         dialog.SetPreviewFont(self.GetFont())
  2305         dialog.SetPreviewFont(self.GetFont())
  2314         varlist = []
  2306         dialog.SetMinElementSize((bbox.width, bbox.height))
  2315         vars = self.Controler.GetEditedElementInterfaceVars(self.TagName, self.Debug)
       
  2316         if vars:
       
  2317             for var in vars:
       
  2318                 if var["Class"] != "Input" and var["Type"] == "BOOL":
       
  2319                     varlist.append(var["Name"])
       
  2320         returntype = self.Controler.GetEditedElementInterfaceReturnType(self.TagName, self.Debug)
       
  2321         if returntype == "BOOL":
       
  2322             varlist.append(self.Controler.GetEditedElementName(self.TagName))
       
  2323         dialog.SetVariables(varlist)
       
  2324         dialog.SetValues({"name":"","type":COIL_NORMAL})
       
  2325         dialog.SetElementSize((bbox.width, bbox.height))
       
  2326         if dialog.ShowModal() == wx.ID_OK:
  2307         if dialog.ShowModal() == wx.ID_OK:
  2327             id = self.GetNewId()
  2308             id = self.GetNewId()
  2328             values = dialog.GetValues()
  2309             values = dialog.GetValues()
  2329             coil = LD_Coil(self, values["type"], values["name"], id)
  2310             coil = LD_Coil(self, values["modifier"], values["variable"], id)
  2330             coil.SetPosition(bbox.x, bbox.y)
  2311             coil.SetPosition(bbox.x, bbox.y)
  2331             coil.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2312             coil.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2332             self.AddBlock(coil)
  2313             self.AddBlock(coil)
  2333             self.Controler.AddEditedElementCoil(self.TagName, id)
  2314             self.Controler.AddEditedElementCoil(self.TagName, id)
  2334             self.RefreshCoilModel(coil)
  2315             self.RefreshCoilModel(coil)
  2575                 self.RefreshScrollBars()
  2556                 self.RefreshScrollBars()
  2576                 self.RefreshVisibleElements()
  2557                 self.RefreshVisibleElements()
  2577                 connection.Refresh(rect)
  2558                 connection.Refresh(rect)
  2578         
  2559         
  2579     def EditContactContent(self, contact):
  2560     def EditContactContent(self, contact):
  2580         dialog = LDElementDialog(self.ParentWindow, self.Controler, "contact")
  2561         dialog = LDElementDialog(self.ParentWindow, self.Controler, self.TagName, "contact")
  2581         dialog.SetPreviewFont(self.GetFont())
  2562         dialog.SetPreviewFont(self.GetFont())
  2582         varlist = []
  2563         dialog.SetMinElementSize(contact.GetSize())
  2583         vars = self.Controler.GetEditedElementInterfaceVars(self.TagName, self.Debug)
  2564         dialog.SetValues({"variable" : contact.GetName(), 
  2584         if vars:
  2565                           "modifier" : contact.GetType()})
  2585             for var in vars:
       
  2586                 if var["Type"] == "BOOL":
       
  2587                     varlist.append(var["Name"])
       
  2588         dialog.SetVariables(varlist)
       
  2589         values = {"name" : contact.GetName(), "type" : contact.GetType()}
       
  2590         dialog.SetValues(values)
       
  2591         dialog.SetElementSize(contact.GetSize())
       
  2592         if dialog.ShowModal() == wx.ID_OK:
  2566         if dialog.ShowModal() == wx.ID_OK:
  2593             values = dialog.GetValues()
  2567             values = dialog.GetValues()
  2594             rect = contact.GetRedrawRect(1, 1)
  2568             rect = contact.GetRedrawRect(1, 1)
  2595             contact.SetName(values["name"])
  2569             contact.SetName(values["variable"])
  2596             contact.SetType(values["type"])
  2570             contact.SetType(values["modifier"])
  2597             contact.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2571             contact.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2598             rect = rect.Union(contact.GetRedrawRect())
  2572             rect = rect.Union(contact.GetRedrawRect())
  2599             self.RefreshContactModel(contact)
  2573             self.RefreshContactModel(contact)
  2600             self.RefreshBuffer()
  2574             self.RefreshBuffer()
  2601             self.RefreshScrollBars()
  2575             self.RefreshScrollBars()
  2602             self.RefreshVisibleElements()
  2576             self.RefreshVisibleElements()
  2603             contact.Refresh(rect)
  2577             contact.Refresh(rect)
  2604         dialog.Destroy()
  2578         dialog.Destroy()
  2605 
  2579 
  2606     def EditCoilContent(self, coil):
  2580     def EditCoilContent(self, coil):
  2607         dialog = LDElementDialog(self.ParentWindow, self.Controler, "coil")
  2581         dialog = LDElementDialog(self.ParentWindow, self.Controler, self.TagName, "coil")
  2608         dialog.SetPreviewFont(self.GetFont())
  2582         dialog.SetPreviewFont(self.GetFont())
  2609         varlist = []
  2583         dialog.SetMinElementSize(coil.GetSize())
  2610         vars = self.Controler.GetEditedElementInterfaceVars(self.TagName, self.Debug)
  2584         dialog.SetValues({"variable" : coil.GetName(), 
  2611         if vars:
  2585                           "modifier" : coil.GetType()})
  2612             for var in vars:
       
  2613                 if var["Class"] != "Input" and var["Type"] == "BOOL":
       
  2614                     varlist.append(var["Name"])
       
  2615         returntype = self.Controler.GetEditedElementInterfaceReturnType(self.TagName, self.Debug)
       
  2616         if returntype == "BOOL":
       
  2617             varlist.append(self.Controler.GetEditedElementName(self.TagName))
       
  2618         dialog.SetVariables(varlist)
       
  2619         values = {"name" : coil.GetName(), "type" : coil.GetType()}
       
  2620         dialog.SetValues(values)
       
  2621         dialog.SetElementSize(coil.GetSize())
       
  2622         if dialog.ShowModal() == wx.ID_OK:
  2586         if dialog.ShowModal() == wx.ID_OK:
  2623             values = dialog.GetValues()
  2587             values = dialog.GetValues()
  2624             rect = coil.GetRedrawRect(1, 1)
  2588             rect = coil.GetRedrawRect(1, 1)
  2625             coil.SetName(values["name"])
  2589             coil.SetName(values["variable"])
  2626             coil.SetType(values["type"])
  2590             coil.SetType(values["modifier"])
  2627             coil.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2591             coil.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2628             rect = rect.Union(coil.GetRedrawRect())
  2592             rect = rect.Union(coil.GetRedrawRect())
  2629             self.RefreshCoilModel(coil)
  2593             self.RefreshCoilModel(coil)
  2630             self.RefreshBuffer()
  2594             self.RefreshBuffer()
  2631             self.RefreshScrollBars()
  2595             self.RefreshScrollBars()