def _getProperties(self): if not self.firstTime: return self.firstTime = False elem = self._getElement() if not elem or not elem.style: return # print "---" # print "IN", len(elem.innerText) # print "TR", len(self.mshtmlIHTMLTextRange.text) # print "IN}%s{" % elem.innerText # print "TR}%s{" % self.mshtmlIHTMLTextRange.text bgColor = None color = None fontSize = None fontName = None self.hasCSSFontSize = False self.hasCSSFontName = False # walk up the ladder and build css font properties while (elem != None): if not self.hasCSSFontSize and getNoneString(elem.style.fontSize): self.hasCSSFontSize = True if not self.hasCSSFontName and getNoneString( elem.style.fontFamily): self.hasCSSFontName = True if not bgColor: bgColor = getNoneString(elem.style.backgroundColor) if not color: color = getNoneString(elem.style.color) if not fontName: fontName = self.mshtmlControl.queryCommandValue( u"FontName") #$NON-NLS-1$ if not fontSize: fontSize = getNoneString(elem.style.fontSize) if elem.tagName == u"BODY": #$NON-NLS-1$ break if (color and bgColor and fontSize and fontName): break elem = elem.parentElement # end while if color: self.cssColor = ZCssColor(color) if bgColor: self.cssBgColor = ZCssColor(bgColor) self.fontInfo = ZCssFontInfo() self.fontInfo.setFontName(fontName) self.fontInfo.setFontSize(fontSize)
def getFontInfo(self): fontInfo = ZCssFontInfo() fontInfo.setFontName(self.getFontName()) fontInfo.setFontSize(self.getFontSize()) return fontInfo