[Python-checkins] CVS: python/dist/src/Mac/Tools/IDE Wtext.py,1.14,1.14.2.1

Jack Jansen jackjansen@users.sourceforge.net
Tue, 20 Nov 2001 15:21:17 -0800


Update of /cvsroot/python/python/dist/src/Mac/Tools/IDE
In directory usw-pr-cvs1:/tmp/cvs-serv8232/Python/Mac/Tools/IDE

Modified Files:
      Tag: r22b2-branch
	Wtext.py 
Log Message:
Merged Just's trunk changes.

Index: Wtext.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/Wtext.py,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -C2 -d -r1.14 -r1.14.2.1
*** Wtext.py	2001/11/02 19:24:41	1.14
--- Wtext.py	2001/11/20 23:21:15	1.14.2.1
***************
*** 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)