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) |