2192 |
2192 |
2193 def OnAddDataTypeMenu(self, event): |
2193 def OnAddDataTypeMenu(self, event): |
2194 dialog = DataTypeDialog(self, _("Add a new data type"), _("Please enter data type name"), "", wx.OK|wx.CANCEL) |
2194 dialog = DataTypeDialog(self, _("Add a new data type"), _("Please enter data type name"), "", wx.OK|wx.CANCEL) |
2195 dialog.SetDataTypeNames(self.Controler.GetProjectDataTypeNames()) |
2195 dialog.SetDataTypeNames(self.Controler.GetProjectDataTypeNames()) |
2196 if dialog.ShowModal() == wx.ID_OK: |
2196 if dialog.ShowModal() == wx.ID_OK: |
2197 self.Controler.ProjectAddDataType(dialog.GetValue()) |
2197 tagname = self.Controler.ProjectAddDataType(dialog.GetValue()) |
2198 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) |
2198 if tagname is not None: |
|
2199 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) |
|
2200 self.EditProjectElement(ITEM_DATATYPE, tagname) |
2199 dialog.Destroy() |
2201 dialog.Destroy() |
2200 |
2202 |
2201 def GenerateAddPouFunction(self, pou_type): |
2203 def GenerateAddPouFunction(self, pou_type): |
2202 def OnAddPouMenu(event): |
2204 def OnAddPouMenu(event): |
2203 dialog = PouDialog(self, pou_type) |
2205 dialog = PouDialog(self, pou_type) |
2204 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2206 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2205 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) |
2207 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) |
2206 if dialog.ShowModal() == wx.ID_OK: |
2208 if dialog.ShowModal() == wx.ID_OK: |
2207 values = dialog.GetValues() |
2209 values = dialog.GetValues() |
2208 self.Controler.ProjectAddPou(values["pouName"], values["pouType"], values["language"]) |
2210 tagname = self.Controler.ProjectAddPou(values["pouName"], values["pouType"], values["language"]) |
2209 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) |
2211 if tagname is not None: |
|
2212 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) |
|
2213 self.EditProjectElement(ITEM_POU, tagname) |
2210 dialog.Destroy() |
2214 dialog.Destroy() |
2211 return OnAddPouMenu |
2215 return OnAddPouMenu |
2212 |
2216 |
2213 def GenerateAddTransitionFunction(self, pou_name): |
2217 def GenerateAddTransitionFunction(self, pou_name): |
2214 def OnAddTransitionMenu(event): |
2218 def OnAddTransitionMenu(event): |
2215 dialog = PouTransitionDialog(self) |
2219 dialog = PouTransitionDialog(self) |
2216 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2220 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2217 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name)) |
2221 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name)) |
2218 if dialog.ShowModal() == wx.ID_OK: |
2222 if dialog.ShowModal() == wx.ID_OK: |
2219 values = dialog.GetValues() |
2223 values = dialog.GetValues() |
2220 self.Controler.ProjectAddPouTransition(pou_name, values["transitionName"], values["language"]) |
2224 tagname = self.Controler.ProjectAddPouTransition(pou_name, values["transitionName"], values["language"]) |
2221 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) |
2225 if tagname is not None: |
2222 dialog.Destroy() |
2226 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) |
|
2227 self.EditProjectElement(ITEM_TRANSITION, tagname) |
|
2228 dialog.Destroy() |
2223 return OnAddTransitionMenu |
2229 return OnAddTransitionMenu |
2224 |
2230 |
2225 def GenerateAddActionFunction(self, pou_name): |
2231 def GenerateAddActionFunction(self, pou_name): |
2226 def OnAddActionMenu(event): |
2232 def OnAddActionMenu(event): |
2227 dialog = PouActionDialog(self) |
2233 dialog = PouActionDialog(self) |
2228 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2234 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2229 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name)) |
2235 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name)) |
2230 if dialog.ShowModal() == wx.ID_OK: |
2236 if dialog.ShowModal() == wx.ID_OK: |
2231 values = dialog.GetValues() |
2237 values = dialog.GetValues() |
2232 self.Controler.ProjectAddPouAction(pou_name, values["actionName"], values["language"]) |
2238 tagname = self.Controler.ProjectAddPouAction(pou_name, values["actionName"], values["language"]) |
2233 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) |
2239 if tagname is not None: |
|
2240 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) |
|
2241 self.EditProjectElement(ITEM_ACTION, tagname) |
2234 dialog.Destroy() |
2242 dialog.Destroy() |
2235 return OnAddActionMenu |
2243 return OnAddActionMenu |
2236 |
2244 |
2237 def OnAddConfigurationMenu(self, event): |
2245 def OnAddConfigurationMenu(self, event): |
2238 dialog = ConfigurationNameDialog(self, _("Please enter configuration name"), _("Add new configuration")) |
2246 dialog = ConfigurationNameDialog(self, _("Please enter configuration name"), _("Add new configuration")) |
2239 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2247 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2240 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) |
2248 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) |
2241 if dialog.ShowModal() == wx.ID_OK: |
2249 if dialog.ShowModal() == wx.ID_OK: |
2242 value = dialog.GetValue() |
2250 value = dialog.GetValue() |
2243 self.Controler.ProjectAddConfiguration(value) |
2251 tagname = self.Controler.ProjectAddConfiguration(value) |
2244 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) |
2252 if tagname is not None: |
|
2253 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) |
|
2254 self.EditProjectElement(ITEM_CONFIGURATION, tagname) |
2245 dialog.Destroy() |
2255 dialog.Destroy() |
2246 |
2256 |
2247 def GenerateAddResourceFunction(self, config_name): |
2257 def GenerateAddResourceFunction(self, config_name): |
2248 def OnAddResourceMenu(event): |
2258 def OnAddResourceMenu(event): |
2249 dialog = ResourceNameDialog(self, _("Please enter resource name"), _("Add new resource")) |
2259 dialog = ResourceNameDialog(self, _("Please enter resource name"), _("Add new resource")) |
2250 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2260 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2251 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) |
2261 dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) |
2252 if dialog.ShowModal() == wx.ID_OK: |
2262 if dialog.ShowModal() == wx.ID_OK: |
2253 value = dialog.GetValue() |
2263 value = dialog.GetValue() |
2254 self.Controler.ProjectAddConfigurationResource(config_name, value) |
2264 tagname = self.Controler.ProjectAddConfigurationResource(config_name, value) |
2255 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) |
2265 if tagname is not None: |
|
2266 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) |
|
2267 self.EditProjectElement(ITEM_RESOURCE, tagname) |
2256 dialog.Destroy() |
2268 dialog.Destroy() |
2257 return OnAddResourceMenu |
2269 return OnAddResourceMenu |
2258 |
2270 |
2259 def GenerateChangePouTypeFunction(self, name, new_type): |
2271 def GenerateChangePouTypeFunction(self, name, new_type): |
2260 def OnChangePouTypeMenu(event): |
2272 def OnChangePouTypeMenu(event): |
2261 selected = self.TypesTree.GetSelection() |
2273 selected = self.TypesTree.GetSelection() |
2262 if self.TypesTree.GetPyData(selected) == ITEM_POU: |
2274 if self.TypesTree.GetPyData(selected) == ITEM_POU: |
2263 self.Controler.ProjectChangePouType(name, new_type) |
2275 self.Controler.ProjectChangePouType(name, new_type) |
2264 self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) |
2276 self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) |
2265 return OnChangePouTypeMenu |
2277 return OnChangePouTypeMenu |
2266 |
|
2267 def OnCreatePouFromMenu(self, event): |
|
2268 selected = self.TypesTree.GetSelection() |
|
2269 if self.TypesTree.GetPyData(selected) == ITEM_POU: |
|
2270 dialog = PouNameDialog(self, _("Please enter POU name"), _("Create a new POU from"), "", wx.OK|wx.CANCEL) |
|
2271 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
|
2272 if dialog.ShowModal() == wx.ID_OK: |
|
2273 self.Controler.ProjectCreatePouFrom(dialog.GetValue(), self.TypesTree.GetItemText(selected)) |
|
2274 self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) |
|
2275 |
2278 |
2276 def OnCopyPou(self, event): |
2279 def OnCopyPou(self, event): |
2277 selected = self.TypesTree.GetSelection() |
2280 selected = self.TypesTree.GetSelection() |
2278 pou_name = self.TypesTree.GetItemText(selected) |
2281 pou_name = self.TypesTree.GetItemText(selected) |
2279 |
2282 |
2733 wx.Panel.__init__(self, id=ID_SCALINGPANEL, |
2736 wx.Panel.__init__(self, id=ID_SCALINGPANEL, |
2734 name='ScalingPanel', parent=prnt, pos=wx.Point(0, 0), |
2737 name='ScalingPanel', parent=prnt, pos=wx.Point(0, 0), |
2735 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
2738 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
2736 |
2739 |
2737 self.staticText1 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT1, |
2740 self.staticText1 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT1, |
2738 label=_('X Scale:'), name='staticText1', parent=self, |
2741 label=_('Horizontal:'), name='staticText1', parent=self, |
2739 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
2742 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
2740 |
2743 |
2741 self.XScale = wx.SpinCtrl(id=ID_SCALINGPANELXSCALE, |
2744 self.XScale = wx.SpinCtrl(id=ID_SCALINGPANELXSCALE, |
2742 name='XScale', parent=self, pos=wx.Point(0, 0), |
2745 name='XScale', parent=self, pos=wx.Point(0, 0), |
2743 size=wx.Size(0, 24), style=0, min=0, max=2**16) |
2746 size=wx.Size(0, 24), style=0, min=0, max=2**16) |
2744 |
2747 |
2745 self.staticText2 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT2, |
2748 self.staticText2 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT2, |
2746 label=_('Y Scale:'), name='staticText2', parent=self, |
2749 label=_('Vertical:'), name='staticText2', parent=self, |
2747 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
2750 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
2748 |
2751 |
2749 self.YScale = wx.SpinCtrl(id=ID_SCALINGPANELYSCALE, |
2752 self.YScale = wx.SpinCtrl(id=ID_SCALINGPANELYSCALE, |
2750 name='YScale', parent=self, pos=wx.Point(0, 0), |
2753 name='YScale', parent=self, pos=wx.Point(0, 0), |
2751 size=wx.Size(0, 24), style=0, min=0, max=2**16) |
2754 size=wx.Size(0, 24), style=0, min=0, max=2**16) |