Added support for global default font settings. (jvr)

This commit is contained in:
Just van Rossum 1999-09-26 12:21:32 +00:00
parent 03bca30ea1
commit b7ad821f02
2 changed files with 33 additions and 23 deletions

View file

@ -24,11 +24,13 @@ class TextBox(Wbase.Widget):
"""A static text widget""" """A static text widget"""
def __init__(self, possize, text = "", align = TextEdit.teJustLeft, def __init__(self, possize, text="", align=TextEdit.teJustLeft,
fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)), fontsettings=None,
backgroundcolor = (0xffff, 0xffff, 0xffff) backgroundcolor=(0xffff, 0xffff, 0xffff)
): ):
if fontsettings is None:
import W
fontsettings = W.getdefaultfont()
Wbase.Widget.__init__(self, possize) Wbase.Widget.__init__(self, possize)
self.fontsettings = fontsettings self.fontsettings = fontsettings
self.text = text self.text = text
@ -90,12 +92,14 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
"""A text edit widget, mainly for simple entry fields.""" """A text edit widget, mainly for simple entry fields."""
def __init__(self, possize, text = "", def __init__(self, possize, text="",
callback = None, inset = (3, 3), callback=None, inset=(3, 3),
fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)), fontsettings=None,
tabsettings = (32, 0), tabsettings = (32, 0),
readonly = 0): readonly = 0):
if fontsettings is None:
import W
fontsettings = W.getdefaultfont()
Wbase.SelectableWidget.__init__(self, possize) Wbase.SelectableWidget.__init__(self, possize)
self.temptext = text self.temptext = text
self.ted = None self.ted = None
@ -553,10 +557,10 @@ class TextEditor(EditText):
"""A text edit widget.""" """A text edit widget."""
def __init__(self, possize, text = "", callback = None, wrap = 1, inset = (4, 4), def __init__(self, possize, text="", callback=None, wrap=1, inset=(4, 4),
fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)), fontsettings=None,
tabsettings = (32, 0), tabsettings=(32, 0),
readonly = 0): readonly=0):
EditText.__init__(self, possize, text, callback, inset, fontsettings, tabsettings, readonly) EditText.__init__(self, possize, text, callback, inset, fontsettings, tabsettings, readonly)
self.wrap = wrap self.wrap = wrap
@ -607,12 +611,12 @@ class PyEditor(TextEditor):
"""A specialized Python source edit widget""" """A specialized Python source edit widget"""
def __init__(self, possize, text = "", callback = None, inset = (4, 4), def __init__(self, possize, text="", callback=None, inset=(4, 4),
fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)), fontsettings=None,
tabsettings = (32, 0), tabsettings=(32, 0),
readonly = 0, readonly=0,
debugger = None, debugger=None,
file = ''): file=''):
TextEditor.__init__(self, possize, text, callback, 0, inset, fontsettings, tabsettings, readonly) TextEditor.__init__(self, possize, text, callback, 0, inset, fontsettings, tabsettings, readonly)
self.bind("cmd[", self.domenu_shiftleft) self.bind("cmd[", self.domenu_shiftleft)
self.bind("cmd]", self.domenu_shiftright) self.bind("cmd]", self.domenu_shiftright)

View file

@ -19,8 +19,12 @@ class Window(FrameWork.Window, Wbase.SelectableWidget):
windowkind = Windows.documentProc windowkind = Windows.documentProc
def __init__(self, possize, title = "", minsize = None, maxsize = None, tabbable = 1, show = 1): def __init__(self, possize, title="", minsize=None, maxsize=None,
tabbable=1, show=1, fontsettings=None):
import W import W
if fontsettings is None:
fontsettings = W.getdefaultfont()
self._fontsettings = fontsettings
W.SelectableWidget.__init__(self, possize) W.SelectableWidget.__init__(self, possize)
self._globalbounds = l, t, r, b = self.getwindowbounds(possize, minsize) self._globalbounds = l, t, r, b = self.getwindowbounds(possize, minsize)
self._bounds = (0, 0, r - l, b - t) self._bounds = (0, 0, r - l, b - t)
@ -92,11 +96,13 @@ class Window(FrameWork.Window, Wbase.SelectableWidget):
self.wid = Win.NewCWindow(self._globalbounds, self.title, self._show, self.wid = Win.NewCWindow(self._globalbounds, self.title, self._show,
self.windowkind, -1, self.hasclosebox, 0) self.windowkind, -1, self.hasclosebox, 0)
self.SetPort() self.SetPort()
fnum = Fm.GetFNum("Python-Sans") fontname, fontstyle, fontsize, fontcolor = self._fontsettings
fnum = Fm.GetFNum(fontname)
if fnum == 0: if fnum == 0:
fnum = Fm.GetFNum("Geneva") fnum = Fm.GetFNum("Geneva")
Qd.TextFont(fnum) # XXX font&size from a function? Qd.TextFont(fnum)
Qd.TextSize(9) # XXX font&size from a function? Qd.TextFace(fontstyle)
Qd.TextSize(fontsize)
if self._bindings.has_key("<open>"): if self._bindings.has_key("<open>"):
callback = self._bindings["<open>"] callback = self._bindings["<open>"]
callback() callback()
@ -286,7 +292,7 @@ class Window(FrameWork.Window, Wbase.SelectableWidget):
(what, message, when, where, modifiers) = event (what, message, when, where, modifiers) = event
key = char key = char
if Wkeys.keynames.has_key(key): if Wkeys.keynames.has_key(key):
key = Wkeys.keynames[char] key = Wkeys.keynames[key]
if modifiers & Events.shiftKey: if modifiers & Events.shiftKey:
key = 'shift' + key key = 'shift' + key
if modifiers & Events.cmdKey: if modifiers & Events.cmdKey: