354 def _init_coll_FileMenu_Items(self, parent): |
354 def _init_coll_FileMenu_Items(self, parent): |
355 pass |
355 pass |
356 |
356 |
357 def _init_coll_AddMenu_Items(self, parent, add_config=True): |
357 def _init_coll_AddMenu_Items(self, parent, add_config=True): |
358 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDDATATYPE, |
358 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDDATATYPE, |
359 kind=wx.ITEM_NORMAL, text=_(u'&Data Type')) |
359 kind=wx.ITEM_NORMAL, text=_(u'&Data Type')) |
360 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDFUNCTION, |
360 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDFUNCTION, |
361 kind=wx.ITEM_NORMAL, text=_(u'&Function')) |
361 kind=wx.ITEM_NORMAL, text=_(u'&Function')) |
362 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDFUNCTIONBLOCK, |
362 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDFUNCTIONBLOCK, |
363 kind=wx.ITEM_NORMAL, text=_(u'Function &Block')) |
363 kind=wx.ITEM_NORMAL, text=_(u'Function &Block')) |
364 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDPROGRAM, |
364 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDPROGRAM, |
365 kind=wx.ITEM_NORMAL, text=_(u'&Program')) |
365 kind=wx.ITEM_NORMAL, text=_(u'&Program')) |
366 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDRESOURCE, |
366 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDRESOURCE, |
367 kind=wx.ITEM_NORMAL, text=_(u'&Resource')) |
367 kind=wx.ITEM_NORMAL, text=_(u'&Resource')) |
368 if add_config: |
368 if add_config: |
369 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDCONFIGURATION, |
369 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUADDCONFIGURATION, |
370 kind=wx.ITEM_NORMAL, text=_(u'&Configuration')) |
370 kind=wx.ITEM_NORMAL, text=_(u'&Configuration')) |
371 |
371 |
372 def _init_coll_EditMenu_Items(self, parent): |
372 def _init_coll_EditMenu_Items(self, parent): |
373 AppendMenu(parent, help='', id=wx.ID_UNDO, |
373 AppendMenu(parent, help='', id=wx.ID_UNDO, |
374 kind=wx.ITEM_NORMAL, text=_(u'Undo') + '\tCTRL+Z') |
374 kind=wx.ITEM_NORMAL, text=_(u'Undo') + '\tCTRL+Z') |
375 AppendMenu(parent, help='', id=wx.ID_REDO, |
375 AppendMenu(parent, help='', id=wx.ID_REDO, |
376 kind=wx.ITEM_NORMAL, text=_(u'Redo') + '\tCTRL+Y') |
376 kind=wx.ITEM_NORMAL, text=_(u'Redo') + '\tCTRL+Y') |
377 #AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUENABLEUNDOREDO, |
377 #AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUENABLEUNDOREDO, |
378 # kind=wx.ITEM_CHECK, text=_(u'Enable Undo/Redo')) |
378 # kind=wx.ITEM_CHECK, text=_(u'Enable Undo/Redo')) |
379 enable_undo_redo = _(u'Enable Undo/Redo') # Keeping text in translations for possible menu reactivation |
379 enable_undo_redo = _(u'Enable Undo/Redo') # Keeping text in translations for possible menu reactivation |
380 parent.AppendSeparator() |
380 parent.AppendSeparator() |
381 AppendMenu(parent, help='', id=wx.ID_CUT, |
381 AppendMenu(parent, help='', id=wx.ID_CUT, |
382 kind=wx.ITEM_NORMAL, text=_(u'Cut') + '\tCTRL+X') |
382 kind=wx.ITEM_NORMAL, text=_(u'Cut') + '\tCTRL+X') |
383 AppendMenu(parent, help='', id=wx.ID_COPY, |
383 AppendMenu(parent, help='', id=wx.ID_COPY, |
384 kind=wx.ITEM_NORMAL, text=_(u'Copy') + '\tCTRL+C') |
384 kind=wx.ITEM_NORMAL, text=_(u'Copy') + '\tCTRL+C') |
385 AppendMenu(parent, help='', id=wx.ID_PASTE, |
385 AppendMenu(parent, help='', id=wx.ID_PASTE, |
386 kind=wx.ITEM_NORMAL, text=_(u'Paste') + '\tCTRL+V') |
386 kind=wx.ITEM_NORMAL, text=_(u'Paste') + '\tCTRL+V') |
387 parent.AppendSeparator() |
387 parent.AppendSeparator() |
388 AppendMenu(parent, help='', id=wx.ID_FIND, |
388 AppendMenu(parent, help='', id=wx.ID_FIND, |
389 kind=wx.ITEM_NORMAL, text=_(u'Find') + '\tCTRL+F') |
389 kind=wx.ITEM_NORMAL, text=_(u'Find') + '\tCTRL+F') |
390 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUFINDNEXT, |
390 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUFINDNEXT, |
391 kind=wx.ITEM_NORMAL, text=_(u'Find Next') + '\tCTRL+K') |
391 kind=wx.ITEM_NORMAL, text=_(u'Find Next') + '\tCTRL+K') |
392 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUFINDPREVIOUS, |
392 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUFINDPREVIOUS, |
393 kind=wx.ITEM_NORMAL, text=_(u'Find Previous') + '\tCTRL+SHIFT+K') |
393 kind=wx.ITEM_NORMAL, text=_(u'Find Previous') + '\tCTRL+SHIFT+K') |
394 parent.AppendSeparator() |
394 parent.AppendSeparator() |
395 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT, |
395 AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT, |
396 kind=wx.ITEM_NORMAL, text=_(u'Search in Project') + '\tCTRL+SHIFT+F') |
396 kind=wx.ITEM_NORMAL, text=_(u'Search in Project') + '\tCTRL+SHIFT+F') |
397 parent.AppendSeparator() |
397 parent.AppendSeparator() |
398 add_menu = wx.Menu(title='') |
398 add_menu = wx.Menu(title='') |
399 self._init_coll_AddMenu_Items(add_menu) |
399 self._init_coll_AddMenu_Items(add_menu) |
400 parent.AppendMenu(wx.ID_ADD, _(u"&Add Element"), add_menu) |
400 parent.AppendMenu(wx.ID_ADD, _(u"&Add Element"), add_menu) |
401 AppendMenu(parent, help='', id=wx.ID_SELECTALL, |
401 AppendMenu(parent, help='', id=wx.ID_SELECTALL, |
402 kind=wx.ITEM_NORMAL, text=_(u'Select All') + '\tCTRL+A') |
402 kind=wx.ITEM_NORMAL, text=_(u'Select All') + '\tCTRL+A') |
403 AppendMenu(parent, help='', id=wx.ID_DELETE, |
403 AppendMenu(parent, help='', id=wx.ID_DELETE, |
404 kind=wx.ITEM_NORMAL, text=_(u'&Delete')) |
404 kind=wx.ITEM_NORMAL, text=_(u'&Delete')) |
405 self.Bind(wx.EVT_MENU, self.OnUndoMenu, id=wx.ID_UNDO) |
405 self.Bind(wx.EVT_MENU, self.OnUndoMenu, id=wx.ID_UNDO) |
406 self.Bind(wx.EVT_MENU, self.OnRedoMenu, id=wx.ID_REDO) |
406 self.Bind(wx.EVT_MENU, self.OnRedoMenu, id=wx.ID_REDO) |
407 #self.Bind(wx.EVT_MENU, self.OnEnableUndoRedoMenu, id=ID_PLCOPENEDITOREDITMENUENABLEUNDOREDO) |
407 #self.Bind(wx.EVT_MENU, self.OnEnableUndoRedoMenu, id=ID_PLCOPENEDITOREDITMENUENABLEUNDOREDO) |
408 self.Bind(wx.EVT_MENU, self.OnCutMenu, id=wx.ID_CUT) |
408 self.Bind(wx.EVT_MENU, self.OnCutMenu, id=wx.ID_CUT) |
409 self.Bind(wx.EVT_MENU, self.OnCopyMenu, id=wx.ID_COPY) |
409 self.Bind(wx.EVT_MENU, self.OnCopyMenu, id=wx.ID_COPY) |
410 self.Bind(wx.EVT_MENU, self.OnPasteMenu, id=wx.ID_PASTE) |
410 self.Bind(wx.EVT_MENU, self.OnPasteMenu, id=wx.ID_PASTE) |
411 self.Bind(wx.EVT_MENU, self.OnFindMenu, id=wx.ID_FIND) |
411 self.Bind(wx.EVT_MENU, self.OnFindMenu, id=wx.ID_FIND) |
412 self.Bind(wx.EVT_MENU, self.OnFindNextMenu, |
412 self.Bind(wx.EVT_MENU, self.OnFindNextMenu, |
413 id=ID_PLCOPENEDITOREDITMENUFINDNEXT) |
413 id=ID_PLCOPENEDITOREDITMENUFINDNEXT) |
414 self.Bind(wx.EVT_MENU, self.OnFindPreviousMenu, |
414 self.Bind(wx.EVT_MENU, self.OnFindPreviousMenu, |
415 id=ID_PLCOPENEDITOREDITMENUFINDPREVIOUS) |
415 id=ID_PLCOPENEDITOREDITMENUFINDPREVIOUS) |
416 self.Bind(wx.EVT_MENU, self.OnSearchInProjectMenu, |
416 self.Bind(wx.EVT_MENU, self.OnSearchInProjectMenu, |
417 id=ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT) |
417 id=ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT) |
418 self.Bind(wx.EVT_MENU, self.OnSearchInProjectMenu, |
418 self.Bind(wx.EVT_MENU, self.OnSearchInProjectMenu, |
419 id=ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT) |
419 id=ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT) |
420 self.Bind(wx.EVT_MENU, self.OnAddDataTypeMenu, |
420 self.Bind(wx.EVT_MENU, self.OnAddDataTypeMenu, |
421 id=ID_PLCOPENEDITOREDITMENUADDDATATYPE) |
421 id=ID_PLCOPENEDITOREDITMENUADDDATATYPE) |
422 self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction("function"), |
422 self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction("function"), |
423 id=ID_PLCOPENEDITOREDITMENUADDFUNCTION) |
423 id=ID_PLCOPENEDITOREDITMENUADDFUNCTION) |
424 self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction("functionBlock"), |
424 self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction("functionBlock"), |
425 id=ID_PLCOPENEDITOREDITMENUADDFUNCTIONBLOCK) |
425 id=ID_PLCOPENEDITOREDITMENUADDFUNCTIONBLOCK) |
426 self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction("program"), |
426 self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction("program"), |
427 id=ID_PLCOPENEDITOREDITMENUADDPROGRAM) |
427 id=ID_PLCOPENEDITOREDITMENUADDPROGRAM) |
428 self.Bind(wx.EVT_MENU, self.AddResourceMenu, |
428 self.Bind(wx.EVT_MENU, self.AddResourceMenu, |
429 id=ID_PLCOPENEDITOREDITMENUADDRESOURCE) |
429 id=ID_PLCOPENEDITOREDITMENUADDRESOURCE) |
430 self.Bind(wx.EVT_MENU, self.OnAddConfigurationMenu, |
430 self.Bind(wx.EVT_MENU, self.OnAddConfigurationMenu, |
431 id=ID_PLCOPENEDITOREDITMENUADDCONFIGURATION) |
431 id=ID_PLCOPENEDITOREDITMENUADDCONFIGURATION) |
432 self.Bind(wx.EVT_MENU, self.OnSelectAllMenu, id=wx.ID_SELECTALL) |
432 self.Bind(wx.EVT_MENU, self.OnSelectAllMenu, id=wx.ID_SELECTALL) |
433 self.Bind(wx.EVT_MENU, self.OnDeleteMenu, id=wx.ID_DELETE) |
433 self.Bind(wx.EVT_MENU, self.OnDeleteMenu, id=wx.ID_DELETE) |
434 |
434 |
435 self.AddToMenuToolBar([(wx.ID_UNDO, "undo", _(u'Undo'), None), |
435 self.AddToMenuToolBar([(wx.ID_UNDO, "undo", _(u'Undo'), None), |
436 (wx.ID_REDO, "redo", _(u'Redo'), None), |
436 (wx.ID_REDO, "redo", _(u'Redo'), None), |
441 None, |
441 None, |
442 (ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT, "find", _(u'Search in Project'), None)]) |
442 (ID_PLCOPENEDITOREDITMENUSEARCHINPROJECT, "find", _(u'Search in Project'), None)]) |
443 |
443 |
444 def _init_coll_DisplayMenu_Items(self, parent): |
444 def _init_coll_DisplayMenu_Items(self, parent): |
445 AppendMenu(parent, help='', id=wx.ID_REFRESH, |
445 AppendMenu(parent, help='', id=wx.ID_REFRESH, |
446 kind=wx.ITEM_NORMAL, text=_(u'Refresh') + '\tCTRL+R') |
446 kind=wx.ITEM_NORMAL, text=_(u'Refresh') + '\tCTRL+R') |
447 if self.EnableDebug: |
447 if self.EnableDebug: |
448 AppendMenu(parent, help='', id=wx.ID_CLEAR, |
448 AppendMenu(parent, help='', id=wx.ID_CLEAR, |
449 kind=wx.ITEM_NORMAL, text=_(u'Clear Errors') + '\tCTRL+K') |
449 kind=wx.ITEM_NORMAL, text=_(u'Clear Errors') + '\tCTRL+K') |
450 parent.AppendSeparator() |
450 parent.AppendSeparator() |
451 zoommenu = wx.Menu(title='') |
451 zoommenu = wx.Menu(title='') |
452 parent.AppendMenu(wx.ID_ZOOM_FIT, _("Zoom"), zoommenu) |
452 parent.AppendMenu(wx.ID_ZOOM_FIT, _("Zoom"), zoommenu) |
453 for idx, value in enumerate(ZOOM_FACTORS): |
453 for idx, value in enumerate(ZOOM_FACTORS): |
454 new_id = wx.NewId() |
454 new_id = wx.NewId() |
455 AppendMenu(zoommenu, help='', id=new_id, |
455 AppendMenu(zoommenu, help='', id=new_id, |
456 kind=wx.ITEM_RADIO, text=str(int(round(value * 100))) + "%") |
456 kind=wx.ITEM_RADIO, text=str(int(round(value * 100))) + "%") |
457 self.Bind(wx.EVT_MENU, self.GenerateZoomFunction(idx), id=new_id) |
457 self.Bind(wx.EVT_MENU, self.GenerateZoomFunction(idx), id=new_id) |
458 |
458 |
459 parent.AppendSeparator() |
459 parent.AppendSeparator() |
460 AppendMenu(parent, help='', id=ID_PLCOPENEDITORDISPLAYMENUSWITCHPERSPECTIVE, |
460 AppendMenu(parent, help='', id=ID_PLCOPENEDITORDISPLAYMENUSWITCHPERSPECTIVE, |
461 kind=wx.ITEM_NORMAL, text=_(u'Switch perspective') + '\tF12') |
461 kind=wx.ITEM_NORMAL, text=_(u'Switch perspective') + '\tF12') |
462 self.Bind(wx.EVT_MENU, self.SwitchFullScrMode, id=ID_PLCOPENEDITORDISPLAYMENUSWITCHPERSPECTIVE) |
462 self.Bind(wx.EVT_MENU, self.SwitchFullScrMode, id=ID_PLCOPENEDITORDISPLAYMENUSWITCHPERSPECTIVE) |
463 |
463 |
464 AppendMenu(parent, help='', id=ID_PLCOPENEDITORDISPLAYMENURESETPERSPECTIVE, |
464 AppendMenu(parent, help='', id=ID_PLCOPENEDITORDISPLAYMENURESETPERSPECTIVE, |
465 kind=wx.ITEM_NORMAL, text=_(u'Reset Perspective')) |
465 kind=wx.ITEM_NORMAL, text=_(u'Reset Perspective')) |
466 self.Bind(wx.EVT_MENU, self.OnResetPerspective, id=ID_PLCOPENEDITORDISPLAYMENURESETPERSPECTIVE) |
466 self.Bind(wx.EVT_MENU, self.OnResetPerspective, id=ID_PLCOPENEDITORDISPLAYMENURESETPERSPECTIVE) |
467 |
467 |
468 self.Bind(wx.EVT_MENU, self.OnRefreshMenu, id=wx.ID_REFRESH) |
468 self.Bind(wx.EVT_MENU, self.OnRefreshMenu, id=wx.ID_REFRESH) |
469 if self.EnableDebug: |
469 if self.EnableDebug: |
470 self.Bind(wx.EVT_MENU, self.OnClearErrorsMenu, id=wx.ID_CLEAR) |
470 self.Bind(wx.EVT_MENU, self.OnClearErrorsMenu, id=wx.ID_CLEAR) |
509 |
509 |
510 self.AUIManager = wx.aui.AuiManager(self) |
510 self.AUIManager = wx.aui.AuiManager(self) |
511 self.AUIManager.SetDockSizeConstraint(0.5, 0.5) |
511 self.AUIManager.SetDockSizeConstraint(0.5, 0.5) |
512 self.Panes = {} |
512 self.Panes = {} |
513 |
513 |
514 self.LeftNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORLEFTNOTEBOOK, |
514 self.LeftNoteBook = wx.aui.AuiNotebook( |
515 style=wx.aui.AUI_NB_TOP | wx.aui.AUI_NB_TAB_SPLIT | wx.aui.AUI_NB_TAB_MOVE | |
515 self, ID_PLCOPENEDITORLEFTNOTEBOOK, |
516 wx.aui.AUI_NB_SCROLL_BUTTONS | wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
516 style=(wx.aui.AUI_NB_TOP | |
|
517 wx.aui.AUI_NB_TAB_SPLIT | |
|
518 wx.aui.AUI_NB_TAB_MOVE | |
|
519 wx.aui.AUI_NB_SCROLL_BUTTONS | |
|
520 wx.aui.AUI_NB_TAB_EXTERNAL_MOVE)) |
517 self.LeftNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
521 self.LeftNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
518 self.OnAllowNotebookDnD) |
522 self.OnAllowNotebookDnD) |
519 self.AUIManager.AddPane(self.LeftNoteBook, |
523 self.AUIManager.AddPane( |
520 wx.aui.AuiPaneInfo().Name("ProjectPane"). |
524 self.LeftNoteBook, |
521 Left().Layer(1). |
525 wx.aui.AuiPaneInfo().Name("ProjectPane").Left().Layer(1). |
522 BestSize(wx.Size(300, 500)).CloseButton(False)) |
526 BestSize(wx.Size(300, 500)).CloseButton(False)) |
523 |
527 |
524 self.BottomNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORBOTTOMNOTEBOOK, |
528 self.BottomNoteBook = wx.aui.AuiNotebook( |
525 style=wx.aui.AUI_NB_TOP | wx.aui.AUI_NB_TAB_SPLIT | wx.aui.AUI_NB_TAB_MOVE | |
529 self, ID_PLCOPENEDITORBOTTOMNOTEBOOK, |
526 wx.aui.AUI_NB_SCROLL_BUTTONS | wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
530 style=(wx.aui.AUI_NB_TOP | |
|
531 wx.aui.AUI_NB_TAB_SPLIT | |
|
532 wx.aui.AUI_NB_TAB_MOVE | |
|
533 wx.aui.AUI_NB_SCROLL_BUTTONS | |
|
534 wx.aui.AUI_NB_TAB_EXTERNAL_MOVE)) |
527 self.BottomNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
535 self.BottomNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
528 self.OnAllowNotebookDnD) |
536 self.OnAllowNotebookDnD) |
529 self.AUIManager.AddPane(self.BottomNoteBook, |
537 self.AUIManager.AddPane( |
530 wx.aui.AuiPaneInfo().Name("ResultPane"). |
538 self.BottomNoteBook, |
531 Bottom().Layer(0). |
539 wx.aui.AuiPaneInfo().Name("ResultPane").Bottom().Layer(0). |
532 BestSize(wx.Size(800, 300)).CloseButton(False)) |
540 BestSize(wx.Size(800, 300)).CloseButton(False)) |
533 |
541 |
534 self.RightNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORRIGHTNOTEBOOK, |
542 self.RightNoteBook = wx.aui.AuiNotebook( |
535 style=wx.aui.AUI_NB_TOP | wx.aui.AUI_NB_TAB_SPLIT | wx.aui.AUI_NB_TAB_MOVE | |
543 self, ID_PLCOPENEDITORRIGHTNOTEBOOK, |
536 wx.aui.AUI_NB_SCROLL_BUTTONS | wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
544 style=(wx.aui.AUI_NB_TOP | |
|
545 wx.aui.AUI_NB_TAB_SPLIT | |
|
546 wx.aui.AUI_NB_TAB_MOVE | |
|
547 wx.aui.AUI_NB_SCROLL_BUTTONS | |
|
548 wx.aui.AUI_NB_TAB_EXTERNAL_MOVE)) |
537 self.RightNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
549 self.RightNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
538 self.OnAllowNotebookDnD) |
550 self.OnAllowNotebookDnD) |
539 self.AUIManager.AddPane(self.RightNoteBook, |
551 self.AUIManager.AddPane( |
540 wx.aui.AuiPaneInfo().Name("LibraryPane"). |
552 self.RightNoteBook, |
541 Right().Layer(0). |
553 wx.aui.AuiPaneInfo().Name("LibraryPane").Right().Layer(0). |
542 BestSize(wx.Size(250, 400)).CloseButton(False)) |
554 BestSize(wx.Size(250, 400)).CloseButton(False)) |
543 |
555 |
544 self.TabsOpened = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORTABSOPENED, |
556 self.TabsOpened = wx.aui.AuiNotebook( |
545 style=wx.aui.AUI_NB_DEFAULT_STYLE | wx.aui.AUI_NB_WINDOWLIST_BUTTON) |
557 self, ID_PLCOPENEDITORTABSOPENED, |
|
558 style=(wx.aui.AUI_NB_DEFAULT_STYLE | |
|
559 wx.aui.AUI_NB_WINDOWLIST_BUTTON)) |
546 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGING, |
560 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGING, |
547 self.OnPouSelectedChanging) |
561 self.OnPouSelectedChanging) |
548 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, |
562 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, |
549 self.OnPouSelectedChanged) |
563 self.OnPouSelectedChanged) |
550 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, |
564 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, |
551 self.OnPageClose) |
565 self.OnPageClose) |
552 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_END_DRAG, |
566 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_END_DRAG, |
553 self.OnPageDragged) |
567 self.OnPageDragged) |
554 self.AUIManager.AddPane(self.TabsOpened, |
568 self.AUIManager.AddPane(self.TabsOpened, |
555 wx.aui.AuiPaneInfo().CentrePane().Name("TabsPane")) |
569 wx.aui.AuiPaneInfo().CentrePane().Name("TabsPane")) |
556 |
570 |
557 #----------------------------------------------------------------------- |
571 #----------------------------------------------------------------------- |
558 # Creating PLCopen Project Types Tree |
572 # Creating PLCopen Project Types Tree |
559 #----------------------------------------------------------------------- |
573 #----------------------------------------------------------------------- |
560 |
574 |
561 self.MainTabs = {} |
575 self.MainTabs = {} |
562 |
576 |
563 self.ProjectPanel = wx.SplitterWindow(id=ID_PLCOPENEDITORPROJECTPANEL, |
577 self.ProjectPanel = wx.SplitterWindow( |
564 name='ProjectPanel', parent=self.LeftNoteBook, point=wx.Point(0, 0), |
578 id=ID_PLCOPENEDITORPROJECTPANEL, |
565 size=wx.Size(0, 0), style=wx.SP_3D) |
579 name='ProjectPanel', parent=self.LeftNoteBook, point=wx.Point(0, 0), |
|
580 size=wx.Size(0, 0), style=wx.SP_3D) |
566 |
581 |
567 self.ProjectTree = CustomTree(id=ID_PLCOPENEDITORPROJECTTREE, |
582 self.ProjectTree = CustomTree(id=ID_PLCOPENEDITORPROJECTTREE, |
568 name='ProjectTree', parent=self.ProjectPanel, |
583 name='ProjectTree', |
569 pos=wx.Point(0, 0), size=wx.Size(0, 0), |
584 parent=self.ProjectPanel, |
570 style=wx.SUNKEN_BORDER, |
585 pos=wx.Point(0, 0), size=wx.Size(0, 0), |
571 agwStyle=wx.TR_HAS_BUTTONS | wx.TR_SINGLE | wx.TR_EDIT_LABELS) |
586 style=wx.SUNKEN_BORDER, |
|
587 agwStyle=(wx.TR_HAS_BUTTONS | |
|
588 wx.TR_SINGLE | |
|
589 wx.TR_EDIT_LABELS)) |
572 self.ProjectTree.SetBackgroundBitmap(GetBitmap("custom_tree_background"), |
590 self.ProjectTree.SetBackgroundBitmap(GetBitmap("custom_tree_background"), |
573 wx.ALIGN_RIGHT | wx.ALIGN_BOTTOM) |
591 wx.ALIGN_RIGHT | wx.ALIGN_BOTTOM) |
574 add_menu = wx.Menu() |
592 add_menu = wx.Menu() |
575 self._init_coll_AddMenu_Items(add_menu) |
593 self._init_coll_AddMenu_Items(add_menu) |
576 self.ProjectTree.SetAddMenu(add_menu) |
594 self.ProjectTree.SetAddMenu(add_menu) |
577 self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnProjectTreeRightUp, |
595 self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnProjectTreeRightUp, |
578 id=ID_PLCOPENEDITORPROJECTTREE) |
596 id=ID_PLCOPENEDITORPROJECTTREE) |
579 self.ProjectTree.Bind(wx.EVT_LEFT_UP, self.OnProjectTreeLeftUp) |
597 self.ProjectTree.Bind(wx.EVT_LEFT_UP, self.OnProjectTreeLeftUp) |
580 self.Bind(wx.EVT_TREE_SEL_CHANGING, self.OnProjectTreeItemChanging, |
598 self.Bind(wx.EVT_TREE_SEL_CHANGING, self.OnProjectTreeItemChanging, |
581 id=ID_PLCOPENEDITORPROJECTTREE) |
599 id=ID_PLCOPENEDITORPROJECTTREE) |
582 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
600 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
583 id=ID_PLCOPENEDITORPROJECTTREE) |
601 id=ID_PLCOPENEDITORPROJECTTREE) |
584 self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnProjectTreeItemBeginEdit, |
602 self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnProjectTreeItemBeginEdit, |
585 id=ID_PLCOPENEDITORPROJECTTREE) |
603 id=ID_PLCOPENEDITORPROJECTTREE) |
586 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit, |
604 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit, |
587 id=ID_PLCOPENEDITORPROJECTTREE) |
605 id=ID_PLCOPENEDITORPROJECTTREE) |
588 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
606 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
589 id=ID_PLCOPENEDITORPROJECTTREE) |
607 id=ID_PLCOPENEDITORPROJECTTREE) |
590 self.ProjectTree.Bind(wx.EVT_MOTION, self.OnProjectTreeMotion) |
608 self.ProjectTree.Bind(wx.EVT_MOTION, self.OnProjectTreeMotion) |
591 |
609 |
592 #----------------------------------------------------------------------- |
610 #----------------------------------------------------------------------- |
593 # Creating PLCopen Project POU Instance Variables Panel |
611 # Creating PLCopen Project POU Instance Variables Panel |
594 #----------------------------------------------------------------------- |
612 #----------------------------------------------------------------------- |
602 |
620 |
603 #----------------------------------------------------------------------- |
621 #----------------------------------------------------------------------- |
604 # Creating Tool Bar |
622 # Creating Tool Bar |
605 #----------------------------------------------------------------------- |
623 #----------------------------------------------------------------------- |
606 |
624 |
607 MenuToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORMENUTOOLBAR, wx.DefaultPosition, wx.DefaultSize, |
625 MenuToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORMENUTOOLBAR, |
608 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
626 wx.DefaultPosition, wx.DefaultSize, |
|
627 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
609 MenuToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
628 MenuToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
610 MenuToolBar.Realize() |
629 MenuToolBar.Realize() |
611 self.Panes["MenuToolBar"] = MenuToolBar |
630 self.Panes["MenuToolBar"] = MenuToolBar |
612 self.AUIManager.AddPane(MenuToolBar, wx.aui.AuiPaneInfo(). |
631 self.AUIManager.AddPane(MenuToolBar, wx.aui.AuiPaneInfo(). |
613 Name("MenuToolBar").Caption(_("Menu ToolBar")). |
632 Name("MenuToolBar").Caption(_("Menu ToolBar")). |
614 ToolbarPane().Top(). |
633 ToolbarPane().Top(). |
615 LeftDockable(False).RightDockable(False)) |
634 LeftDockable(False).RightDockable(False)) |
616 |
635 |
617 EditorToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORTOOLBAR, wx.DefaultPosition, wx.DefaultSize, |
636 EditorToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORTOOLBAR, |
618 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
637 wx.DefaultPosition, wx.DefaultSize, |
|
638 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
619 EditorToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
639 EditorToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
620 EditorToolBar.AddRadioTool(ID_PLCOPENEDITOREDITORTOOLBARSELECTION, |
640 EditorToolBar.AddRadioTool(ID_PLCOPENEDITOREDITORTOOLBARSELECTION, |
621 GetBitmap("select"), wx.NullBitmap, _("Select an object")) |
641 GetBitmap("select"), |
|
642 wx.NullBitmap, |
|
643 _("Select an object")) |
622 EditorToolBar.Realize() |
644 EditorToolBar.Realize() |
623 self.Panes["EditorToolBar"] = EditorToolBar |
645 self.Panes["EditorToolBar"] = EditorToolBar |
624 self.AUIManager.AddPane(EditorToolBar, wx.aui.AuiPaneInfo(). |
646 self.AUIManager.AddPane(EditorToolBar, wx.aui.AuiPaneInfo(). |
625 Name("EditorToolBar").Caption(_("Editor ToolBar")). |
647 Name("EditorToolBar").Caption(_("Editor ToolBar")). |
626 ToolbarPane().Top().Position(1). |
648 ToolbarPane().Top().Position(1). |
627 LeftDockable(False).RightDockable(False)) |
649 LeftDockable(False).RightDockable(False)) |
628 |
650 |
629 self.Bind(wx.EVT_MENU, self.OnSelectionTool, |
651 self.Bind(wx.EVT_MENU, self.OnSelectionTool, |
630 id=ID_PLCOPENEDITOREDITORTOOLBARSELECTION) |
652 id=ID_PLCOPENEDITOREDITORTOOLBARSELECTION) |
631 |
653 |
632 #----------------------------------------------------------------------- |
654 #----------------------------------------------------------------------- |
633 # Creating Search Panel |
655 # Creating Search Panel |
634 #----------------------------------------------------------------------- |
656 #----------------------------------------------------------------------- |
635 |
657 |