editors/TextViewer.py
changeset 1126 26baa0ae9fd7
parent 1108 1ec5b4d244f3
child 1178 3e2aebc9c7c0
equal deleted inserted replaced
1125:1b1472e76f07 1126:26baa0ae9fd7
   139                                     wx.stc.STC_MOD_BEFOREDELETE|
   139                                     wx.stc.STC_MOD_BEFOREDELETE|
   140                                     wx.stc.STC_PERFORMED_USER)
   140                                     wx.stc.STC_PERFORMED_USER)
   141 
   141 
   142         self.Bind(wx.stc.EVT_STC_STYLENEEDED, self.OnStyleNeeded, id=ID_TEXTVIEWERTEXTCTRL)
   142         self.Bind(wx.stc.EVT_STC_STYLENEEDED, self.OnStyleNeeded, id=ID_TEXTVIEWERTEXTCTRL)
   143         self.Editor.Bind(wx.stc.EVT_STC_MARGINCLICK, self.OnMarginClick)
   143         self.Editor.Bind(wx.stc.EVT_STC_MARGINCLICK, self.OnMarginClick)
       
   144         self.Editor.Bind(wx.stc.EVT_STC_UPDATEUI, self.OnUpdateUI)
   144         self.Editor.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
   145         self.Editor.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
   145         if self.Controler is not None:
   146         if self.Controler is not None:
   146             self.Editor.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus)
   147             self.Editor.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus)
   147             self.Bind(wx.stc.EVT_STC_DO_DROP, self.OnDoDrop, id=ID_TEXTVIEWERTEXTCTRL)
   148             self.Bind(wx.stc.EVT_STC_DO_DROP, self.OnDoDrop, id=ID_TEXTVIEWERTEXTCTRL)
   148             self.Bind(wx.stc.EVT_STC_MODIFIED, self.OnModification, id=ID_TEXTVIEWERTEXTCTRL)
   149             self.Bind(wx.stc.EVT_STC_MODIFIED, self.OnModification, id=ID_TEXTVIEWERTEXTCTRL)
   712         if event.GetMargin() == 2:
   713         if event.GetMargin() == 2:
   713             line = self.Editor.LineFromPosition(event.GetPosition())
   714             line = self.Editor.LineFromPosition(event.GetPosition())
   714             if self.Editor.GetFoldLevel(line) & wx.stc.STC_FOLDLEVELHEADERFLAG:
   715             if self.Editor.GetFoldLevel(line) & wx.stc.STC_FOLDLEVELHEADERFLAG:
   715                 self.Editor.ToggleFold(line)
   716                 self.Editor.ToggleFold(line)
   716         event.Skip()
   717         event.Skip()
   717         
   718     
       
   719     def OnUpdateUI(self, event):
       
   720         if self.ParentWindow:
       
   721             self.ParentWindow.SetCopyBuffer(self.Editor.GetSelectedText(), True)
       
   722         event.Skip()
       
   723     
   718     def Cut(self):
   724     def Cut(self):
   719         self.ResetBuffer()
   725         self.ResetBuffer()
   720         self.DisableEvents = True
   726         self.DisableEvents = True
   721         self.Editor.CmdKeyExecute(wx.stc.STC_CMD_CUT)
   727         self.Editor.CmdKeyExecute(wx.stc.STC_CMD_CUT)
   722         self.DisableEvents = False
   728         self.DisableEvents = False
   723         self.RefreshModel()
   729         self.RefreshModel()
   724         self.RefreshBuffer()
   730         self.RefreshBuffer()
   725     
   731     
   726     def Copy(self):
   732     def Copy(self):
   727         self.Editor.CmdKeyExecute(wx.stc.STC_CMD_COPY)
   733         self.Editor.CmdKeyExecute(wx.stc.STC_CMD_COPY)
       
   734         if self.ParentWindow:
       
   735             self.ParentWindow.RefreshEditMenu()
   728     
   736     
   729     def Paste(self):
   737     def Paste(self):
   730         self.ResetBuffer()
   738         self.ResetBuffer()
   731         self.DisableEvents = True
   739         self.DisableEvents = True
   732         self.Editor.CmdKeyExecute(wx.stc.STC_CMD_PASTE)
   740         self.Editor.CmdKeyExecute(wx.stc.STC_CMD_PASTE)