535 |
528 |
536 #----------------------------------------------------------------------- |
529 #----------------------------------------------------------------------- |
537 # Creating main structure |
530 # Creating main structure |
538 #----------------------------------------------------------------------- |
531 #----------------------------------------------------------------------- |
539 |
532 |
540 if USE_AUI: |
533 self.AUIManager = wx.aui.AuiManager(self) |
541 self.AUIManager = wx.aui.AuiManager(self) |
534 self.AUIManager.SetDockSizeConstraint(0.5, 0.5) |
542 self.AUIManager.SetDockSizeConstraint(0.5, 0.5) |
535 self.Panes = {} |
543 self.Panes = {} |
536 |
544 |
537 self.LeftNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORLEFTNOTEBOOK, |
545 self.LeftNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORLEFTNOTEBOOK, |
538 style=wx.aui.AUI_NB_TOP|wx.aui.AUI_NB_TAB_SPLIT|wx.aui.AUI_NB_TAB_MOVE| |
546 style=wx.aui.AUI_NB_TOP|wx.aui.AUI_NB_TAB_SPLIT|wx.aui.AUI_NB_TAB_MOVE| |
539 wx.aui.AUI_NB_SCROLL_BUTTONS|wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
547 wx.aui.AUI_NB_SCROLL_BUTTONS|wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
540 self.LeftNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
548 self.LeftNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
541 self.OnAllowNotebookDnD) |
549 self.OnAllowNotebookDnD) |
542 self.AUIManager.AddPane(self.LeftNoteBook, |
550 self.AUIManager.AddPane(self.LeftNoteBook, |
543 wx.aui.AuiPaneInfo().Name("ProjectPane"). |
551 wx.aui.AuiPaneInfo().Name("ProjectPane"). |
544 Left().Layer(1). |
552 Left().Layer(1). |
545 BestSize(wx.Size(300, 500)).CloseButton(False)) |
553 BestSize(wx.Size(300, 500)).CloseButton(False)) |
546 |
554 |
547 self.BottomNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORBOTTOMNOTEBOOK, |
555 self.BottomNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORBOTTOMNOTEBOOK, |
548 style=wx.aui.AUI_NB_TOP|wx.aui.AUI_NB_TAB_SPLIT|wx.aui.AUI_NB_TAB_MOVE| |
556 style=wx.aui.AUI_NB_TOP|wx.aui.AUI_NB_TAB_SPLIT|wx.aui.AUI_NB_TAB_MOVE| |
549 wx.aui.AUI_NB_SCROLL_BUTTONS|wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
557 wx.aui.AUI_NB_SCROLL_BUTTONS|wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
550 self.BottomNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
558 self.BottomNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
551 self.OnAllowNotebookDnD) |
559 self.OnAllowNotebookDnD) |
552 self.AUIManager.AddPane(self.BottomNoteBook, |
560 self.AUIManager.AddPane(self.BottomNoteBook, |
553 wx.aui.AuiPaneInfo().Name("ResultPane"). |
561 wx.aui.AuiPaneInfo().Name("ResultPane"). |
554 Bottom().Layer(0). |
562 Bottom().Layer(0). |
555 BestSize(wx.Size(800, 300)).CloseButton(False)) |
563 BestSize(wx.Size(800, 300)).CloseButton(False)) |
556 |
564 |
557 self.RightNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORRIGHTNOTEBOOK, |
565 self.RightNoteBook = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORRIGHTNOTEBOOK, |
558 style=wx.aui.AUI_NB_TOP|wx.aui.AUI_NB_TAB_SPLIT|wx.aui.AUI_NB_TAB_MOVE| |
566 style=wx.aui.AUI_NB_TOP|wx.aui.AUI_NB_TAB_SPLIT|wx.aui.AUI_NB_TAB_MOVE| |
559 wx.aui.AUI_NB_SCROLL_BUTTONS|wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
567 wx.aui.AUI_NB_SCROLL_BUTTONS|wx.aui.AUI_NB_TAB_EXTERNAL_MOVE) |
560 self.RightNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
568 self.RightNoteBook.Bind(wx.aui.EVT_AUINOTEBOOK_ALLOW_DND, |
561 self.OnAllowNotebookDnD) |
569 self.OnAllowNotebookDnD) |
562 self.AUIManager.AddPane(self.RightNoteBook, |
570 self.AUIManager.AddPane(self.RightNoteBook, |
563 wx.aui.AuiPaneInfo().Name("LibraryPane"). |
571 wx.aui.AuiPaneInfo().Name("LibraryPane"). |
564 Right().Layer(0). |
572 Right().Layer(0). |
565 BestSize(wx.Size(250, 400)).CloseButton(False)) |
573 BestSize(wx.Size(250, 400)).CloseButton(False)) |
566 |
574 |
567 self.TabsOpened = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORTABSOPENED, |
575 self.TabsOpened = wx.aui.AuiNotebook(self, ID_PLCOPENEDITORTABSOPENED, |
568 style=wx.aui.AUI_NB_DEFAULT_STYLE|wx.aui.AUI_NB_WINDOWLIST_BUTTON) |
576 style=wx.aui.AUI_NB_DEFAULT_STYLE|wx.aui.AUI_NB_WINDOWLIST_BUTTON) |
569 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGING, |
577 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGING, |
570 self.OnPouSelectedChanging) |
578 self.OnPouSelectedChanging) |
571 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, |
579 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, |
572 self.OnPouSelectedChanged) |
580 self.OnPouSelectedChanged) |
573 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, |
581 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, |
574 self.OnPageClose) |
582 self.OnPageClose) |
575 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_END_DRAG, |
583 self.TabsOpened.Bind(wx.aui.EVT_AUINOTEBOOK_END_DRAG, |
576 self.OnPageDragged) |
584 self.OnPageDragged) |
577 self.AUIManager.AddPane(self.TabsOpened, |
585 self.AUIManager.AddPane(self.TabsOpened, |
578 wx.aui.AuiPaneInfo().CentrePane().Name("TabsPane")) |
586 wx.aui.AuiPaneInfo().CentrePane().Name("TabsPane")) |
|
587 |
|
588 else: |
|
589 self.MainSplitter = wx.SplitterWindow(id=ID_PLCOPENEDITORMAINSPLITTER, |
|
590 name='MainSplitter', parent=self, point=wx.Point(0, 0), |
|
591 size=wx.Size(0, 0), style=wx.SP_3D) |
|
592 self.MainSplitter.SetNeedUpdating(True) |
|
593 self.MainSplitter.SetMinimumPaneSize(1) |
|
594 |
|
595 self.LeftNoteBook = wx.Notebook(id=ID_PLCOPENEDITORLEFTNOTEBOOK, |
|
596 name='LeftNoteBook', parent=self.MainSplitter, pos=wx.Point(0, |
|
597 0), size=wx.Size(0, 0), style=0) |
|
598 |
|
599 self.SecondSplitter = wx.SplitterWindow(id=ID_PLCOPENEDITORSECONDSPLITTER, |
|
600 name='SecondSplitter', parent=self.MainSplitter, point=wx.Point(0, 0), |
|
601 size=wx.Size(0, 0), style=wx.SP_3D) |
|
602 self.SecondSplitter.SetMinimumPaneSize(1) |
|
603 |
|
604 self.MainSplitter.SplitVertically(self.LeftNoteBook, self.SecondSplitter, 200) |
|
605 |
|
606 self.ThirdSplitter = wx.SplitterWindow(id=ID_PLCOPENEDITORTHIRDSPLITTER, |
|
607 name='ThirdSplitter', parent=self.SecondSplitter, point=wx.Point(0, 0), |
|
608 size=wx.Size(0, 0), style=wx.SP_3D) |
|
609 self.ThirdSplitter.SetMinimumPaneSize(1) |
|
610 |
|
611 self.BottomNoteBook = wx.Notebook(id=ID_PLCOPENEDITORBOTTOMNOTEBOOK, |
|
612 name='BottomNoteBook', parent=self.SecondSplitter, pos=wx.Point(0, |
|
613 0), size=wx.Size(0, 0), style=0) |
|
614 |
|
615 self.SecondSplitter.SplitHorizontally(self.ThirdSplitter, self.BottomNoteBook, -200) |
|
616 |
|
617 self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED, |
|
618 name='TabsOpened', parent=self.ThirdSplitter, pos=wx.Point(0, |
|
619 0), size=wx.Size(0, 0), style=0) |
|
620 self.TabsOpened.SetImageList(self.TabsImageList) |
|
621 if wx.VERSION >= (2, 6, 0): |
|
622 self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, |
|
623 self.OnPouSelectedChanging, id=ID_PLCOPENEDITORTABSOPENED) |
|
624 self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, |
|
625 self.OnPouSelectedChanged, id=ID_PLCOPENEDITORTABSOPENED) |
|
626 else: |
|
627 wx.EVT_NOTEBOOK_PAGE_CHANGING(self.TabsOpened, ID_PLCOPENEDITORTABSOPENED, |
|
628 self.OnPouSelectedChanging) |
|
629 wx.EVT_NOTEBOOK_PAGE_CHANGED(self.TabsOpened, ID_PLCOPENEDITORTABSOPENED, |
|
630 self.OnPouSelectedChanged) |
|
631 |
|
632 self.RightNoteBook = wx.Notebook(id=ID_PLCOPENEDITORRIGHTNOTEBOOK, |
|
633 name='RightNoteBook', parent=self.ThirdSplitter, pos=wx.Point(0, |
|
634 0), size=wx.Size(0, 0), style=0) |
|
635 |
|
636 self.ThirdSplitter.SplitVertically(self.TabsOpened, self.RightNoteBook, -250) |
|
637 |
579 |
638 #----------------------------------------------------------------------- |
580 #----------------------------------------------------------------------- |
639 # Creating PLCopen Project Types Tree |
581 # Creating PLCopen Project Types Tree |
640 #----------------------------------------------------------------------- |
582 #----------------------------------------------------------------------- |
641 |
583 |
690 |
632 |
691 #----------------------------------------------------------------------- |
633 #----------------------------------------------------------------------- |
692 # Creating Tool Bar |
634 # Creating Tool Bar |
693 #----------------------------------------------------------------------- |
635 #----------------------------------------------------------------------- |
694 |
636 |
695 if USE_AUI: |
637 MenuToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORMENUTOOLBAR, wx.DefaultPosition, wx.DefaultSize, |
696 MenuToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORMENUTOOLBAR, wx.DefaultPosition, wx.DefaultSize, |
638 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
697 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
639 MenuToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
698 MenuToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
640 MenuToolBar.Realize() |
699 MenuToolBar.Realize() |
641 self.Panes["MenuToolBar"] = MenuToolBar |
700 self.Panes["MenuToolBar"] = MenuToolBar |
642 self.AUIManager.AddPane(MenuToolBar, wx.aui.AuiPaneInfo(). |
701 self.AUIManager.AddPane(MenuToolBar, wx.aui.AuiPaneInfo(). |
643 Name("MenuToolBar").Caption(_("Menu ToolBar")). |
702 Name("MenuToolBar").Caption(_("Menu ToolBar")). |
644 ToolbarPane().Top(). |
703 ToolbarPane().Top(). |
645 LeftDockable(False).RightDockable(False)) |
704 LeftDockable(False).RightDockable(False)) |
646 |
705 |
647 EditorToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORTOOLBAR, wx.DefaultPosition, wx.DefaultSize, |
706 EditorToolBar = wx.ToolBar(self, ID_PLCOPENEDITOREDITORTOOLBAR, wx.DefaultPosition, wx.DefaultSize, |
648 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
707 wx.TB_FLAT | wx.TB_NODIVIDER | wx.NO_BORDER) |
649 EditorToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
708 EditorToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
650 EditorToolBar.AddRadioTool(ID_PLCOPENEDITOREDITORTOOLBARSELECTION, |
709 EditorToolBar.AddRadioTool(ID_PLCOPENEDITOREDITORTOOLBARSELECTION, |
651 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, _("Select an object")) |
710 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, _("Select an object")) |
652 EditorToolBar.Realize() |
711 EditorToolBar.Realize() |
653 self.Panes["EditorToolBar"] = EditorToolBar |
712 self.Panes["EditorToolBar"] = EditorToolBar |
654 self.AUIManager.AddPane(EditorToolBar, wx.aui.AuiPaneInfo(). |
713 self.AUIManager.AddPane(EditorToolBar, wx.aui.AuiPaneInfo(). |
655 Name("EditorToolBar").Caption(_("Editor ToolBar")). |
714 Name("EditorToolBar").Caption(_("Editor ToolBar")). |
656 ToolbarPane().Top().Position(1). |
715 ToolbarPane().Top().Position(1). |
657 LeftDockable(False).RightDockable(False)) |
716 LeftDockable(False).RightDockable(False)) |
|
717 |
|
718 else: |
|
719 self.EditorToolBar = self.CreateToolBar(wx.TB_HORIZONTAL|wx.TB_FLAT|wx.NO_BORDER, |
|
720 ID_PLCOPENEDITOREDITORTOOLBAR, 'EditorToolBar') |
|
721 self.EditorToolBar.SetToolBitmapSize(wx.Size(25, 25)) |
|
722 self.EditorToolBar.AddRadioTool(ID_PLCOPENEDITOREDITORTOOLBARSELECTION, |
|
723 wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, _("Select an object")) |
|
724 self.EditorToolBar.Realize() |
|
725 |
658 |
726 self.Bind(wx.EVT_MENU, self.OnSelectionTool, |
659 self.Bind(wx.EVT_MENU, self.OnSelectionTool, |
727 id=ID_PLCOPENEDITOREDITORTOOLBARSELECTION) |
660 id=ID_PLCOPENEDITOREDITORTOOLBARSELECTION) |
728 |
661 |
729 #----------------------------------------------------------------------- |
662 #----------------------------------------------------------------------- |
985 self.Maximize() |
916 self.Maximize() |
986 else: |
917 else: |
987 self.SetClientSize(frame_size) |
918 self.SetClientSize(frame_size) |
988 |
919 |
989 def RestoreLastOrganization(self): |
920 def RestoreLastOrganization(self): |
990 if USE_AUI: |
921 notebooks = {} |
991 notebooks = {} |
922 for notebook, entry_name in [(self.LeftNoteBook, "leftnotebook"), |
992 for notebook, entry_name in [(self.LeftNoteBook, "leftnotebook"), |
923 (self.BottomNoteBook, "bottomnotebook"), |
993 (self.BottomNoteBook, "bottomnotebook"), |
924 (self.RightNoteBook, "rightnotebook")]: |
994 (self.RightNoteBook, "rightnotebook")]: |
925 notebooks[entry_name] = self.SaveTabOrganization(notebook) |
995 notebooks[entry_name] = self.SaveTabOrganization(notebook) |
926 self.DefaultPerspective = { |
996 self.DefaultPerspective = { |
927 "perspective": self.AUIManager.SavePerspective(), |
997 "perspective": self.AUIManager.SavePerspective(), |
928 "notebooks": notebooks, |
998 "notebooks": notebooks, |
929 } |
999 } |
930 |
1000 |
931 try: |
1001 try: |
932 if self.Config.HasEntry("perspective"): |
1002 if self.Config.HasEntry("perspective"): |
933 self.AUIManager.LoadPerspective(str(self.Config.Read("perspective"))) |
1003 self.AUIManager.LoadPerspective(str(self.Config.Read("perspective"))) |
934 |
1004 |
935 if self.Config.HasEntry("notebooks"): |
1005 if self.Config.HasEntry("notebooks"): |
936 notebooks = cPickle.loads(str(self.Config.Read("notebooks"))) |
1006 notebooks = cPickle.loads(str(self.Config.Read("notebooks"))) |
937 |
1007 |
938 for notebook in [self.LeftNoteBook, self.BottomNoteBook, self.RightNoteBook]: |
1008 for notebook in [self.LeftNoteBook, self.BottomNoteBook, self.RightNoteBook]: |
939 for idx in xrange(notebook.GetPageCount()): |
1009 for idx in xrange(notebook.GetPageCount()): |
940 notebook.RemovePage(0) |
1010 notebook.RemovePage(0) |
941 |
1011 |
942 for notebook, entry_name in [(self.LeftNoteBook, "leftnotebook"), |
1012 for notebook, entry_name in [(self.LeftNoteBook, "leftnotebook"), |
943 (self.BottomNoteBook, "bottomnotebook"), |
1013 (self.BottomNoteBook, "bottomnotebook"), |
944 (self.RightNoteBook, "rightnotebook")]: |
1014 (self.RightNoteBook, "rightnotebook")]: |
945 self.LoadTabOrganization(notebook, notebooks.get(entry_name)) |
1015 self.LoadTabOrganization(notebook, notebooks.get(entry_name)) |
946 except: |
1016 except: |
947 self.ResetPerspective() |
1017 self.ResetPerspective() |
948 |
1018 |
949 self.LoadProjectOrganization() |
1019 self.LoadProjectOrganization() |
|
1020 |
950 |
1021 def SaveLastState(self): |
951 def SaveLastState(self): |
1022 if not self.IsMaximized(): |
952 if not self.IsMaximized(): |
1023 self.Config.Write("framesize", cPickle.dumps(self.GetClientSize())) |
953 self.Config.Write("framesize", cPickle.dumps(self.GetClientSize())) |
1024 elif self.Config.HasEntry("framesize"): |
954 elif self.Config.HasEntry("framesize"): |
1025 self.Config.DeleteEntry("framesize") |
955 self.Config.DeleteEntry("framesize") |
1026 |
956 |
1027 if USE_AUI: |
957 notebooks = {} |
1028 notebooks = {} |
958 for notebook, entry_name in [(self.LeftNoteBook, "leftnotebook"), |
1029 for notebook, entry_name in [(self.LeftNoteBook, "leftnotebook"), |
959 (self.BottomNoteBook, "bottomnotebook"), |
1030 (self.BottomNoteBook, "bottomnotebook"), |
960 (self.RightNoteBook, "rightnotebook")]: |
1031 (self.RightNoteBook, "rightnotebook")]: |
961 notebooks[entry_name] = self.SaveTabOrganization(notebook) |
1032 notebooks[entry_name] = self.SaveTabOrganization(notebook) |
962 self.Config.Write("notebooks", cPickle.dumps(notebooks)) |
1033 self.Config.Write("notebooks", cPickle.dumps(notebooks)) |
963 |
1034 |
964 self.Config.Write("perspective", self.AUIManager.SavePerspective()) |
1035 self.Config.Write("perspective", self.AUIManager.SavePerspective()) |
965 |
1036 |
966 self.SaveProjectOrganization() |
1037 self.SaveProjectOrganization() |
|
1038 |
967 |
1039 for i in xrange(self.TabsOpened.GetPageCount()): |
968 for i in xrange(self.TabsOpened.GetPageCount()): |
1040 self.SavePageState(self.TabsOpened.GetPage(i)) |
969 self.SavePageState(self.TabsOpened.GetPage(i)) |
1041 |
970 |
1042 self.Config.Flush() |
971 self.Config.Flush() |
1043 |
972 |
1044 def SaveProjectOrganization(self): |
973 def SaveProjectOrganization(self): |
1045 if USE_AUI and self.Controler is not None: |
974 if self.Controler is not None: |
1046 tabs = [] |
975 tabs = [] |
1047 |
976 |
1048 projects = {} |
977 projects = {} |
1049 try: |
978 try: |
1050 if self.Config.HasEntry("projects"): |
979 if self.Config.HasEntry("projects"): |
1223 return |
1146 return |
1224 |
1147 |
1225 ## Function that fix difference in deleting all tabs between |
1148 ## Function that fix difference in deleting all tabs between |
1226 # wx.Notebook and wx.aui.AUINotebook. |
1149 # wx.Notebook and wx.aui.AUINotebook. |
1227 def DeleteAllPages(self): |
1150 def DeleteAllPages(self): |
1228 if USE_AUI: |
1151 for idx in xrange(self.TabsOpened.GetPageCount()): |
1229 for idx in xrange(self.TabsOpened.GetPageCount()): |
1152 self.TabsOpened.DeletePage(0) |
1230 self.TabsOpened.DeletePage(0) |
|
1231 else: |
|
1232 self.TabsOpened.DeleteAllPages() |
|
1233 self.RefreshTabCtrlEvent() |
1153 self.RefreshTabCtrlEvent() |
1234 |
1154 |
1235 ## Function that fix difference in setting picture on tab between |
1155 ## Function that fix difference in setting picture on tab between |
1236 # wx.Notebook and wx.aui.AUINotebook. |
1156 # wx.Notebook and wx.aui.AUINotebook. |
1237 # @param idx Tab index. |
1157 # @param idx Tab index. |
1238 # @param bitmap wx.Bitmap to define on tab. |
1158 # @param bitmap wx.Bitmap to define on tab. |
1239 # @return True if operation succeeded |
1159 # @return True if operation succeeded |
1240 def SetPageBitmap(self, idx, bitmap): |
1160 def SetPageBitmap(self, idx, bitmap): |
1241 if USE_AUI: |
1161 return self.TabsOpened.SetPageBitmap(idx, bitmap) |
1242 return self.TabsOpened.SetPageBitmap(idx, bitmap) |
|
1243 else: |
|
1244 return self.TabsOpened.SetPageImage(idx, bitmap) |
|
1245 |
1162 |
1246 #------------------------------------------------------------------------------- |
1163 #------------------------------------------------------------------------------- |
1247 # Dialog Message Functions |
1164 # Dialog Message Functions |
1248 #------------------------------------------------------------------------------- |
1165 #------------------------------------------------------------------------------- |
1249 |
1166 |
2288 menu = "debug" |
2196 menu = "debug" |
2289 if menu is not None and menu != self.CurrentMenu: |
2197 if menu is not None and menu != self.CurrentMenu: |
2290 self.ResetEditorToolBar() |
2198 self.ResetEditorToolBar() |
2291 self.CurrentMenu = menu |
2199 self.CurrentMenu = menu |
2292 self.CurrentEditorToolBar = [] |
2200 self.CurrentEditorToolBar = [] |
2293 if USE_AUI: |
2201 EditorToolBar = self.Panes["EditorToolBar"] |
2294 EditorToolBar = self.Panes["EditorToolBar"] |
|
2295 else: |
|
2296 EditorToolBar = self.EditorToolBar |
|
2297 if EditorToolBar: |
2202 if EditorToolBar: |
2298 for radio, modes, id, method, picture, help in EditorToolBarItems[menu]: |
2203 for radio, modes, id, method, picture, help in EditorToolBarItems[menu]: |
2299 if modes & self.DrawingMode: |
2204 if modes & self.DrawingMode: |
2300 if radio or self.DrawingMode == FREEDRAWING_MODE: |
2205 if radio or self.DrawingMode == FREEDRAWING_MODE: |
2301 EditorToolBar.AddRadioTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), wx.NullBitmap, help) |
2206 EditorToolBar.AddRadioTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), wx.NullBitmap, help) |
2302 else: |
2207 else: |
2303 EditorToolBar.AddSimpleTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), help) |
2208 EditorToolBar.AddSimpleTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), help) |
2304 self.Bind(wx.EVT_MENU, getattr(self, method), id=id) |
2209 self.Bind(wx.EVT_MENU, getattr(self, method), id=id) |
2305 self.CurrentEditorToolBar.append(id) |
2210 self.CurrentEditorToolBar.append(id) |
2306 EditorToolBar.Realize() |
2211 EditorToolBar.Realize() |
2307 if USE_AUI: |
2212 self.AUIManager.GetPane("EditorToolBar").BestSize(EditorToolBar.GetBestSize()) |
2308 self.AUIManager.GetPane("EditorToolBar").BestSize(EditorToolBar.GetBestSize()) |
2213 self.AUIManager.Update() |
2309 self.AUIManager.Update() |
|
2310 elif not menu: |
2214 elif not menu: |
2311 self.ResetEditorToolBar() |
2215 self.ResetEditorToolBar() |
2312 self.CurrentMenu = menu |
2216 self.CurrentMenu = menu |
2313 self.ResetCurrentMode() |
2217 self.ResetCurrentMode() |
2314 |
2218 |