Added support for global default font settings. (jvr)
diff --git a/Mac/Tools/IDE/Wtext.py b/Mac/Tools/IDE/Wtext.py
index 963f1ba..ac9d48e 100644
--- a/Mac/Tools/IDE/Wtext.py
+++ b/Mac/Tools/IDE/Wtext.py
@@ -24,11 +24,13 @@
 	
 	"""A static text widget"""
 	
-	def __init__(self, possize, text = "", align = TextEdit.teJustLeft, 
-				fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)),
-				backgroundcolor = (0xffff, 0xffff, 0xffff)
+	def __init__(self, possize, text="", align=TextEdit.teJustLeft, 
+				fontsettings=None,
+				backgroundcolor=(0xffff, 0xffff, 0xffff)
 				):
-	
+		if fontsettings is None:
+			import W
+			fontsettings = W.getdefaultfont()
 		Wbase.Widget.__init__(self, possize)
 		self.fontsettings = fontsettings
 		self.text = text
@@ -90,12 +92,14 @@
 	
 	"""A text edit widget, mainly for simple entry fields."""
 	
-	def __init__(self, possize, text = "", 
-				callback = None, inset = (3, 3), 
-				fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)),
+	def __init__(self, possize, text="", 
+				callback=None, inset=(3, 3), 
+				fontsettings=None,
 				tabsettings = (32, 0),
 				readonly = 0):
-				
+		if fontsettings is None:
+			import W
+			fontsettings = W.getdefaultfont()
 		Wbase.SelectableWidget.__init__(self, possize)
 		self.temptext = text
 		self.ted = None
@@ -553,10 +557,10 @@
 	
 	"""A text edit widget."""
 	
-	def __init__(self, possize, text = "", callback = None, wrap = 1, inset = (4, 4),
-				fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)),
-				tabsettings = (32, 0),
-				readonly = 0):
+	def __init__(self, possize, text="", callback=None, wrap=1, inset=(4, 4),
+				fontsettings=None,
+				tabsettings=(32, 0),
+				readonly=0):
 		EditText.__init__(self, possize, text, callback, inset, fontsettings, tabsettings, readonly)
 		self.wrap = wrap
 	
@@ -607,12 +611,12 @@
 	
 	"""A specialized Python source edit widget"""
 	
-	def __init__(self, possize, text = "", callback = None, inset = (4, 4),
-				fontsettings = ("Python-Sans", 0, 9, (0, 0, 0)),
-				tabsettings = (32, 0),
-				readonly = 0,
-				debugger = None,
-				file = ''):
+	def __init__(self, possize, text="", callback=None, inset=(4, 4),
+				fontsettings=None,
+				tabsettings=(32, 0),
+				readonly=0,
+				debugger=None,
+				file=''):
 		TextEditor.__init__(self, possize, text, callback, 0, inset, fontsettings, tabsettings, readonly)
 		self.bind("cmd[", self.domenu_shiftleft)
 		self.bind("cmd]", self.domenu_shiftright)
diff --git a/Mac/Tools/IDE/Wwindows.py b/Mac/Tools/IDE/Wwindows.py
index 8e4d665..f48e11e 100644
--- a/Mac/Tools/IDE/Wwindows.py
+++ b/Mac/Tools/IDE/Wwindows.py
@@ -19,8 +19,12 @@
 	
 	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
+		if fontsettings is None:
+			fontsettings = W.getdefaultfont()
+		self._fontsettings = fontsettings
 		W.SelectableWidget.__init__(self, possize)
 		self._globalbounds = l, t, r, b = self.getwindowbounds(possize, minsize)
 		self._bounds = (0, 0, r - l, b - t)
@@ -92,11 +96,13 @@
 		self.wid = Win.NewCWindow(self._globalbounds, self.title, self._show,
 			self.windowkind, -1, self.hasclosebox, 0)
 		self.SetPort()
-		fnum = Fm.GetFNum("Python-Sans")
+		fontname, fontstyle, fontsize, fontcolor = self._fontsettings
+		fnum = Fm.GetFNum(fontname)
 		if fnum == 0:
 			fnum = Fm.GetFNum("Geneva")
-		Qd.TextFont(fnum)	# XXX font&size from a function?
-		Qd.TextSize(9)	# XXX font&size from a function?
+		Qd.TextFont(fnum)
+		Qd.TextFace(fontstyle)
+		Qd.TextSize(fontsize)
 		if self._bindings.has_key("<open>"):
 			callback = self._bindings["<open>"]
 			callback()
@@ -286,7 +292,7 @@
 		(what, message, when, where, modifiers) = event
 		key = char
 		if Wkeys.keynames.has_key(key):
-			key = Wkeys.keynames[char]
+			key = Wkeys.keynames[key]
 		if modifiers & Events.shiftKey:
 			key = 'shift' + key
 		if modifiers & Events.cmdKey: