SimpleView.st
changeset 573 578ae7a2f7fa
parent 566 530567d2984f
child 574 41257c050cf4
equal deleted inserted replaced
572:b164eb8a3e6e 573:578ae7a2f7fa
  1668 !
  1668 !
  1669 
  1669 
  1670 extent:extent
  1670 extent:extent
  1671     "set the views extent; 
  1671     "set the views extent; 
  1672      extent may be:
  1672      extent may be:
  1673 	a point 
  1673         a point 
  1674 	    where integer fields mean 'pixel-values'
  1674             where integer fields mean 'pixel-values'
  1675 	    and float values mean 'relative-to-superview'
  1675             and float values mean 'relative-to-superview'
  1676 	    and nil means 'leave current value';
  1676             and nil means 'leave current value';
  1677      or a block returning a point which is interpreted as above.
  1677      or a block returning a point which is interpreted as above.
  1678      Be careful when using relative extents: rounding errors may
  1678      Be careful when using relative extents: rounding errors may
  1679      accumulate. Better use origin/corner. 
  1679      accumulate. Better use origin/corner. 
  1680      Best: migrate to use layour objects."
  1680      Best: migrate to use layour objects."
  1681 
  1681 
  1682     |w h pixelExtent e|
  1682     |w h pixelExtent e|
  1683 
  1683 
  1684     extent isBlock ifTrue:[
  1684     extent isBlock ifTrue:[
  1685 	extentRule := extent.
  1685         extentRule := extent.
  1686 	drawableId notNil ifTrue:[
  1686         drawableId notNil ifTrue:[
  1687 	    pixelExtent := extent value
  1687             pixelExtent := extent value
  1688 	] ifFalse:[
  1688         ] ifFalse:[
  1689 	    extentChanged := true
  1689             extentChanged := true
  1690 	]
  1690         ]
  1691     ] ifFalse:[
  1691     ] ifFalse:[
  1692 	w := extent x.
  1692         w := extent x.
  1693 	h := extent y.
  1693         h := extent y.
  1694 	w isNil ifTrue:[w := width].
  1694         w isNil ifTrue:[w := width].
  1695 	h isNil ifTrue:[h := height].
  1695         h isNil ifTrue:[h := height].
  1696 	e := w@h.
  1696         e := w@h.
  1697 	((w isInteger not) or:[h isInteger not]) ifTrue:[
  1697         ((w isInteger not) or:[h isInteger not]) ifTrue:[
  1698 	    relativeExtent := e.
  1698             relativeExtent := e.
  1699 	    pixelExtent := self extentFromRelativeExtent.
  1699             pixelExtent := self extentFromRelativeExtent.
  1700 	    pixelExtent isNil ifTrue:[
  1700             pixelExtent isNil ifTrue:[
  1701 		extentChanged := true
  1701                 extentChanged := true
  1702 	    ]
  1702             ]
  1703 	] ifFalse:[
  1703         ] ifFalse:[
  1704 	    pixelExtent := e
  1704             relativeExtent := nil.
  1705 	]
  1705             pixelExtent := e
       
  1706         ]
  1706     ].
  1707     ].
  1707     pixelExtent notNil ifTrue:[
  1708     pixelExtent notNil ifTrue:[
  1708 	self pixelExtent:pixelExtent
  1709         self pixelExtent:pixelExtent
  1709     ]
  1710     ]
       
  1711 
       
  1712     "Modified: 19.4.1996 / 15:11:15 / cg"
  1710 !
  1713 !
  1711 
  1714 
  1712 geometryLayout
  1715 geometryLayout
  1713     "this method will vanish, as soon as all implementations of
  1716     "this method will vanish, as soon as all implementations of
  1714      #layout: are removed ...
  1717      #layout: are removed ...
  1916 !
  1919 !
  1917 
  1920 
  1918 origin:origin
  1921 origin:origin
  1919     "set the views origin; 
  1922     "set the views origin; 
  1920      origin may be:
  1923      origin may be:
  1921 	a point 
  1924         a point 
  1922 	    where integer fields mean 'pixel-values'
  1925             where integer fields mean 'pixel-values'
  1923 	    and float values mean 'relative-to-superview'
  1926             and float values mean 'relative-to-superview'
  1924 	    and nil means 'take current value';
  1927             and nil means 'take current value';
  1925      or a block returning a point which is interpreted as above.
  1928      or a block returning a point which is interpreted as above.
  1926      Please migrate to use layout objects."
  1929      Please migrate to use layout objects."
  1927 
  1930 
  1928     |newLeft newTop pixelOrigin o|
  1931     |newLeft newTop pixelOrigin o|
  1929 
  1932 
  1930     origin isBlock ifTrue:[
  1933     origin isBlock ifTrue:[
  1931 	originRule := origin.
  1934         originRule := origin.
  1932 	drawableId notNil ifTrue:[
  1935         drawableId notNil ifTrue:[
  1933 	    pixelOrigin := origin value
  1936             pixelOrigin := origin value
  1934 	] ifFalse:[
  1937         ] ifFalse:[
  1935 	    originChanged := true
  1938             originChanged := true
  1936 	]
  1939         ]
  1937     ] ifFalse:[
  1940     ] ifFalse:[
  1938 	o := origin.
  1941         o := origin.
  1939 	newLeft := origin x.
  1942         newLeft := origin x.
  1940 	newTop := origin y.
  1943         newTop := origin y.
  1941 	newLeft isNil ifTrue:[newLeft := left].
  1944         newLeft isNil ifTrue:[newLeft := left].
  1942 	newTop isNil ifTrue:[newTop := top].
  1945         newTop isNil ifTrue:[newTop := top].
  1943 	o := newLeft @ newTop.
  1946         o := newLeft @ newTop.
  1944 	((newLeft isInteger not) or:[newTop isInteger not]) ifTrue:[
  1947         ((newLeft isInteger not) or:[newTop isInteger not]) ifTrue:[
  1945 	    relativeOrigin := o.
  1948             relativeOrigin := o.
  1946 	    pixelOrigin := self originFromRelativeOrigin.
  1949             pixelOrigin := self originFromRelativeOrigin.
  1947 	    pixelOrigin isNil ifTrue:[
  1950             pixelOrigin isNil ifTrue:[
  1948 		originChanged := true
  1951                 originChanged := true
  1949 	    ]
  1952             ]
  1950 	] ifFalse:[
  1953         ] ifFalse:[
  1951 	    pixelOrigin := o
  1954             relativeOrigin := nil.
  1952 	]
  1955             pixelOrigin := o
       
  1956         ]
  1953     ].
  1957     ].
  1954     pixelOrigin notNil ifTrue:[
  1958     pixelOrigin notNil ifTrue:[
  1955 	self pixelOrigin:pixelOrigin
  1959         self pixelOrigin:pixelOrigin
  1956     ].
  1960     ].
       
  1961 
       
  1962     "Modified: 19.4.1996 / 15:12:36 / cg"
  1957 !
  1963 !
  1958 
  1964 
  1959 origin:origin corner:corner 
  1965 origin:origin corner:corner 
  1960     "set both origin and extent"
  1966     "set both origin and extent"
  1961 
  1967 
  6169 ! !
  6175 ! !
  6170 
  6176 
  6171 !SimpleView class methodsFor:'documentation'!
  6177 !SimpleView class methodsFor:'documentation'!
  6172 
  6178 
  6173 version
  6179 version
  6174     ^ '$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.75 1996-04-13 22:20:35 cg Exp $'
  6180     ^ '$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.76 1996-04-19 13:17:54 cg Exp $'
  6175 ! !
  6181 ! !
  6176 SimpleView initialize!
  6182 SimpleView initialize!