1200 event.Skip() |
1200 event.Skip() |
1201 |
1201 |
1202 def OnCutMenu(self, event): |
1202 def OnCutMenu(self, event): |
1203 selected = self.TabsOpened.GetSelection() |
1203 selected = self.TabsOpened.GetSelection() |
1204 if selected != -1: |
1204 if selected != -1: |
1205 self.TabsOpened.GetPage(selected).Cut() |
1205 try: |
|
1206 self.TabsOpened.GetPage(selected).Viewer.Cut() |
|
1207 except: |
|
1208 pass |
1206 event.Skip() |
1209 event.Skip() |
1207 |
1210 |
1208 def OnCopyMenu(self, event): |
1211 def OnCopyMenu(self, event): |
1209 selected = self.TabsOpened.GetSelection() |
1212 selected = self.TabsOpened.GetSelection() |
1210 if selected != -1: |
1213 if selected != -1: |
1211 self.TabsOpened.GetPage(selected).Copy() |
1214 try: |
|
1215 self.TabsOpened.GetPage(selected).Viewer.Copy() |
|
1216 except: |
|
1217 pass |
1212 event.Skip() |
1218 event.Skip() |
1213 |
1219 |
1214 def OnPasteMenu(self, event): |
1220 def OnPasteMenu(self, event): |
1215 selected = self.TabsOpened.GetSelection() |
1221 selected = self.TabsOpened.GetSelection() |
1216 if selected != -1: |
1222 if selected != -1: |
1217 self.TabsOpened.GetPage(selected).Paste() |
1223 try: |
|
1224 self.TabsOpened.GetPage(selected).Viewer.Paste() |
|
1225 except: |
|
1226 pass |
1218 event.Skip() |
1227 event.Skip() |
1219 |
1228 |
1220 def OnAddPouMenu(self, event): |
1229 def OnAddPouMenu(self, event): |
1221 dialog = PouDialog(self) |
1230 dialog = PouDialog(self) |
1222 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1231 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1965 for col in range(self.GetNumberCols()): |
1974 for col in range(self.GetNumberCols()): |
1966 editor = None |
1975 editor = None |
1967 renderer = None |
1976 renderer = None |
1968 colname = self.GetColLabelValue(col) |
1977 colname = self.GetColLabelValue(col) |
1969 grid.SetReadOnly(row, col, False) |
1978 grid.SetReadOnly(row, col, False) |
1970 if col == 0: |
1979 if colname == "Drag": |
1971 grid.SetReadOnly(row, col, True) |
1980 grid.SetReadOnly(row, col, True) |
1972 elif colname == "Name": |
1981 elif colname == "Name": |
1973 if self.Parent.PouIsUsed and self.GetValueByName(row, "Class") in ["Input", "Output", "InOut"]: |
1982 if self.Parent.PouIsUsed and self.GetValueByName(row, "Class") in ["Input", "Output", "InOut"]: |
1974 grid.SetReadOnly(row, col, True) |
1983 grid.SetReadOnly(row, col, True) |
1975 else: |
1984 else: |
2075 |
2084 |
2076 def _init_coll_ChoicePanelSizer_Items(self, parent): |
2085 def _init_coll_ChoicePanelSizer_Items(self, parent): |
2077 # generated method, don't edit |
2086 # generated method, don't edit |
2078 |
2087 |
2079 parent.AddWindow(self.staticText1, 0, border=0, flag=wxALIGN_BOTTOM) |
2088 parent.AddWindow(self.staticText1, 0, border=0, flag=wxALIGN_BOTTOM) |
|
2089 parent.AddWindow(self.staticText2, 0, border=0, flag=wxALIGN_BOTTOM) |
2080 parent.AddWindow(self.ReturnType, 0, border=0, flag=0) |
2090 parent.AddWindow(self.ReturnType, 0, border=0, flag=0) |
2081 parent.AddWindow(self.staticText2, 0, border=0, flag=wxALIGN_BOTTOM) |
|
2082 parent.AddWindow(self.ClassFilter, 0, border=0, flag=0) |
2091 parent.AddWindow(self.ClassFilter, 0, border=0, flag=0) |
2083 |
2092 |
2084 def _init_coll_ButtonPanelSizer_Items(self, parent): |
2093 def _init_coll_ButtonPanelSizer_Items(self, parent): |
2085 # generated method, don't edit |
2094 # generated method, don't edit |
2086 |
2095 |
|
2096 parent.AddWindow(self.AddButton, 0, border=0, flag=0) |
|
2097 parent.AddWindow(self.DeleteButton, 0, border=0, flag=0) |
2087 parent.AddWindow(self.UpButton, 0, border=0, flag=0) |
2098 parent.AddWindow(self.UpButton, 0, border=0, flag=0) |
2088 parent.AddWindow(self.AddButton, 0, border=0, flag=0) |
|
2089 parent.AddWindow(self.DownButton, 0, border=0, flag=0) |
2099 parent.AddWindow(self.DownButton, 0, border=0, flag=0) |
2090 parent.AddWindow(self.DeleteButton, 0, border=0, flag=0) |
2100 |
2091 |
|
2092 def _init_coll_ButtonPanelSizer_Growables(self, parent): |
2101 def _init_coll_ButtonPanelSizer_Growables(self, parent): |
2093 # generated method, don't edit |
2102 # generated method, don't edit |
2094 |
2103 |
2095 parent.AddGrowableCol(0) |
2104 parent.AddGrowableCol(0) |
2096 parent.AddGrowableCol(1) |
2105 parent.AddGrowableCol(1) |
2102 # generated method, don't edit |
2111 # generated method, don't edit |
2103 self.MainPanelSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0) |
2112 self.MainPanelSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0) |
2104 |
2113 |
2105 self.VariablePanelSizer = wx.FlexGridSizer(cols=2, hgap=10, rows=1, vgap=0) |
2114 self.VariablePanelSizer = wx.FlexGridSizer(cols=2, hgap=10, rows=1, vgap=0) |
2106 |
2115 |
2107 self.ControlPanelSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
2116 self.ControlPanelSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0) |
2108 |
2117 |
2109 self.ChoicePanelSizer = wx.GridSizer(cols=1, hgap=5, rows=4, vgap=5) |
2118 self.ChoicePanelSizer = wx.GridSizer(cols=2, hgap=5, rows=2, vgap=5) |
2110 |
2119 |
2111 self.ButtonPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=0) |
2120 self.ButtonPanelSizer = wx.FlexGridSizer(cols=4, hgap=5, rows=1, vgap=0) |
2112 |
2121 |
2113 self._init_coll_MainPanelSizer_Items(self.MainPanelSizer) |
2122 self._init_coll_MainPanelSizer_Items(self.MainPanelSizer) |
2114 self._init_coll_MainPanelSizer_Growables(self.MainPanelSizer) |
2123 self._init_coll_MainPanelSizer_Growables(self.MainPanelSizer) |
2115 self._init_coll_VariablePanelSizer_Items(self.VariablePanelSizer) |
2124 self._init_coll_VariablePanelSizer_Items(self.VariablePanelSizer) |
2116 self._init_coll_VariablePanelSizer_Growables(self.VariablePanelSizer) |
2125 self._init_coll_VariablePanelSizer_Growables(self.VariablePanelSizer) |
2152 label='Return Type:', name='staticText1', parent=self, |
2161 label='Return Type:', name='staticText1', parent=self, |
2153 pos=wx.Point(0, 0), size=wx.Size(95, 17), style=0) |
2162 pos=wx.Point(0, 0), size=wx.Size(95, 17), style=0) |
2154 |
2163 |
2155 self.ReturnType = wx.Choice(id=wxID_POUEDITORPANELRETURNTYPE, |
2164 self.ReturnType = wx.Choice(id=wxID_POUEDITORPANELRETURNTYPE, |
2156 name='ReturnType', parent=self, pos=wx.Point(0, 0), |
2165 name='ReturnType', parent=self, pos=wx.Point(0, 0), |
2157 size=wx.Size(145, 24), style=0) |
2166 size=wx.Size(95, 24), style=0) |
2158 |
2167 |
2159 self.staticText2 = wx.StaticText(id=wxID_POUEDITORPANELSTATICTEXT2, |
2168 self.staticText2 = wx.StaticText(id=wxID_POUEDITORPANELSTATICTEXT2, |
2160 label='Class Filter:', name='staticText2', parent=self, |
2169 label='Class Filter:', name='staticText2', parent=self, |
2161 pos=wx.Point(0, 0), size=wx.Size(95, 17), style=0) |
2170 pos=wx.Point(0, 0), size=wx.Size(95, 17), style=0) |
2162 |
2171 |
2163 self.ClassFilter = wx.Choice(id=wxID_POUEDITORPANELCLASSFILTER, |
2172 self.ClassFilter = wx.Choice(id=wxID_POUEDITORPANELCLASSFILTER, |
2164 name='ClassFilter', parent=self, pos=wx.Point(0, 0), |
2173 name='ClassFilter', parent=self, pos=wx.Point(0, 0), |
2165 size=wx.Size(145, 24), style=0) |
2174 size=wx.Size(95, 24), style=0) |
2166 EVT_CHOICE(self, wxID_POUEDITORPANELCLASSFILTER, self.OnClassFilter) |
2175 EVT_CHOICE(self, wxID_POUEDITORPANELCLASSFILTER, self.OnClassFilter) |
2167 |
2176 |
2168 self.VariablesGrid = wx.grid.Grid(id=wxID_POUEDITORPANELVARIABLESGRID, |
2177 self.VariablesGrid = wx.grid.Grid(id=wxID_POUEDITORPANELVARIABLESGRID, |
2169 name='VariablesGrid', parent=self, pos=wx.Point(0, 0), |
2178 name='VariablesGrid', parent=self, pos=wx.Point(0, 0), |
2170 size=wx.Size(0, 150), style=wxVSCROLL) |
2179 size=wx.Size(-1, 150), style=wxVSCROLL|wxHSCROLL) |
2171 self.VariablesGrid.SetFont(wx.Font(12, 77, wx.NORMAL, wx.NORMAL, False, |
2180 self.VariablesGrid.SetFont(wx.Font(12, 77, wx.NORMAL, wx.NORMAL, False, |
2172 'Sans')) |
2181 'Sans')) |
2173 self.VariablesGrid.SetLabelFont(wx.Font(10, 77, wx.NORMAL, wx.NORMAL, |
2182 self.VariablesGrid.SetLabelFont(wx.Font(10, 77, wx.NORMAL, wx.NORMAL, |
2174 False, 'Sans')) |
2183 False, 'Sans')) |
2175 self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnVariablesGridCellChange) |
2184 self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnVariablesGridCellChange) |
2235 self.DefaultValue = {"Name" : "", "Class" : "", "Type" : "INT", "Location" : "", "Initial Value" : "", "Retain" : "No", "Constant" : "No"} |
2244 self.DefaultValue = {"Name" : "", "Class" : "", "Type" : "INT", "Location" : "", "Initial Value" : "", "Retain" : "No", "Constant" : "No"} |
2236 else: |
2245 else: |
2237 self.DefaultTypes = {"All" : "Local", "Interface" : "Input", "Variables" : "Local"} |
2246 self.DefaultTypes = {"All" : "Local", "Interface" : "Input", "Variables" : "Local"} |
2238 self.DefaultValue = {"Name" : "", "Class" : "", "Type" : "INT", "Location" : "", "Initial Value" : "", "Retain" : "No", "Constant" : "No"} |
2247 self.DefaultValue = {"Name" : "", "Class" : "", "Type" : "INT", "Location" : "", "Initial Value" : "", "Retain" : "No", "Constant" : "No"} |
2239 if pou_type in ["config", "resource"] or pou_type == "program": |
2248 if pou_type in ["config", "resource"] or pou_type == "program": |
2240 self.Table = VariableTable(self, [], ["#", "Name", "Class", "Type", "Location", "Initial Value", "Retain", "Constant"]) |
2249 self.Table = VariableTable(self, [], ["Drag", "Name", "Class", "Type", "Location", "Initial Value", "Retain", "Constant"]) |
2241 if pou_type not in ["config", "resource"]: |
2250 if pou_type not in ["config", "resource"]: |
2242 self.FilterChoices = ["All","Interface"," Input"," Output"," InOut"," External","Variables"," Local"," Temp","Global","Access"] |
2251 self.FilterChoices = ["All","Interface"," Input"," Output"," InOut"," External","Variables"," Local"," Temp","Global","Access"] |
2243 else: |
2252 else: |
2244 self.FilterChoices = ["All","Global","Access"] |
2253 self.FilterChoices = ["All","Global","Access"] |
2245 self.ColSizes = [40, 80, 70, 80, 80, 80, 60, 70] |
2254 self.ColSizes = [40, 80, 70, 80, 80, 80, 60, 70] |
2246 self.ColAlignements = [wxALIGN_CENTER, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_CENTER, wxALIGN_CENTER] |
2255 self.ColAlignements = [wxALIGN_CENTER, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_CENTER, wxALIGN_CENTER] |
2247 else: |
2256 else: |
2248 self.Table = VariableTable(self, [], ["#", "Name", "Class", "Type", "Initial Value", "Retain", "Constant"]) |
2257 self.Table = VariableTable(self, [], ["Drag", "Name", "Class", "Type", "Initial Value", "Retain", "Constant"]) |
2249 self.FilterChoices = ["All","Interface"," Input"," Output"," InOut"," External","Variables"," Local"," Temp"] |
2258 self.FilterChoices = ["All","Interface"," Input"," Output"," InOut"," External","Variables"," Local"," Temp"] |
2250 self.ColSizes = [40, 120, 70, 80, 120, 60, 70] |
2259 self.ColSizes = [40, 120, 70, 80, 120, 60, 70] |
2251 self.ColAlignements = [wxALIGN_CENTER, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_CENTER, wxALIGN_CENTER] |
2260 self.ColAlignements = [wxALIGN_CENTER, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_LEFT, wxALIGN_CENTER, wxALIGN_CENTER] |
2252 for choice in self.FilterChoices: |
2261 for choice in self.FilterChoices: |
2253 self.ClassFilter.Append(choice) |
2262 self.ClassFilter.Append(choice) |