QScintilla/Editor.py

branch
maintenance
changeset 6455
22a6fc33ab6d
parent 6319
df201b9fbad4
parent 6426
f072dd2edb0f
child 6487
d3ca83d691e7
equal deleted inserted replaced
6409:913a08004977 6455:22a6fc33ab6d
7189 Public method to perform a simple editor command. 7189 Public method to perform a simple editor command.
7190 7190
7191 @param cmd the scintilla command to be performed 7191 @param cmd the scintilla command to be performed
7192 """ 7192 """
7193 if cmd == QsciScintilla.SCI_TAB: 7193 if cmd == QsciScintilla.SCI_TAB:
7194 line, index = self.getCursorPosition() 7194 try:
7195 tmplName = self.getWordLeft(line, index) 7195 templateViewer = e5App().getObject("TemplateViewer")
7196 if tmplName: 7196 except KeyError:
7197 if e5App().getObject("TemplateViewer").hasTemplate( 7197 # template viewer is not active
7198 tmplName, self.getLanguage()): 7198 templateViewer = None
7199 self.__applyTemplate(tmplName, self.getLanguage()) 7199
7200 return 7200 if templateViewer is not None:
7201 else: 7201 line, index = self.getCursorPosition()
7202 templateNames = \ 7202 tmplName = self.getWordLeft(line, index)
7203 e5App().getObject("TemplateViewer").getTemplateNames( 7203 if tmplName:
7204 if templateViewer.hasTemplate(tmplName,
7205 self.getLanguage()):
7206 self.__applyTemplate(tmplName, self.getLanguage())
7207 return
7208 else:
7209 templateNames = templateViewer.getTemplateNames(
7204 tmplName, self.getLanguage()) 7210 tmplName, self.getLanguage())
7205 if len(templateNames) == 1: 7211 if len(templateNames) == 1:
7206 self.__applyTemplate(templateNames[0], 7212 self.__applyTemplate(templateNames[0],
7207 self.getLanguage()) 7213 self.getLanguage())
7208 return 7214 return
7209 elif len(templateNames) > 1: 7215 elif len(templateNames) > 1:
7210 self.showUserList( 7216 self.showUserList(
7211 TemplateCompletionListID, 7217 TemplateCompletionListID,
7212 ["{0}?{1:d}".format(t, self.TemplateImageID) 7218 ["{0}?{1:d}".format(t, self.TemplateImageID)
7213 for t in templateNames]) 7219 for t in templateNames])
7214 return 7220 return
7215 7221
7216 super(Editor, self).editorCommand(cmd) 7222 super(Editor, self).editorCommand(cmd)
7217 7223
7218 def __applyTemplate(self, templateName, language): 7224 def __applyTemplate(self, templateName, language):
7219 """ 7225 """
7221 7227
7222 @param templateName name of the template to apply (string) 7228 @param templateName name of the template to apply (string)
7223 @param language name of the language (group) to get the template 7229 @param language name of the language (group) to get the template
7224 from (string) 7230 from (string)
7225 """ 7231 """
7226 if e5App().getObject("TemplateViewer").hasTemplate( 7232 try:
7227 templateName, self.getLanguage()): 7233 templateViewer = e5App().getObject("TemplateViewer")
7234 except KeyError:
7235 # template viewer is not active
7236 return
7237
7238 if templateViewer.hasTemplate(templateName, self.getLanguage()):
7228 self.extendSelectionWordLeft() 7239 self.extendSelectionWordLeft()
7229 e5App().getObject("TemplateViewer").applyNamedTemplate( 7240 templateViewer.applyNamedTemplate(templateName,
7230 templateName, self.getLanguage()) 7241 self.getLanguage())
7231 7242
7232 ####################################################################### 7243 #######################################################################
7233 ## Project related methods 7244 ## Project related methods
7234 ####################################################################### 7245 #######################################################################
7235 7246

eric ide

mercurial