311 if not self.ModeSolo: |
313 if not self.ModeSolo: |
312 self.Bind(wx.EVT_MENU, self.OnSaveProjectMenu, id=ID_PLCOPENEDITORFILEMENUITEMS5) |
314 self.Bind(wx.EVT_MENU, self.OnSaveProjectMenu, id=ID_PLCOPENEDITORFILEMENUITEMS5) |
313 accel = wx.AcceleratorTable([wx.AcceleratorEntry(wx.ACCEL_CTRL, 83, ID_PLCOPENEDITORFILEMENUITEMS5)]) |
315 accel = wx.AcceleratorTable([wx.AcceleratorEntry(wx.ACCEL_CTRL, 83, ID_PLCOPENEDITORFILEMENUITEMS5)]) |
314 self.SetAcceleratorTable(accel) |
316 self.SetAcceleratorTable(accel) |
315 |
317 |
316 self.MainSplitter = wx.SplitterWindow(id=ID_PLCOPENEDITORMAINSPLITTER, |
318 if wx.VERSION >= (2, 8, 0): |
317 name='MainSplitter', parent=self, point=wx.Point(0, 0), |
319 self.AUIManager = wx.aui.AuiManager(self) |
318 size=wx.Size(0, 0), style=wx.SP_3D) |
320 self.Panes = {} |
319 self.MainSplitter.SetNeedUpdating(True) |
321 |
320 self.MainSplitter.SetMinimumPaneSize(1) |
322 if wx.VERSION < (2, 8, 0): |
321 |
323 self.MainSplitter = wx.SplitterWindow(id=ID_PLCOPENEDITORMAINSPLITTER, |
322 self.ProjectTree = wx.TreeCtrl(id=ID_PLCOPENEDITORPROJECTTREE, |
324 name='MainSplitter', parent=self, point=wx.Point(0, 0), |
323 name='treeCtrl1', parent=self.MainSplitter, pos=wx.Point(0, 0), |
325 size=wx.Size(0, 0), style=wx.SP_3D) |
324 size=wx.Size(-1, -1), |
326 self.MainSplitter.SetNeedUpdating(True) |
325 style=wx.TR_HAS_BUTTONS|wx.TR_EDIT_LABELS|wx.TR_SINGLE|wx.SUNKEN_BORDER) |
327 self.MainSplitter.SetMinimumPaneSize(1) |
|
328 |
|
329 self.ProjectTree = wx.TreeCtrl(id=ID_PLCOPENEDITORPROJECTTREE, |
|
330 name='treeCtrl1', parent=self.MainSplitter, pos=wx.Point(0, 0), |
|
331 size=wx.Size(-1, -1), |
|
332 style=wx.TR_HAS_BUTTONS|wx.TR_EDIT_LABELS|wx.TR_SINGLE|wx.SUNKEN_BORDER) |
|
333 else: |
|
334 self.ProjectTree = wx.TreeCtrl(id=ID_PLCOPENEDITORPROJECTTREE, |
|
335 name='treeCtrl1', parent=self, pos=wx.Point(0, 0), |
|
336 size=wx.Size(200, -1), |
|
337 style=wx.TR_HAS_BUTTONS|wx.TR_EDIT_LABELS|wx.TR_SINGLE|wx.SUNKEN_BORDER) |
|
338 self.AUIManager.AddPane(self.ProjectTree, wx.aui.AuiPaneInfo().Caption("Project Tree").CloseButton(False)) |
326 if wx.VERSION >= (2, 6, 0): |
339 if wx.VERSION >= (2, 6, 0): |
327 self.ProjectTree.Bind(wx.EVT_RIGHT_UP, self.OnProjectTreeRightUp) |
340 self.ProjectTree.Bind(wx.EVT_RIGHT_UP, self.OnProjectTreeRightUp) |
328 else: |
341 else: |
329 wx.EVT_RIGHT_UP(self.ProjectTree, self.OnProjectTreeRightUp) |
342 wx.EVT_RIGHT_UP(self.ProjectTree, self.OnProjectTreeRightUp) |
330 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
343 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
336 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
349 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
337 id=ID_PLCOPENEDITORPROJECTTREE) |
350 id=ID_PLCOPENEDITORPROJECTTREE) |
338 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected, |
351 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected, |
339 id=ID_PLCOPENEDITORPROJECTTREE) |
352 id=ID_PLCOPENEDITORPROJECTTREE) |
340 |
353 |
341 self.ToolBar = self.CreateToolBar(wx.TB_HORIZONTAL|wx.TB_FLAT|wx.NO_BORDER, |
354 if wx.VERSION < (2, 8, 0): |
342 ID_PLCOPENEDITORTOOLBAR, 'ToolBar') |
355 self.ToolBar = self.CreateToolBar(wx.TB_HORIZONTAL|wx.TB_FLAT|wx.NO_BORDER, |
343 self.ToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
356 ID_PLCOPENEDITORTOOLBAR, 'ToolBar') |
344 self.ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION, |
357 self.ToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
345 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, "Select an object") |
358 self.ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION, |
346 self.ToolBar.Realize() |
359 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, "Select an object") |
|
360 self.ToolBar.Realize() |
|
361 else: |
|
362 ToolBar = wx.ToolBar(self, ID_PLCOPENEDITORTOOLBAR, wx.DefaultPosition, wx.DefaultSize, |
|
363 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
|
364 ToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
|
365 ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION, |
|
366 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, "Select an object") |
|
367 ToolBar.Realize() |
|
368 self.Panes["ToolBar"] = ToolBar |
|
369 self.AUIManager.AddPane(ToolBar, wx.aui.AuiPaneInfo(). |
|
370 Name("ToolBar").Caption("Toolbar"). |
|
371 ToolbarPane().Top(). |
|
372 LeftDockable(False).RightDockable(False)) |
|
373 |
347 self.Bind(wx.EVT_TOOL, self.OnSelectionTool, |
374 self.Bind(wx.EVT_TOOL, self.OnSelectionTool, |
348 id=ID_PLCOPENEDITORTOOLBARSELECTION) |
375 id=ID_PLCOPENEDITORTOOLBARSELECTION) |
349 |
376 |
350 self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED, |
377 if wx.VERSION < (2, 8, 0): |
351 name='TabsOpened', parent=self.MainSplitter, pos=wx.Point(0, |
378 self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED, |
352 0), size=wx.Size(0, 0), style=0) |
379 name='TabsOpened', parent=self.MainSplitter, pos=wx.Point(0, |
|
380 0), size=wx.Size(0, 0), style=0) |
|
381 self.MainSplitter.SplitVertically(self.ProjectTree, self.TabsOpened, 200) |
|
382 else: |
|
383 self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED, |
|
384 name='TabsOpened', parent=self, pos=wx.Point(0, |
|
385 0), size=wx.Size(0, 0), style=0) |
|
386 self.AUIManager.AddPane(self.TabsOpened, wx.aui.AuiPaneInfo().Name("TabsOpened").CenterPane()) |
|
387 |
353 if wx.VERSION >= (2, 6, 0): |
388 if wx.VERSION >= (2, 6, 0): |
354 self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, |
389 self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, |
355 self.OnPouSelectedChanged, id=ID_PLCOPENEDITORTABSOPENED) |
390 self.OnPouSelectedChanged, id=ID_PLCOPENEDITORTABSOPENED) |
356 else: |
391 else: |
357 wx.EVT_NOTEBOOK_PAGE_CHANGED(self.TabsOpened, ID_PLCOPENEDITORTABSOPENED, |
392 wx.EVT_NOTEBOOK_PAGE_CHANGED(self.TabsOpened, ID_PLCOPENEDITORTABSOPENED, |
358 self.OnPouSelectedChanged) |
393 self.OnPouSelectedChanged) |
359 self.MainSplitter.SplitVertically(self.ProjectTree, self.TabsOpened, 200) |
394 |
|
395 if wx.VERSION > (2, 8, 0): |
|
396 self.AUIManager.Update(); |
360 |
397 |
361 def __init__(self, parent, controler = None, fileOpen = None): |
398 def __init__(self, parent, controler = None, fileOpen = None): |
362 self.ModeSolo = controler == None |
399 self.ModeSolo = controler == None |
363 self._init_ctrls(parent) |
400 self._init_ctrls(parent) |
364 |
401 |
619 def ResetCurrentMode(self): |
656 def ResetCurrentMode(self): |
620 selected = self.TabsOpened.GetSelection() |
657 selected = self.TabsOpened.GetSelection() |
621 if selected != -1: |
658 if selected != -1: |
622 window = self.TabsOpened.GetPage(selected) |
659 window = self.TabsOpened.GetPage(selected) |
623 window.SetMode(MODE_SELECTION) |
660 window.SetMode(MODE_SELECTION) |
624 self.ToolBar.ToggleTool(ID_PLCOPENEDITORTOOLBARSELECTION, True) |
661 if wx.VERSION < (2, 8, 0): |
|
662 self.ToolBar.ToggleTool(ID_PLCOPENEDITORTOOLBARSELECTION, True) |
|
663 else: |
|
664 self.Panes["ToolBar"].ToggleTool(ID_PLCOPENEDITORTOOLBARSELECTION, True) |
625 |
665 |
626 def ResetToolToggle(self, id): |
666 def ResetToolToggle(self, id): |
627 tool = self.ToolBar.FindById(id) |
667 if wx.VERSION < (2, 8, 0): |
|
668 tool = self.ToolBar.FindById(id) |
|
669 else: |
|
670 tool = self.Panes["ToolBar"].FindById(id) |
628 tool.SetToggle(False) |
671 tool.SetToggle(False) |
629 |
672 |
630 def OnSelectionTool(self, event): |
673 def OnSelectionTool(self, event): |
631 selected = self.TabsOpened.GetSelection() |
674 selected = self.TabsOpened.GetSelection() |
632 if selected != -1: |
675 if selected != -1: |
1087 for item in self.CurrentToolBar: |
1130 for item in self.CurrentToolBar: |
1088 if wx.VERSION >= (2, 6, 0): |
1131 if wx.VERSION >= (2, 6, 0): |
1089 self.Unbind(wx.EVT_MENU, id=item) |
1132 self.Unbind(wx.EVT_MENU, id=item) |
1090 else: |
1133 else: |
1091 self.Disconnect(id=item, eventType=wx.wxEVT_COMMAND_MENU_SELECTED) |
1134 self.Disconnect(id=item, eventType=wx.wxEVT_COMMAND_MENU_SELECTED) |
1092 self.ToolBar.DeleteTool(item) |
1135 |
|
1136 if wx.VERSION < (2, 8, 0): |
|
1137 ToolBar = self.ToolBar |
|
1138 else: |
|
1139 ToolBar = self.Panes["ToolBar"] |
|
1140 ToolBar.DeleteTool(item) |
|
1141 ToolBar.Realize() |
|
1142 if wx.VERSION >= (2, 8, 0): |
|
1143 self.AUIManager.GetPane("ToolBar").BestSize(ToolBar.GetBestSize()) |
|
1144 self.AUIManager.Update() |
1093 |
1145 |
1094 def RefreshToolBar(self): |
1146 def RefreshToolBar(self): |
1095 language = self.Controler.GetCurrentElementEditingBodyType() |
1147 language = self.Controler.GetCurrentElementEditingBodyType() |
1096 if language and language != self.CurrentLanguage: |
1148 if language and language != self.CurrentLanguage: |
1097 self.ResetToolBar() |
1149 self.ResetToolBar() |
1098 self.CurrentLanguage = language |
1150 self.CurrentLanguage = language |
1099 self.CurrentToolBar = [] |
1151 self.CurrentToolBar = [] |
|
1152 if wx.VERSION < (2, 8, 0): |
|
1153 ToolBar = self.ToolBar |
|
1154 else: |
|
1155 ToolBar = self.Panes["ToolBar"] |
1100 for radio, modes, id, method, picture, help in ToolBarItems[language]: |
1156 for radio, modes, id, method, picture, help in ToolBarItems[language]: |
1101 if modes & self.DrawingMode: |
1157 if modes & self.DrawingMode: |
1102 if radio or self.DrawingMode == FREEDRAWING_MODE: |
1158 if radio or self.DrawingMode == FREEDRAWING_MODE: |
1103 self.ToolBar.AddRadioTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), wx.NullBitmap, help) |
1159 ToolBar.AddRadioTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), wx.NullBitmap, help) |
1104 else: |
1160 else: |
1105 self.ToolBar.AddSimpleTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), help) |
1161 ToolBar.AddSimpleTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), help) |
1106 self.Bind(wx.EVT_TOOL, getattr(self, method), id=id) |
1162 self.Bind(wx.EVT_TOOL, getattr(self, method), id=id) |
1107 self.CurrentToolBar.append(id) |
1163 self.CurrentToolBar.append(id) |
1108 self.ToolBar.Realize() |
1164 ToolBar.Realize() |
|
1165 if wx.VERSION >= (2, 8, 0): |
|
1166 self.AUIManager.GetPane("ToolBar").BestSize(ToolBar.GetBestSize()) |
|
1167 self.AUIManager.Update() |
1109 elif not language: |
1168 elif not language: |
1110 self.ResetToolBar() |
1169 self.ResetToolBar() |
1111 self.CurrentLanguage = language |
1170 self.CurrentLanguage = language |
1112 self.ResetCurrentMode() |
1171 self.ResetCurrentMode() |
1113 |
1172 |