def loadStyle(self): """ 載入配色方案 """ for k,v in color_style.items(): log('*'*8,'color style',k,v) self.tag_config(k,**v)
def _WidgetCommand(self,*args): log('**_widget ** ',args) paras=args[1] cmd=[args[0]] self.tk.eval("set cmd_list %s" % paras) result = [ self.tk.eval("lindex $cmd_list %d" % i) for i in range(int(self.tk.eval("llength $cmd_list")))] cmd.extend(result) self.widgetCommand(*cmd)
def highlineCurrentLine(self): #self.tag_delete('CurrentLine') rng=self.tag_ranges("sel") hln=[] cline=self._CursorPos[0] if len(rng)==2: log('sel range',rng) #sel_start,sel_end) sel_rng=rng sel_start=[int(p) for p in str(rng[0]).split('.')] sel_end=[int(p) for p in str(rng[1]).split('.')] lns=self.get(rng[0],rng[1]).split('\n') log('*'*8,sel_start,sel_end,lns) if sel_start[0]==cline and sel_start[1]>0: hln.append(("%s.0" % sel_start[0],"%s.%s" % tuple(sel_start))) #elif sel_start[0]==self._CursorPos[0]: # and sel_start[1]=0: if sel_end[0]==cline: ltext=self.get('%s.0' % cline ,'%s.end' % cline) log('line text',ltext) hln.append(("%s.%s" % tuple(sel_end),"%s.%s" % (sel_end[0],len(ltext)+1))) log(hln) for r in hln: self.tag_add("CurrentLine",r[0],r[1]) else: self.tag_add("CurrentLine", "%s.0" % cline, "%s.0+1lines" % cline)
def setColorTag(self,cmd): ''' 設置列表中每一個詞的tag 15-11-18 設置目前修改的詞的配色 增加: 一般文字namechar, 分隔符, ''' txt=self.get('%s.%s' % (self._CursorPos[0],0),'%s.end' % self._CursorPos[0]) curword = '' if cmd[1] == 'insert': c = cmd[-1] if c in NEWLINECHR: #new line pass elif True in [r[0] <= c <= r[-1] for r in NAMECHR]: #name char log('name char',self._CursorPos) pass else: #symbol log('last word',self._LastWord) pass #isnamechr = (True in [r[0] <= c <= r[1] for r in namechr]) elif cmd[0] == 'delete': pass log(txt)