152 ID_PLCOPENEDITORTOOLBARPOWERRAIL, ID_PLCOPENEDITORTOOLBARRUNG, |
152 ID_PLCOPENEDITORTOOLBARPOWERRAIL, ID_PLCOPENEDITORTOOLBARRUNG, |
153 ID_PLCOPENEDITORTOOLBARCOIL, ID_PLCOPENEDITORTOOLBARCONTACT, |
153 ID_PLCOPENEDITORTOOLBARCOIL, ID_PLCOPENEDITORTOOLBARCONTACT, |
154 ID_PLCOPENEDITORTOOLBARBRANCH, ID_PLCOPENEDITORTOOLBARINITIALSTEP, |
154 ID_PLCOPENEDITORTOOLBARBRANCH, ID_PLCOPENEDITORTOOLBARINITIALSTEP, |
155 ID_PLCOPENEDITORTOOLBARSTEP, ID_PLCOPENEDITORTOOLBARTRANSITION, |
155 ID_PLCOPENEDITORTOOLBARSTEP, ID_PLCOPENEDITORTOOLBARTRANSITION, |
156 ID_PLCOPENEDITORTOOLBARACTIONBLOCK, ID_PLCOPENEDITORTOOLBARDIVERGENCE, |
156 ID_PLCOPENEDITORTOOLBARACTIONBLOCK, ID_PLCOPENEDITORTOOLBARDIVERGENCE, |
157 ID_PLCOPENEDITORTOOLBARJUMP, |
157 ID_PLCOPENEDITORTOOLBARJUMP, ID_PLCOPENEDITORTOOLBARMOTION, |
158 ] = [wx.NewId() for _init_coll_DefaultToolBar_Items in range(17)] |
158 ] = [wx.NewId() for _init_coll_DefaultToolBar_Items in range(18)] |
159 |
159 |
160 # Define behaviour of each Toolbar item according to current POU body type |
160 # Define behaviour of each Toolbar item according to current POU body type |
161 # Informations meaning are in this order: |
161 # Informations meaning are in this order: |
162 # - Item is toggled |
162 # - Item is toggled |
163 # - PLCOpenEditor mode where item is displayed (could be more then one) |
163 # - PLCOpenEditor mode where item is displayed (could be more then one) |
165 # - Item callback function name |
165 # - Item callback function name |
166 # - Item icon filename |
166 # - Item icon filename |
167 # - Item tooltip text |
167 # - Item tooltip text |
168 ToolBarItems = { |
168 ToolBarItems = { |
169 "FBD" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
169 "FBD" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
|
170 ID_PLCOPENEDITORTOOLBARMOTION, "OnMotionTool", |
|
171 "move.png", _("Move the view")), |
|
172 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
170 ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", |
173 ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", |
171 "add_comment.png", _("Create a new comment")), |
174 "add_comment.png", _("Create a new comment")), |
172 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
175 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
173 ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", |
176 ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", |
174 "add_variable.png", _("Create a new variable")), |
177 "add_variable.png", _("Create a new variable")), |
176 ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", |
179 ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", |
177 "add_block.png", _("Create a new block")), |
180 "add_block.png", _("Create a new block")), |
178 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
181 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
179 ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", |
182 ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", |
180 "add_connection.png", _("Create a new connection"))], |
183 "add_connection.png", _("Create a new connection"))], |
181 "LD" : [(True, FREEDRAWING_MODE, |
184 "LD" : [((True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
|
185 ID_PLCOPENEDITORTOOLBARMOTION, "OnMotionTool", |
|
186 "move.png", _("Move the view")), |
|
187 True, FREEDRAWING_MODE, |
182 ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", |
188 ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", |
183 "add_comment.png", _("Create a new comment")), |
189 "add_comment.png", _("Create a new comment")), |
184 (True, FREEDRAWING_MODE, |
190 (True, FREEDRAWING_MODE, |
185 ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", |
191 ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", |
186 "add_powerrail.png", _("Create a new power rail")), |
192 "add_powerrail.png", _("Create a new power rail")), |
203 ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", |
209 ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", |
204 "add_block.png", _("Create a new block")), |
210 "add_block.png", _("Create a new block")), |
205 (True, FREEDRAWING_MODE, |
211 (True, FREEDRAWING_MODE, |
206 ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", |
212 ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", |
207 "add_connection.png", _("Create a new connection"))], |
213 "add_connection.png", _("Create a new connection"))], |
208 "SFC" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
214 "SFC" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
|
215 ID_PLCOPENEDITORTOOLBARMOTION, "OnMotionTool", |
|
216 "move.png", _("Move the view")), |
|
217 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
209 ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", |
218 ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", |
210 "add_comment.png", _("Create a new comment")), |
219 "add_comment.png", _("Create a new comment")), |
211 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
220 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, |
212 ID_PLCOPENEDITORTOOLBARINITIALSTEP, "OnInitialStepTool", |
221 ID_PLCOPENEDITORTOOLBARINITIALSTEP, "OnInitialStepTool", |
213 "add_initial_step.png", _("Create a new initial step")), |
222 "add_initial_step.png", _("Create a new initial step")), |
593 self.ToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
602 self.ToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
594 self.ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION, |
603 self.ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION, |
595 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, _("Select an object")) |
604 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, _("Select an object")) |
596 self.ToolBar.Realize() |
605 self.ToolBar.Realize() |
597 |
606 |
598 self.Bind(wx.EVT_TOOL, self.OnSelectionTool, |
607 self.Bind(wx.EVT_TOOL, self.OnSelectionTool, |
599 id=ID_PLCOPENEDITORTOOLBARSELECTION) |
608 id=ID_PLCOPENEDITORTOOLBARSELECTION) |
600 |
609 |
601 self.VariablePanelIndexer = VariablePanelIndexer(self.BottomNoteBook, self) |
610 self.VariablePanelIndexer = VariablePanelIndexer(self.BottomNoteBook, self) |
602 self.BottomNoteBook.AddPage(self.VariablePanelIndexer, _("Variables")) |
611 self.BottomNoteBook.AddPage(self.VariablePanelIndexer, _("Variables")) |
603 |
612 |
604 self.SearchResultPanel = SearchResultPanel(self.BottomNoteBook, self) |
613 self.SearchResultPanel = SearchResultPanel(self.BottomNoteBook, self) |
2081 |
2090 |
2082 def OnSelectionTool(self, event): |
2091 def OnSelectionTool(self, event): |
2083 selected = self.TabsOpened.GetSelection() |
2092 selected = self.TabsOpened.GetSelection() |
2084 if selected != -1: |
2093 if selected != -1: |
2085 self.TabsOpened.GetPage(selected).SetMode(MODE_SELECTION) |
2094 self.TabsOpened.GetPage(selected).SetMode(MODE_SELECTION) |
2086 event.Skip() |
2095 |
|
2096 def OnMotionTool(self, event): |
|
2097 selected = self.TabsOpened.GetSelection() |
|
2098 if selected != -1: |
|
2099 self.TabsOpened.GetPage(selected).SetMode(MODE_MOTION) |
2087 |
2100 |
2088 def OnCommentTool(self, event): |
2101 def OnCommentTool(self, event): |
2089 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARCOMMENT) |
2102 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARCOMMENT) |
2090 selected = self.TabsOpened.GetSelection() |
2103 selected = self.TabsOpened.GetSelection() |
2091 if selected != -1: |
2104 if selected != -1: |
2092 self.TabsOpened.GetPage(selected).SetMode(MODE_COMMENT) |
2105 self.TabsOpened.GetPage(selected).SetMode(MODE_COMMENT) |
2093 event.Skip() |
|
2094 |
2106 |
2095 def OnVariableTool(self, event): |
2107 def OnVariableTool(self, event): |
2096 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARVARIABLE) |
2108 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARVARIABLE) |
2097 selected = self.TabsOpened.GetSelection() |
2109 selected = self.TabsOpened.GetSelection() |
2098 if selected != -1: |
2110 if selected != -1: |
2099 self.TabsOpened.GetPage(selected).SetMode(MODE_VARIABLE) |
2111 self.TabsOpened.GetPage(selected).SetMode(MODE_VARIABLE) |
2100 event.Skip() |
|
2101 |
2112 |
2102 def OnBlockTool(self, event): |
2113 def OnBlockTool(self, event): |
2103 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARBLOCK) |
2114 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARBLOCK) |
2104 selected = self.TabsOpened.GetSelection() |
2115 selected = self.TabsOpened.GetSelection() |
2105 if selected != -1: |
2116 if selected != -1: |
2106 self.TabsOpened.GetPage(selected).SetMode(MODE_BLOCK) |
2117 self.TabsOpened.GetPage(selected).SetMode(MODE_BLOCK) |
2107 event.Skip() |
|
2108 |
2118 |
2109 def OnConnectionTool(self, event): |
2119 def OnConnectionTool(self, event): |
2110 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARCONNECTION) |
2120 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARCONNECTION) |
2111 selected = self.TabsOpened.GetSelection() |
2121 selected = self.TabsOpened.GetSelection() |
2112 if selected != -1: |
2122 if selected != -1: |
2113 self.TabsOpened.GetPage(selected).SetMode(MODE_CONNECTION) |
2123 self.TabsOpened.GetPage(selected).SetMode(MODE_CONNECTION) |
2114 event.Skip() |
2124 |
2115 |
|
2116 def OnPowerRailTool(self, event): |
2125 def OnPowerRailTool(self, event): |
2117 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARPOWERRAIL) |
2126 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARPOWERRAIL) |
2118 selected = self.TabsOpened.GetSelection() |
2127 selected = self.TabsOpened.GetSelection() |
2119 if selected != -1: |
2128 if selected != -1: |
2120 self.TabsOpened.GetPage(selected).SetMode(MODE_POWERRAIL) |
2129 self.TabsOpened.GetPage(selected).SetMode(MODE_POWERRAIL) |
2121 event.Skip() |
2130 |
2122 |
|
2123 def OnRungTool(self, event): |
2131 def OnRungTool(self, event): |
2124 selected = self.TabsOpened.GetSelection() |
2132 selected = self.TabsOpened.GetSelection() |
2125 if selected != -1: |
2133 if selected != -1: |
2126 self.TabsOpened.GetPage(selected).AddLadderRung() |
2134 self.TabsOpened.GetPage(selected).AddLadderRung() |
2127 event.Skip() |
2135 event.Skip() |
2140 if selected != -1: |
2148 if selected != -1: |
2141 if self.DrawingMode == FREEDRAWING_MODE: |
2149 if self.DrawingMode == FREEDRAWING_MODE: |
2142 self.TabsOpened.GetPage(selected).SetMode(MODE_CONTACT) |
2150 self.TabsOpened.GetPage(selected).SetMode(MODE_CONTACT) |
2143 else: |
2151 else: |
2144 self.TabsOpened.GetPage(selected).AddLadderContact() |
2152 self.TabsOpened.GetPage(selected).AddLadderContact() |
2145 event.Skip() |
|
2146 |
2153 |
2147 def OnBranchTool(self, event): |
2154 def OnBranchTool(self, event): |
2148 selected = self.TabsOpened.GetSelection() |
2155 selected = self.TabsOpened.GetSelection() |
2149 if selected != -1: |
2156 if selected != -1: |
2150 self.TabsOpened.GetPage(selected).AddLadderBranch() |
2157 self.TabsOpened.GetPage(selected).AddLadderBranch() |
2151 event.Skip() |
|
2152 |
2158 |
2153 def OnInitialStepTool(self, event): |
2159 def OnInitialStepTool(self, event): |
2154 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARINITIALSTEP) |
2160 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARINITIALSTEP) |
2155 selected = self.TabsOpened.GetSelection() |
2161 selected = self.TabsOpened.GetSelection() |
2156 if selected != -1: |
2162 if selected != -1: |
2157 self.TabsOpened.GetPage(selected).SetMode(MODE_INITIALSTEP) |
2163 self.TabsOpened.GetPage(selected).SetMode(MODE_INITIALSTEP) |
2158 event.Skip() |
|
2159 |
2164 |
2160 def OnStepTool(self, event): |
2165 def OnStepTool(self, event): |
2161 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2166 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2162 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARSTEP) |
2167 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARSTEP) |
2163 selected = self.TabsOpened.GetSelection() |
2168 selected = self.TabsOpened.GetSelection() |
2164 if selected != -1: |
2169 if selected != -1: |
2165 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2170 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2166 self.TabsOpened.GetPage(selected).SetMode(MODE_STEP) |
2171 self.TabsOpened.GetPage(selected).SetMode(MODE_STEP) |
2167 else: |
2172 else: |
2168 self.TabsOpened.GetPage(selected).AddStep() |
2173 self.TabsOpened.GetPage(selected).AddStep() |
2169 event.Skip() |
2174 |
2170 |
|
2171 def OnActionBlockTool(self, event): |
2175 def OnActionBlockTool(self, event): |
2172 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2176 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2173 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARACTIONBLOCK) |
2177 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARACTIONBLOCK) |
2174 selected = self.TabsOpened.GetSelection() |
2178 selected = self.TabsOpened.GetSelection() |
2175 if selected != -1: |
2179 if selected != -1: |
2176 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2180 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2177 self.TabsOpened.GetPage(selected).SetMode(MODE_ACTION) |
2181 self.TabsOpened.GetPage(selected).SetMode(MODE_ACTION) |
2178 else: |
2182 else: |
2179 self.TabsOpened.GetPage(selected).AddStepAction() |
2183 self.TabsOpened.GetPage(selected).AddStepAction() |
2180 event.Skip() |
2184 |
2181 |
|
2182 def OnTransitionTool(self, event): |
2185 def OnTransitionTool(self, event): |
2183 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARTRANSITION) |
2186 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARTRANSITION) |
2184 selected = self.TabsOpened.GetSelection() |
2187 selected = self.TabsOpened.GetSelection() |
2185 if selected != -1: |
2188 if selected != -1: |
2186 self.TabsOpened.GetPage(selected).SetMode(MODE_TRANSITION) |
2189 self.TabsOpened.GetPage(selected).SetMode(MODE_TRANSITION) |
2187 event.Skip() |
2190 |
2188 |
|
2189 def OnDivergenceTool(self, event): |
2191 def OnDivergenceTool(self, event): |
2190 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2192 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2191 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARDIVERGENCE) |
2193 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARDIVERGENCE) |
2192 selected = self.TabsOpened.GetSelection() |
2194 selected = self.TabsOpened.GetSelection() |
2193 if selected != -1: |
2195 if selected != -1: |
2194 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2196 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2195 self.TabsOpened.GetPage(selected).SetMode(MODE_DIVERGENCE) |
2197 self.TabsOpened.GetPage(selected).SetMode(MODE_DIVERGENCE) |
2196 else: |
2198 else: |
2197 self.TabsOpened.GetPage(selected).AddDivergence() |
2199 self.TabsOpened.GetPage(selected).AddDivergence() |
2198 event.Skip() |
|
2199 |
2200 |
2200 def OnJumpTool(self, event): |
2201 def OnJumpTool(self, event): |
2201 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2202 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2202 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARJUMP) |
2203 self.ResetToolToggle(ID_PLCOPENEDITORTOOLBARJUMP) |
2203 selected = self.TabsOpened.GetSelection() |
2204 selected = self.TabsOpened.GetSelection() |
2204 if selected != -1: |
2205 if selected != -1: |
2205 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2206 if self.GetDrawingMode() == FREEDRAWING_MODE: |
2206 self.TabsOpened.GetPage(selected).SetMode(MODE_JUMP) |
2207 self.TabsOpened.GetPage(selected).SetMode(MODE_JUMP) |
2207 else: |
2208 else: |
2208 self.TabsOpened.GetPage(selected).AddJump() |
2209 self.TabsOpened.GetPage(selected).AddJump() |
2209 event.Skip() |
2210 |
2210 |
|
2211 |
2211 |
2212 #------------------------------------------------------------------------------- |
2212 #------------------------------------------------------------------------------- |
2213 # Add Project Elements Functions |
2213 # Add Project Elements Functions |
2214 #------------------------------------------------------------------------------- |
2214 #------------------------------------------------------------------------------- |
2215 |
2215 |