65 elif len(args) == 1: |
65 elif len(args) == 1: |
66 fileOpen = args[0] |
66 fileOpen = args[0] |
67 CWD = os.path.split(__file__)[0] |
67 CWD = os.path.split(__file__)[0] |
68 |
68 |
69 [ID_PLCOPENEDITOR, ID_PLCOPENEDITORPROJECTTREE, |
69 [ID_PLCOPENEDITOR, ID_PLCOPENEDITORPROJECTTREE, |
70 ID_PLCOPENEDITORSPLITTERWINDOW1, ID_PLCOPENEDITOREDITORPANEL, |
70 ID_PLCOPENEDITORMAINSPLITTER, ID_PLCOPENEDITOREDITORPANEL, |
71 ID_PLCOPENEDITORTABSOPENED, ID_PLCOPENEDITORTOOLBAR, |
71 ID_PLCOPENEDITORTABSOPENED, ID_PLCOPENEDITORTOOLBAR, |
72 ID_PLCOPENEDITORDEFAULTTOOLBAR, ID_PLCOPENEDITORSFCTOOLBAR, |
72 ID_PLCOPENEDITORDEFAULTTOOLBAR, ID_PLCOPENEDITORSFCTOOLBAR, |
73 ID_PLCOPENEDITORFBDTOOLBAR, ID_PLCOPENEDITORLDTOOLBAR, |
73 ID_PLCOPENEDITORFBDTOOLBAR, ID_PLCOPENEDITORLDTOOLBAR, |
74 ] = [wx.NewId() for _init_ctrls in range(10)] |
74 ] = [wx.NewId() for _init_ctrls in range(10)] |
75 |
75 |
126 "FBD" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "Images/comment.png", "Create a new comment"), |
126 "FBD" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "Images/comment.png", "Create a new comment"), |
127 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "Images/variable.png", "Create a new variable"), |
127 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "Images/variable.png", "Create a new variable"), |
128 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "Images/block.png", "Create a new block"), |
128 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "Images/block.png", "Create a new block"), |
129 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "Images/connection.png", "Create a new connection"), |
129 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "Images/connection.png", "Create a new connection"), |
130 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "Images/wire.png", "Create a new wire")], |
130 (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "Images/wire.png", "Create a new wire")], |
131 "LD" : [(True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "Images/comment.png", "Create a new comment"), |
131 "LD" : [(True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "Images/comment.png", "Create a new comment"), |
132 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "Images/powerrail.png", "Create a new power rail"), |
132 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "Images/powerrail.png", "Create a new power rail"), |
133 (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARRUNG, "OnRungTool", "Images/rung.png", "Create a new rung"), |
133 (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARRUNG, "OnRungTool", "Images/rung.png", "Create a new rung"), |
134 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOIL, "OnCoilTool", "Images/coil.png", "Create a new coil"), |
134 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOIL, "OnCoilTool", "Images/coil.png", "Create a new coil"), |
135 (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "Images/contact.png", "Create a new contact"), |
135 (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "Images/contact.png", "Create a new contact"), |
136 (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBRANCH, "OnBranchTool", "Images/branch.png", "Create a new branch"), |
136 (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBRANCH, "OnBranchTool", "Images/branch.png", "Create a new branch"), |
149 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "Images/block.png", "Create a new block"), |
149 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "Images/block.png", "Create a new block"), |
150 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "Images/connection.png", "Create a new connection"), |
150 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "Images/connection.png", "Create a new connection"), |
151 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "Images/powerrail.png", "Create a new power rail"), |
151 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "Images/powerrail.png", "Create a new power rail"), |
152 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "Images/contact.png", "Create a new contact"), |
152 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "Images/contact.png", "Create a new contact"), |
153 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "Images/wire.png", "Create a new wire")], |
153 (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "Images/wire.png", "Create a new wire")], |
154 "ST" : [], |
154 "ST" : [], |
155 "IL" : [] |
155 "IL" : [] |
156 } |
156 } |
157 |
157 |
158 class PLCOpenEditor(wx.Frame): |
158 class PLCOpenEditor(wx.Frame): |
159 _custom_classes = {'wx.SashWindow' : ['Viewer']} |
159 _custom_classes = {'wx.SashWindow' : ['Viewer']} |
160 |
160 |
310 self._init_coll_HelpMenu_Items(self.HelpMenu) |
310 self._init_coll_HelpMenu_Items(self.HelpMenu) |
311 self._init_coll_SFCMenu_Items(self.SFCMenu) |
311 self._init_coll_SFCMenu_Items(self.SFCMenu) |
312 self._init_coll_ConfigMenu_Items(self.ConfigMenu) |
312 self._init_coll_ConfigMenu_Items(self.ConfigMenu) |
313 |
313 |
314 def _init_coll_MainGridSizer_Items(self, parent): |
314 def _init_coll_MainGridSizer_Items(self, parent): |
315 parent.AddWindow(self.splitterWindow1, 0, border=0, flag=wx.GROW) |
315 parent.AddWindow(self.MainSplitter, 0, border=0, flag=wx.GROW) |
316 |
316 |
317 def _init_coll_EditorGridSizer_Items(self, parent): |
317 def _init_coll_EditorGridSizer_Items(self, parent): |
318 parent.AddWindow(self.ToolBar, 0, border=0, flag=wx.GROW) |
318 parent.AddWindow(self.ToolBar, 0, border=0, flag=wx.GROW) |
319 parent.AddWindow(self.TabsOpened, 0, border=0, flag=wx.GROW) |
319 parent.AddWindow(self.TabsOpened, 0, border=0, flag=wx.GROW) |
320 |
320 |
345 self._init_utils() |
345 self._init_utils() |
346 self.SetClientSize(wx.Size(1000, 600)) |
346 self.SetClientSize(wx.Size(1000, 600)) |
347 self.SetMenuBar(self.menuBar1) |
347 self.SetMenuBar(self.menuBar1) |
348 self.Bind(wx.EVT_CLOSE, self.OnCloseFrame, id=ID_PLCOPENEDITOR) |
348 self.Bind(wx.EVT_CLOSE, self.OnCloseFrame, id=ID_PLCOPENEDITOR) |
349 |
349 |
350 self.splitterWindow1 = wx.SplitterWindow(id=ID_PLCOPENEDITORSPLITTERWINDOW1, |
350 self.MainSplitter = wx.SplitterWindow(id=ID_PLCOPENEDITORMAINSPLITTER, |
351 name='splitterWindow1', parent=self, point=wx.Point(0, 0), |
351 name='MainSplitter', parent=self, point=wx.Point(0, 0), |
352 size=wx.Size(0, 0), style=wx.SP_3D) |
352 size=wx.Size(0, 0), style=wx.SP_3D) |
353 self.splitterWindow1.SetNeedUpdating(True) |
353 self.MainSplitter.SetNeedUpdating(True) |
354 self.splitterWindow1.SetMinimumPaneSize(1) |
354 self.MainSplitter.SetMinimumPaneSize(1) |
355 |
355 |
356 self.EditorPanel = wx.Panel(id=ID_PLCOPENEDITOREDITORPANEL, |
356 self.EditorPanel = wx.Panel(id=ID_PLCOPENEDITOREDITORPANEL, |
357 name='TabPanel', parent=self.splitterWindow1, pos=wx.Point(0, 0), |
357 name='TabPanel', parent=self.MainSplitter, pos=wx.Point(0, 0), |
358 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
358 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
359 |
359 |
360 self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED, |
360 self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED, |
361 name='TabsOpened', parent=self.EditorPanel, pos=wx.Point(0, |
361 name='TabsOpened', parent=self.EditorPanel, pos=wx.Point(0, |
362 0), size=wx.Size(0, 0), style=0) |
362 0), size=wx.Size(0, 0), style=0) |
370 wx.Bitmap(os.path.join(CWD, 'Images/select.png')), wx.NullBitmap, "Select an object") |
370 wx.Bitmap(os.path.join(CWD, 'Images/select.png')), wx.NullBitmap, "Select an object") |
371 self.Bind(wx.EVT_TOOL, self.OnSelectionTool, |
371 self.Bind(wx.EVT_TOOL, self.OnSelectionTool, |
372 id=ID_PLCOPENEDITORTOOLBARSELECTION) |
372 id=ID_PLCOPENEDITORTOOLBARSELECTION) |
373 |
373 |
374 self.ProjectTree = wx.TreeCtrl(id=ID_PLCOPENEDITORPROJECTTREE, |
374 self.ProjectTree = wx.TreeCtrl(id=ID_PLCOPENEDITORPROJECTTREE, |
375 name='treeCtrl1', parent=self.splitterWindow1, pos=wx.Point(0, 0), |
375 name='treeCtrl1', parent=self.MainSplitter, pos=wx.Point(0, 0), |
376 size=wx.Size(-1, -1), |
376 size=wx.Size(-1, -1), |
377 style=wx.TR_HAS_BUTTONS|wx.TR_EDIT_LABELS|wx.TR_SINGLE|wx.SUNKEN_BORDER) |
377 style=wx.TR_HAS_BUTTONS|wx.TR_EDIT_LABELS|wx.TR_SINGLE|wx.SUNKEN_BORDER) |
378 self.ProjectTree.Bind(wx.EVT_RIGHT_UP, self.OnProjectTreeRightUp) |
378 self.ProjectTree.Bind(wx.EVT_RIGHT_UP, self.OnProjectTreeRightUp) |
379 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
379 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
380 id=ID_PLCOPENEDITORPROJECTTREE) |
380 id=ID_PLCOPENEDITORPROJECTTREE) |
384 id=ID_PLCOPENEDITORPROJECTTREE) |
384 id=ID_PLCOPENEDITORPROJECTTREE) |
385 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
385 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
386 id=ID_PLCOPENEDITORPROJECTTREE) |
386 id=ID_PLCOPENEDITORPROJECTTREE) |
387 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected, |
387 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected, |
388 id=ID_PLCOPENEDITORPROJECTTREE) |
388 id=ID_PLCOPENEDITORPROJECTTREE) |
389 self.splitterWindow1.SplitVertically(self.ProjectTree, self.EditorPanel, |
389 self.MainSplitter.SplitVertically(self.ProjectTree, self.EditorPanel, |
390 200) |
390 200) |
391 |
391 |
392 self._init_sizers() |
392 self._init_sizers() |
393 |
393 |
394 def __init__(self, parent, controler = None): |
394 def __init__(self, parent, controler = None): |