[Python-checkins] CVS: python/dist/src/Mac/Tools/IDE PyBrowser.py,1.11,1.12 PyDebugger.py,1.7,1.8 PyEdit.py,1.25,1.26 W.py,1.3,1.4 Wapplication.py,1.13,1.14 Wbase.py,1.7,1.8 Wcontrols.py,1.10,1.11 Widgets.rsrc,1.1,1.2 Wlists.py,1.7,1.8 Wtext.py,1.14,1.15
Just van Rossum
jvr@users.sourceforge.net
Sun, 18 Nov 2001 06:12:46 -0800
Update of /cvsroot/python/python/dist/src/Mac/Tools/IDE
In directory usw-pr-cvs1:/tmp/cvs-serv14578
Modified Files:
PyBrowser.py PyDebugger.py PyEdit.py W.py Wapplication.py
Wbase.py Wcontrols.py Widgets.rsrc Wlists.py Wtext.py
Log Message:
a whole bunch of OSX tweaks
Index: PyBrowser.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/PyBrowser.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** PyBrowser.py 2001/11/02 19:21:34 1.11
--- PyBrowser.py 2001/11/18 14:12:43 1.12
***************
*** 144,147 ****
--- 144,148 ----
#W.SetCursor('fist')
while Evt.Button():
+ Evt.WaitNextEvent(0, 1, None) # needed for OSX
(x, y) = Evt.GetMouse()
if (x, y) <> lastpoint:
***************
*** 308,312 ****
self.w = w = W.Window((300, 400), title, minsize = (100, 100))
w.info = W.TextBox((18, 8, -70, 15))
! w.updatebutton = W.Button((-64, 4, 50, 16), 'Update', self.update)
w.browser = BrowserWidget((-1, 24, 1, -14), None)
w.bind('cmdu', w.updatebutton.push)
--- 309,313 ----
self.w = w = W.Window((300, 400), title, minsize = (100, 100))
w.info = W.TextBox((18, 8, -70, 15))
! w.updatebutton = W.BevelButton((-64, 4, 50, 16), 'Update', self.update)
w.browser = BrowserWidget((-1, 24, 1, -14), None)
w.bind('cmdu', w.updatebutton.push)
Index: PyDebugger.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/PyDebugger.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** PyDebugger.py 2001/08/25 12:09:39 1.7
--- PyDebugger.py 2001/11/18 14:12:43 1.8
***************
*** 682,686 ****
def __init__(self, debugger):
self.debugger = debugger
- import Lists
self.w = W.Window((300, 250), 'Breakpoints', minsize = (200, 200))
self.w.panes = W.HorizontalPanes((8, 8, -8, -32), (0.3, 0.7))
--- 682,685 ----
Index: PyEdit.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/PyEdit.py,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** PyEdit.py 2001/11/02 22:55:15 1.25
--- PyEdit.py 2001/11/18 14:12:43 1.26
***************
*** 175,179 ****
def setupwidgets(self, text):
! topbarheight = 28
popfieldwidth = 80
self.lastlineno = None
--- 175,179 ----
def setupwidgets(self, text):
! topbarheight = 24
popfieldwidth = 80
self.lastlineno = None
***************
*** 198,204 ****
self.bevelbox = W.BevelBox((0, 0, 0, topbarheight))
self.hline = W.HorizontalLine((0, topbarheight, 0, 0))
! self.infotext = W.TextBox((175, 7, -4, 14), backgroundcolor = (0xe000, 0xe000, 0xe000))
! self.runbutton = W.Button((6, 5, 60, 16), runButtonLabels[0], self.run)
! self.runselbutton = W.Button((78, 5, 90, 16), runSelButtonLabels[0], self.runselection)
# bind some keys
--- 198,204 ----
self.bevelbox = W.BevelBox((0, 0, 0, topbarheight))
self.hline = W.HorizontalLine((0, topbarheight, 0, 0))
! self.infotext = W.TextBox((175, 6, -4, 14), backgroundcolor = (0xe000, 0xe000, 0xe000))
! self.runbutton = W.BevelButton((6, 4, 80, 16), runButtonLabels[0], self.run)
! self.runselbutton = W.BevelButton((90, 4, 80, 16), runSelButtonLabels[0], self.runselection)
# bind some keys
***************
*** 801,804 ****
--- 801,805 ----
pattern = pattern + notwordcharspat
return re.compile(pattern)
+
class SearchEngine:
Index: W.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/W.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** W.py 2001/11/02 19:22:55 1.3
--- W.py 2001/11/18 14:12:43 1.4
***************
*** 32,36 ****
def Message(text):
! import EasyDialogs, Qd, string
Qd.InitCursor()
text = string.replace(text, "\n", "\r")
--- 32,37 ----
def Message(text):
! import EasyDialogs, string
! from Carbon import Qd
Qd.InitCursor()
text = string.replace(text, "\n", "\r")
Index: Wapplication.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/Wapplication.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** Wapplication.py 2001/08/27 10:55:41 1.13
--- Wapplication.py 2001/11/18 14:12:43 1.14
***************
*** 10,14 ****
from Carbon import Menu; MenuToolbox = Menu; del Menu
! KILLUNKNOWNWINDOWS=1 # Set to 0 for debugging.
class Application(FrameWork.Application):
--- 10,14 ----
from Carbon import Menu; MenuToolbox = Menu; del Menu
! KILLUNKNOWNWINDOWS = 0 # Set to 0 for debugging.
class Application(FrameWork.Application):
Index: Wbase.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/Wbase.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Wbase.py 2001/11/02 19:09:34 1.7
--- Wbase.py 2001/11/18 14:12:43 1.8
***************
*** 1,3 ****
! from Carbon import Evt, Qd, QuickDraw, Win
import string
from types import *
--- 1,3 ----
! from Carbon import App, Evt, Qd, QuickDraw, Win
import string
from types import *
***************
*** 330,342 ****
if not self._parentwindow._hasselframes:
return
! thickrect = Qd.InsetRect(self._bounds, -3, -3)
! state = Qd.GetPenState()
! Qd.PenSize(2, 2)
! if onoff:
! Qd.PenPat(Qd.qd.black)
! else:
! Qd.PenPat(Qd.qd.white)
! Qd.FrameRect(thickrect)
! Qd.SetPenState(state)
def adjust(self, oldbounds):
--- 330,334 ----
if not self._parentwindow._hasselframes:
return
! App.DrawThemeFocusRect(self._bounds, onoff)
def adjust(self, oldbounds):
Index: Wcontrols.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/Wcontrols.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Wcontrols.py 2001/11/02 22:51:42 1.10
--- Wcontrols.py 2001/11/18 14:12:43 1.11
***************
*** 18,21 ****
--- 18,22 ----
self._max = max
self._enabled = 1
+ self._viewsize = 0
def open(self):
***************
*** 30,35 ****
self._procID,
0)
! self.SetPort()
! #self.GetWindow().ValidWindowRect(self._bounds)
self.enable(self._enabled)
--- 31,36 ----
self._procID,
0)
! if self._viewsize:
! self._control.SetControlViewSize(self._viewsize)
self.enable(self._enabled)
***************
*** 76,82 ****
def test(self, point):
! ctltype, control = Ctl.FindControl(point, self._parentwindow.wid)
! if self._enabled and control == self._control:
return 1
def click(self, point, modifiers):
--- 77,85 ----
def test(self, point):
! if Qd.PtInRect(point, self._bounds) and self._enabled:
return 1
+ #ctltype, control = Ctl.FindControl(point, self._parentwindow.wid)
+ #if self._enabled and control == self._control:
+ # return 1
def click(self, point, modifiers):
***************
*** 113,119 ****
"""Standard push button."""
def __init__(self, possize, title = "Button", callback = None):
! procID = Controls.pushButProc | Controls.useWFont
! ControlWidget.__init__(self, possize, title, procID, callback, 0, 0, 1)
self._isdefault = 0
--- 116,123 ----
"""Standard push button."""
+ procID = Controls.pushButProc | Controls.useWFont
+
def __init__(self, possize, title = "Button", callback = None):
! ControlWidget.__init__(self, possize, title, self.procID, callback, 0, 0, 1)
self._isdefault = 0
***************
*** 121,126 ****
--- 125,132 ----
if not self._enabled:
return
+ # emulate the pushing of the button
import time
self._control.HiliteControl(Controls.kControlButtonPart)
+ Qd.QDFlushPortBuffer(self._parentwindow.wid, None) # needed under OSX
time.sleep(0.1)
self._control.HiliteControl(0)
***************
*** 140,144 ****
--- 146,168 ----
self._control.Draw1Control()
+ def open(self):
+ ControlWidget.open(self)
+ if self._isdefault:
+ self._setdefault(self._isdefault)
+
def _setdefault(self, onoff):
+ c = self._control
+ if c is not None:
+ if onoff:
+ data = "\xFF"
+ else:
+ data = "\0"
+ # hide before changing state, otherwise the button isn't always
+ # redrawn correctly, although it's quite different under Aqua
+ # and Classic...
+ c.HideControl()
+ c.SetControlData(Controls.kControlNoPart,
+ Controls.kControlPushButtonDefaultTag, data)
+ c.ShowControl()
self._isdefault = onoff
***************
*** 153,156 ****
--- 177,184 ----
+ class BevelButton(Button):
+ procID = Controls.kControlBevelButtonNormalBevelProc | Controls.useWFont
+
+
class CheckBox(ControlWidget):
***************
*** 251,261 ****
def setmin(self, min):
! self._control.SetControl32BitMinimum(min)
def setmax(self, max):
! self._control.SetControl32BitMaximum(max)
! def setviewsize(self, view):
! self._control.SetControlViewSize(view)
def getmin(self):
--- 279,298 ----
def setmin(self, min):
! if self._control is not None:
! self._control.SetControl32BitMinimum(min)
! else:
! self._min = min
def setmax(self, max):
! if self._control is not None:
! self._control.SetControl32BitMaximum(max)
! else:
! self._max = max
! def setviewsize(self, viewsize):
! if self._control is not None:
! self._control.SetControlViewSize(viewsize)
! else:
! self._viewsize = viewsize
def getmin(self):
***************
*** 313,317 ****
if self._visible:
self._control.Draw1Control()
! Qd.FrameRect(self._bounds)
def adjust(self, oldbounds):
--- 350,354 ----
if self._visible:
self._control.Draw1Control()
! #Qd.FrameRect(self._bounds)
def adjust(self, oldbounds):
Index: Widgets.rsrc
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/Widgets.rsrc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Binary files /tmp/cvsDCwtci and /tmp/cvsgmxi2p differ
Index: Wlists.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/Wlists.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Wlists.py 2001/11/05 08:51:24 1.7
--- Wlists.py 2001/11/18 14:12:43 1.8
***************
*** 6,9 ****
--- 6,11 ----
from Carbon.Lists import kListDefUserProcType, lInitMsg, lDrawMsg, lHiliteMsg, lCloseMsg
from Carbon.QuickDraw import hilitetransfermode
+ from Carbon import App
+ from Carbon.Appearance import kThemeStateActive, kThemeStateInactive, kThemeStatePressed
***************
*** 254,260 ****
visRgn = self._parentwindow.wid.GetWindowPort().visRgn
self._list.LUpdate(visRgn)
! Qd.FrameRect(self._bounds)
! if self._selected and self._activated:
! self.drawselframe(1)
def select(self, onoff, isclick = 0):
--- 256,262 ----
visRgn = self._parentwindow.wid.GetWindowPort().visRgn
self._list.LUpdate(visRgn)
! App.DrawThemeListBoxFrame(self._bounds, kThemeStateActive)
! #if self._selected and self._activated:
! # self.drawselframe(1)
def select(self, onoff, isclick = 0):
***************
*** 262,266 ****
return
self.SetPort()
! self.drawselframe(onoff)
def activate(self, onoff):
--- 264,270 ----
return
self.SetPort()
! state = [kThemeStateActive, kThemeStatePressed][onoff]
! App.DrawThemeListBoxFrame(self._bounds, kThemeStateActive)
! #self.drawselframe(onoff)
def activate(self, onoff):
***************
*** 268,273 ****
if self._visible:
self._list.LActivate(onoff)
! if self._selected:
! self.drawselframe(onoff)
def get(self):
--- 272,277 ----
if self._visible:
self._list.LActivate(onoff)
! #if self._selected:
! # self.drawselframe(onoff)
def get(self):
***************
*** 450,453 ****
--- 454,458 ----
Qd.DrawText(line2, 0, len(line2))
Qd.PenPat("\x11\x11\x11\x11\x11\x11\x11\x11")
+ bottom = top + theList.cellSize[1]
Qd.MoveTo(left, bottom - 1)
Qd.LineTo(right, bottom - 1)
Index: Wtext.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/Wtext.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** Wtext.py 2001/11/02 19:24:41 1.14
--- Wtext.py 2001/11/18 14:12:43 1.15
***************
*** 2,5 ****
--- 2,7 ----
from Carbon import Qd, Res, Scrap
from Carbon import TE, TextEdit, Win
+ from Carbon import App
+ from Carbon.Appearance import kThemeStateActive, kThemeStateInactive
import waste
import WASTEconst
***************
*** 56,78 ****
# to be overridden
! def getscrollbarvalues(self):
return None, None
# internal method
def updatescrollbars(self):
! vx, vy = self.getscrollbarvalues()
if self._parent._barx:
! if vx <> None:
! self._parent._barx.enable(1)
! self._parent._barx.set(vx)
! else:
! self._parent._barx.enable(0)
if self._parent._bary:
! if vy <> None:
! self._parent._bary.enable(1)
! self._parent._bary.set(vy)
! else:
! self._parent._bary.enable(0)
!
UNDOLABELS = [ # Indexed by WEGetUndoInfo() value
--- 58,84 ----
# to be overridden
! def getscrollrects(self):
! """Return (destrect, viewrect)."""
return None, None
# internal method
+
def updatescrollbars(self):
! (dl, dt, dr, db), (vl, vt, vr, vb) = self.getscrollrects()
if self._parent._barx:
! viewwidth = vr - vl
! destwidth = dr - dl
! bar = self._parent._barx
! bar.setmax(destwidth - viewwidth)
! bar.setviewsize(viewwidth)
! bar.set(vl - dl)
if self._parent._bary:
! viewheight = vb - vt
! destheight = db - dt
! bar = self._parent._bary
! bar.setmax(destheight - viewheight)
! bar.setviewsize(viewheight)
! bar.set(vt - dt)
!
UNDOLABELS = [ # Indexed by WEGetUndoInfo() value
***************
*** 374,377 ****
--- 380,384 ----
self.drawselframe(1)
Qd.FrameRect(self._bounds)
+ #App.DrawThemeEditTextFrame(self._bounds, kThemeStateActive)
# scrolling
***************
*** 386,396 ****
def scrolltop(self):
if self._parent._bary and self._parent._bary._enabled:
! self.vscroll(0)
if self._parent._barx and self._parent._barx._enabled:
! self.hscroll(0)
def scrollbottom(self):
if self._parent._bary and self._parent._bary._enabled:
! self.vscroll(32767)
# menu handlers
--- 393,403 ----
def scrolltop(self):
if self._parent._bary and self._parent._bary._enabled:
! self.vscroll(self._parent._bary.getmin())
if self._parent._barx and self._parent._barx._enabled:
! self.hscroll(self._parent._barx.getmin())
def scrollbottom(self):
if self._parent._bary and self._parent._bary._enabled:
! self.vscroll(self._parent._bary.getmax())
# menu handlers
***************
*** 470,479 ****
# private
! def getscrollbarvalues(self):
! dr = self.ted.WEGetDestRect()
! vr = self.ted.WEGetViewRect()
! vx = Wcontrols._scalebarvalue(dr[0], dr[2], vr[0], vr[2])
! vy = Wcontrols._scalebarvalue(dr[1], dr[3], vr[1], vr[3])
! return vx, vy
def vscroll(self, value):
--- 477,482 ----
# private
! def getscrollrects(self):
! return self.ted.WEGetDestRect(), self.ted.WEGetViewRect()
def vscroll(self, value):
***************
*** 481,487 ****
dr = self.ted.WEGetDestRect()
vr = self.ted.WEGetViewRect()
- destheight = dr[3] - dr[1]
viewheight = vr[3] - vr[1]
! viewoffset = maxdelta = vr[1] - dr[1]
mindelta = vr[3] - dr[3]
if value == "+":
--- 484,489 ----
dr = self.ted.WEGetDestRect()
vr = self.ted.WEGetViewRect()
viewheight = vr[3] - vr[1]
! maxdelta = vr[1] - dr[1]
mindelta = vr[3] - dr[3]
if value == "+":
***************
*** 494,502 ****
delta = lineheight - viewheight
else: # in thumb
! cur = (32767L * viewoffset) / (destheight - viewheight)
! delta = (cur-value)*(destheight - viewheight)/32767
! if abs(delta - viewoffset) <=2:
! # compensate for irritating rounding error
! delta = viewoffset
delta = min(maxdelta, delta)
delta = max(mindelta, delta)
--- 496,500 ----
delta = lineheight - viewheight
else: # in thumb
! delta = vr[1] - dr[1] - value
delta = min(maxdelta, delta)
delta = max(mindelta, delta)
***************
*** 520,528 ****
delta = 0.5 * (vr[0] - vr[2])
else: # in thumb
! cur = (32767 * viewoffset) / (destwidth - viewwidth)
! delta = (cur-value)*(destwidth - viewwidth)/32767
! if abs(delta - viewoffset) <=2:
! # compensate for irritating rounding error
! delta = viewoffset
delta = min(maxdelta, delta)
delta = max(mindelta, delta)
--- 518,527 ----
delta = 0.5 * (vr[0] - vr[2])
else: # in thumb
! delta = vr[0] - dr[0] - value
! #cur = (32767 * viewoffset) / (destwidth - viewwidth)
! #delta = (cur-value)*(destwidth - viewwidth)/32767
! #if abs(delta - viewoffset) <=2:
! # # compensate for irritating rounding error
! # delta = viewoffset
delta = min(maxdelta, delta)
delta = max(mindelta, delta)
***************
*** 924,927 ****
--- 923,927 ----
self.ted.WEFeatureFlag(WASTEconst.weFAutoScroll, 0)
self.ted.WESetSelection(count, count + 1)
+ Qd.QDFlushPortBuffer(self._parentwindow.wid, None) # needed under OSX
time.sleep(0.2)
self.ted.WESetSelection(selstart, selend)