ScrollPane.java (setBlockIncrement): Throw error.
* java/awt/ScrollPane.java (setBlockIncrement): Throw error. (getViewportSize): Insets include scrollbar size. (doLayout): Finished. (getScrollPosition): Wrote. * java/awt/peer/ScrollPanePeer.java (setBlockIncrement): Removed. From-SVN: r38670
This commit is contained in:
parent
6bfa3dac74
commit
234fb86cae
3 changed files with 21 additions and 21 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2001-01-03 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* java/awt/ScrollPane.java (setBlockIncrement): Throw error.
|
||||||
|
(getViewportSize): Insets include scrollbar size.
|
||||||
|
(doLayout): Finished.
|
||||||
|
(getScrollPosition): Wrote.
|
||||||
|
* java/awt/peer/ScrollPanePeer.java (setBlockIncrement): Removed.
|
||||||
|
|
||||||
2001-01-02 Tom Tromey <tromey@redhat.com>
|
2001-01-02 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* java/awt/ScrollPane.java: Wrote.
|
* java/awt/ScrollPane.java: Wrote.
|
||||||
|
|
|
@ -15,9 +15,6 @@ import java.awt.peer.ScrollPanePeer;
|
||||||
* scrollbars as well as a single child which is scrolled by them.
|
* scrollbars as well as a single child which is scrolled by them.
|
||||||
* @author Tom Tromey <tromey@redhat.com>
|
* @author Tom Tromey <tromey@redhat.com>
|
||||||
* @date December 31, 2000
|
* @date December 31, 2000
|
||||||
* Status: Unfinished. The Adjustables are probably wrong (there
|
|
||||||
* isn't a mechanism for scrollbar events to affect them), and also
|
|
||||||
* doLayout() is not finished.
|
|
||||||
*/
|
*/
|
||||||
public class ScrollPane extends Container
|
public class ScrollPane extends Container
|
||||||
{
|
{
|
||||||
|
@ -90,7 +87,8 @@ public class ScrollPane extends Container
|
||||||
Dimension c = component[0].getPreferredSize ();
|
Dimension c = component[0].getPreferredSize ();
|
||||||
component[0].setSize (c.width, c.height);
|
component[0].setSize (c.width, c.height);
|
||||||
spp.childResized (c.width, c.height);
|
spp.childResized (c.width, c.height);
|
||||||
// FIXME
|
// Update the scrollbar position to the closest valid value.
|
||||||
|
setScrollPosition (hscroll.getValue (), vscroll.getValue ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns an Adjustable representing the horizontal scrollbar.
|
/** Returns an Adjustable representing the horizontal scrollbar.
|
||||||
|
@ -121,8 +119,7 @@ public class ScrollPane extends Container
|
||||||
/** Returns the viewport's scroll position. */
|
/** Returns the viewport's scroll position. */
|
||||||
public Point getScrollPosition ()
|
public Point getScrollPosition ()
|
||||||
{
|
{
|
||||||
// FIXME
|
return new Point (hscroll.getValue (), vscroll.getValue ());
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns an Adjustable representing the vertical scrollbar.
|
/** Returns an Adjustable representing the vertical scrollbar.
|
||||||
|
@ -138,6 +135,9 @@ public class ScrollPane extends Container
|
||||||
/** Returns the size of the viewport. */
|
/** Returns the size of the viewport. */
|
||||||
public Dimension getViewportSize ()
|
public Dimension getViewportSize ()
|
||||||
{
|
{
|
||||||
|
// Note: according to the online docs, the Insets are
|
||||||
|
// automatically updated by the peer to include the scrollbar
|
||||||
|
// sizes.
|
||||||
Insets ins = getInsets ();
|
Insets ins = getInsets ();
|
||||||
int myw = width - ins.left - ins.right;
|
int myw = width - ins.left - ins.right;
|
||||||
int myh = height - ins.top - ins.bottom;
|
int myh = height - ins.top - ins.bottom;
|
||||||
|
@ -148,14 +148,6 @@ public class ScrollPane extends Container
|
||||||
else
|
else
|
||||||
cs = new Dimension (myw, myh);
|
cs = new Dimension (myw, myh);
|
||||||
|
|
||||||
if (policy == SCROLLBARS_ALWAYS
|
|
||||||
|| (policy == SCROLLBARS_AS_NEEDED && myw < cs.width))
|
|
||||||
myw -= getVScrollbarWidth ();
|
|
||||||
|
|
||||||
if (policy == SCROLLBARS_ALWAYS
|
|
||||||
|| (policy == SCROLLBARS_AS_NEEDED && myh < cs.height))
|
|
||||||
myh -= getHScrollbarHeight ();
|
|
||||||
|
|
||||||
// A little optimization -- reuse the Dimension.
|
// A little optimization -- reuse the Dimension.
|
||||||
cs.setSize (myw, myh);
|
cs.setSize (myw, myh);
|
||||||
return cs;
|
return cs;
|
||||||
|
@ -228,6 +220,12 @@ public class ScrollPane extends Container
|
||||||
setScrollPosition (p.x, p.y);
|
setScrollPosition (p.x, p.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This implements the Adjustable for each scrollbar. The
|
||||||
|
// expectation is that the peer will look at these objects directly
|
||||||
|
// and modify the values in them when the user manipulates the
|
||||||
|
// scrollbars. This has to be done from CNI to bypass Java
|
||||||
|
// protection rules. The peer should also take care of calling the
|
||||||
|
// adjustment listeners.
|
||||||
class ScrollPaneAdjustable implements Adjustable
|
class ScrollPaneAdjustable implements Adjustable
|
||||||
{
|
{
|
||||||
AdjustmentListener listeners;
|
AdjustmentListener listeners;
|
||||||
|
@ -295,12 +293,7 @@ public class ScrollPane extends Container
|
||||||
|
|
||||||
public void setBlockIncrement (int b)
|
public void setBlockIncrement (int b)
|
||||||
{
|
{
|
||||||
block = b;
|
throw new AWTError ("can't use setBlockIncrement on this Adjustable");
|
||||||
if (peer != null)
|
|
||||||
{
|
|
||||||
ScrollPanePeer spp = (ScrollPanePeer) peer;
|
|
||||||
spp.setBlockIncrement (this, b);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaximum (int max)
|
public void setMaximum (int max)
|
||||||
|
|
|
@ -17,6 +17,5 @@ public interface ScrollPanePeer extends ContainerPeer
|
||||||
int getVScrollbarWidth();
|
int getVScrollbarWidth();
|
||||||
void setScrollPosition(int x, int y);
|
void setScrollPosition(int x, int y);
|
||||||
void setUnitIncrement(Adjustable adj, int increment);
|
void setUnitIncrement(Adjustable adj, int increment);
|
||||||
void setBlockIncrement(Adjustable adj, int increment);
|
|
||||||
void setValue(Adjustable adj, int value);
|
void setValue(Adjustable adj, int value);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue