def open(self): self.wid = Win.NewCWindow(self._globalbounds, self.title, self._show, self.windowkind, -1, self.hasclosebox, 0) self.SetPort() fontname, fontstyle, fontsize, fontcolor = self._fontsettings fnum = Fm.GetFNum(fontname) if fnum == 0: fnum = Fm.GetFNum("Geneva") Qd.TextFont(fnum) Qd.TextFace(fontstyle) Qd.TextSize(fontsize) if self._bindings.has_key("<open>"): callback = self._bindings["<open>"] callback() for w in self._widgets: w.forall_frombottom("open") self._maketabchain() if self._tabbable: self.bind('tab', self.nextwidget) self.bind('shifttab', self.previouswidget) else: self._hasselframes = 0 if self._tabchain: self._tabchain[0].select(1) self.do_postopen()
def __init__(self, window, rect, name, controlhandler=None): init_waste() self.last_mouse_was_down = 0 self.url = '' self.current_data_loaded = None self.tag_positions = {} self.bary = None self.anchor_offsets = [] self.anchor_hrefs = [] self.must_clear = 0 self.bg_color = (0xffff, 0xffff, 0xffff) self.fg_color = (0, 0, 0) self.an_color = (0xffff, 0, 0) self.font_normal = Fm.GetFNum('Times') self.font_tt = Fm.GetFNum('Courier') self.font_size = 12 self.name = name self.wid = window self.controlhandler = controlhandler l, t, r, b = rect self.rect = rect vr = l + LEFTMARGIN, t + TOPMARGIN, r - RIGHTMARGIN, b - BOTTOMMARGIN dr = (0, 0, vr[2] - vr[0], 0) Qd.SetPort(window) Qd.TextFont(4) Qd.TextSize(9) flags = WASTEconst.weDoAutoScroll | WASTEconst.weDoOutlineHilite self.ted = waste.WENew(dr, vr, flags) self._createscrollbars() self.do_activate()
def __init__(self, fontname, pointsize): if not _fontmap.has_key(fontname): raise error, 'Font not found: ' + fontname self._fontnum = Fm.GetFNum(_fontmap[fontname][0]) self._fontface = _fontmap[fontname][1] self._pointsize = pointsize + _POINTSIZEOFFSET self._inited = 0
def getfontsizes(name, sizes): exist = [] num = Fm.GetFNum(name) for sz in sizes: if Fm.RealFont(num, sz): exist.append(1) else: exist.append(0) return exist
def GetFNum(fontname): """Same as Fm.GetFNum(), but maps a missing font to Monaco instead of the system font.""" if fontname <> Fm.GetFontName(0): fontid = Fm.GetFNum(fontname) if fontid == 0: fontid = Fonts.monaco else: fontid = 0 return fontid
def new_font(self, font): if font == None: font = (12, 0, 0, 0) font = map(lambda x: x, font) for i in range(len(font)): if font[i] == None: font[i] = self.html_font[i] [size, italic, bold, tt] = font self.html_font = font[:] if tt: font = Fm.GetFNum('Courier') else: font = Fm.GetFNum('Times') if HTML_SIZE.has_key(size): size = HTML_SIZE[size] else: size = 12 face = 0 if bold: face = face | 1 if italic: face = face | 2 face = face | self.html_style self.ted.WESetStyle( WASTEconst.weDoFont | WASTEconst.weDoFace | WASTEconst.weDoSize | WASTEconst.weDoColor, (font, face, size, self.html_color))
def drawtext(what=0): Qd.SetPort(splash) fontID = Fm.GetFNum("Python-Sans") if not fontID: fontID = geneva Qd.TextFont(fontID) Qd.TextSize(9) rect = (10, 115, _about_width - 10, _about_height - 30) if not what: import __main__ abouttxt = nl2return(abouttext1 % (__main__.__version__, sys.version, skipdoublereturns(sys.copyright))) else: import random abouttxt = nl2return(random.choice(flauwekul)) TE.TETextBox(abouttxt, rect, teJustCenter)
# A minimal text editor.
def menu_setfont(self, font): font = Fm.GetFNum(font) self.mysetstyle(WASTEconst.weDoFont, (font, 0, 0, (0, 0, 0))) self.parent.updatemenubar()
import Printing from Carbon import Qd from Carbon import Fm from Carbon import Res # some constants PostScriptBegin = 190 # Set driver state to PostScript PostScriptEnd = 191 # Restore QuickDraw state PostScriptHandle = 192 # PostScript data referenced in handle CHUNK_SIZE = 0x8000 # max size of PicComment def PostScript(text): """embed text as plain PostScript in print job.""" handle = Res.Resource('') Qd.PicComment(PostScriptBegin, 0, handle) while text: chunk = text[:CHUNK_SIZE] text = text[CHUNK_SIZE:] handle.data = chunk Qd.PicComment(PostScriptHandle, len(chunk), handle) handle.data = '' Qd.PicComment(PostScriptEnd, 0, handle) # create a new print record printrecord = Printing.NewTPrintRecord() # open the printer Printing.PrOpen() try: # initialize print record with default values Printing.PrintDefault(printrecord) # page setup, ok is 0 when user cancelled ok = Printing.PrStlDialog(printrecord)