def __init__(self, parent, id_=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, use_dt=True): """Initialize the editor view""" ed_stc.EditraStc.__init__(self, parent, id_, pos, size, style, use_dt) ed_tab.EdTabBase.__init__(self) # Attributes self._ro_img = False self._ignore_del = False self._has_dlg = False self._lprio = 0 # Idle event priority counter self._menu = ContextMenuManager() self._spell = STCSpellCheck(self, check_region=self.IsNonCode) self._caret_w = 1 self._focused = True spref = Profile_Get('SPELLCHECK', default=dict()) self._spell_data = dict(choices=list(), word=('', -1, -1), enabled=spref.get('auto', False)) # Initialize the classes position manager for the first control # that is created only. if not EdEditorView.DOCMGR.IsInitialized(): EdEditorView.DOCMGR.InitPositionCache(ed_glob.CONFIG['CACHE_DIR'] + \ os.sep + u'positions') self._spell.clearAll() self._spell.setDefaultLanguage(spref.get('dict', 'en_US')) self._spell.startIdleProcessing() # Context Menu Events self.Bind(wx.EVT_CONTEXT_MENU, self.OnContextMenu) # Need to relay the menu events from the context menu to the top level # window to be handled on gtk. Other platforms don't require this. self.Bind(wx.EVT_MENU, self.OnMenuEvent) # Hide autocomp/calltips when window looses focus # TODO: decide on whether this belongs in base class or not self.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus) self.Bind(wx.EVT_LEFT_UP, self.OnSetFocus) self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy, self) # Subscribe for configuration updates for opt in ('AUTOBACKUP', 'SYNTHEME', 'SYNTAX', 'BRACKETHL', 'GUIDES', 'SHOW_EDGE', 'EDGE', 'CODE_FOLD', 'AUTO_COMP', 'AUTO_INDENT', 'HLCARETLINE', 'SPELLCHECK', 'VI_EMU', 'VI_NORMAL_DEFAULT', 'USETABS', 'TABWIDTH', 'INDENTWIDTH', 'BSUNINDENT', 'EOL_MODE', 'AALIASING', 'SHOW_EOL', 'SHOW_LN', 'SHOW_WS', 'WRAP', 'VIEWVERTSPACE'): ed_msg.Subscribe(self.OnConfigMsg, ed_msg.EDMSG_PROFILE_CHANGE + (opt, ))
def __init__(self, parent, id_=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, use_dt=True): """Initialize the editor view""" ed_stc.EditraStc.__init__(self, parent, id_, pos, size, style, use_dt) ed_tab.EdTabBase.__init__(self) # Attributes self._ignore_del = False self._has_dlg = False self._lprio = 0 # Idle event priority counter self._menu = ContextMenuManager() self._spell = STCSpellCheck(self, check_region=self.IsNonCode) spref = Profile_Get('SPELLCHECK', default=dict()) self._spell_data = dict(choices=list(), word=('', -1, -1), enabled=spref.get('auto', False)) # Initialize the classes position manager for the first control # that is created only. if not EdEditorView.DOCMGR.IsInitialized(): EdEditorView.DOCMGR.InitPositionCache(ed_glob.CONFIG['CACHE_DIR'] + \ os.sep + u'positions') self._spell.clearAll() self._spell.setDefaultLanguage(spref.get('dict', 'en_US')) self._spell.startIdleProcessing() # Context Menu Events self.Bind(wx.EVT_CONTEXT_MENU, self.OnContextMenu) # Need to relay the menu events from the context menu to the top level # window to be handled on gtk. Other platforms don't require this. self.Bind(wx.EVT_MENU, self.OnMenuEvent) # Hide autocomp/calltips when window looses focus # TODO: decide on whether this belongs in base class or not self.Bind(wx.EVT_KILL_FOCUS, lambda evt: self.HidePopups()) self.Bind(wx.EVT_LEFT_UP, self.OnSetFocus) ed_msg.Subscribe(self.OnConfigMsg, ed_msg.EDMSG_PROFILE_CHANGE + ('SPELLCHECK', )) ed_msg.Subscribe(self.OnConfigMsg, ed_msg.EDMSG_PROFILE_CHANGE + ('AUTOBACKUP', )) ed_msg.Subscribe(self.OnConfigMsg, ed_msg.EDMSG_PROFILE_CHANGE + ('SYNTHEME', )) ed_msg.Subscribe(self.OnConfigMsg, ed_msg.EDMSG_PROFILE_CHANGE + ('SYNTAX', ))