editors/TextViewer.py
changeset 1262 7b9259945453
parent 1178 3e2aebc9c7c0
child 1308 ad61268dbdb6
equal deleted inserted replaced
1261:46425f3248b7 1262:7b9259945453
    29 import wx.stc
    29 import wx.stc
    30 
    30 
    31 from graphics.GraphicCommons import ERROR_HIGHLIGHT, SEARCH_RESULT_HIGHLIGHT, REFRESH_HIGHLIGHT_PERIOD
    31 from graphics.GraphicCommons import ERROR_HIGHLIGHT, SEARCH_RESULT_HIGHLIGHT, REFRESH_HIGHLIGHT_PERIOD
    32 from plcopen.structures import ST_BLOCK_START_KEYWORDS, ST_BLOCK_END_KEYWORDS, IEC_BLOCK_START_KEYWORDS, IEC_BLOCK_END_KEYWORDS, LOCATIONDATATYPES
    32 from plcopen.structures import ST_BLOCK_START_KEYWORDS, ST_BLOCK_END_KEYWORDS, IEC_BLOCK_START_KEYWORDS, IEC_BLOCK_END_KEYWORDS, LOCATIONDATATYPES
    33 from EditorPanel import EditorPanel
    33 from EditorPanel import EditorPanel
    34 from controls.CustomStyledTextCtrl import CustomStyledTextCtrl, faces, GetCursorPos
    34 from controls.CustomStyledTextCtrl import CustomStyledTextCtrl, faces, GetCursorPos, NAVIGATION_KEYS
    35 
    35 
    36 #-------------------------------------------------------------------------------
    36 #-------------------------------------------------------------------------------
    37 #                         Textual programs Viewer class
    37 #                         Textual programs Viewer class
    38 #-------------------------------------------------------------------------------
    38 #-------------------------------------------------------------------------------
    39 
    39 
   720             if self.Editor.GetFoldLevel(line) & wx.stc.STC_FOLDLEVELHEADERFLAG:
   720             if self.Editor.GetFoldLevel(line) & wx.stc.STC_FOLDLEVELHEADERFLAG:
   721                 self.Editor.ToggleFold(line)
   721                 self.Editor.ToggleFold(line)
   722         event.Skip()
   722         event.Skip()
   723     
   723     
   724     def OnUpdateUI(self, event):
   724     def OnUpdateUI(self, event):
   725         if self.ParentWindow:
   725         selected = self.Editor.GetSelectedText()
   726             self.ParentWindow.SetCopyBuffer(self.Editor.GetSelectedText(), True)
   726         if self.ParentWindow and selected != "":
       
   727             self.ParentWindow.SetCopyBuffer(selected, True)
   727         event.Skip()
   728         event.Skip()
   728     
   729     
   729     def Cut(self):
   730     def Cut(self):
   730         self.ResetBuffer()
   731         self.ResetBuffer()
   731         self.DisableEvents = True
   732         self.DisableEvents = True
   792         self.RefreshJumpList()
   793         self.RefreshJumpList()
   793         self.Controler.SetEditedElementText(self.TagName, self.GetText())
   794         self.Controler.SetEditedElementText(self.TagName, self.GetText())
   794         self.ResetSearchResults()
   795         self.ResetSearchResults()
   795     
   796     
   796     def OnKeyDown(self, event):
   797     def OnKeyDown(self, event):
       
   798         key = event.GetKeyCode()
   797         if self.Controler is not None:
   799         if self.Controler is not None:
   798         
   800         
   799             if self.Editor.CallTipActive():
   801             if self.Editor.CallTipActive():
   800                 self.Editor.CallTipCancel()
   802                 self.Editor.CallTipCancel()
   801             key = event.GetKeyCode()
   803             
   802             key_handled = False
   804             key_handled = False
   803 
   805 
   804             line = self.Editor.GetCurrentLine()
   806             line = self.Editor.GetCurrentLine()
   805             if line == 0:
   807             if line == 0:
   806                 start_pos = 0
   808                 start_pos = 0
   850                         self.Editor.DelLineLeft()
   852                         self.Editor.DelLineLeft()
   851                         self.Editor.AddText(" " * ((max(0, indent - 1) / 2) * 2))
   853                         self.Editor.AddText(" " * ((max(0, indent - 1) / 2) * 2))
   852                         key_handled = True
   854                         key_handled = True
   853             if not key_handled:
   855             if not key_handled:
   854                 event.Skip()
   856                 event.Skip()
       
   857         elif key in NAVIGATION_KEYS:
       
   858             event.Skip()
   855 
   859 
   856     def OnKillFocus(self, event):
   860     def OnKillFocus(self, event):
   857         self.Editor.AutoCompCancel()
   861         self.Editor.AutoCompCancel()
   858         event.Skip()
   862         event.Skip()
   859 
   863