01: /*
02: * @(#)QtScrollbarPeer.java 1.13 06/10/10
03: *
04: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
05: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License version
09: * 2 only, as published by the Free Software Foundation.
10: *
11: * This program is distributed in the hope that it will be useful, but
12: * WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * General Public License version 2 for more details (a copy is
15: * included at /legal/license.txt).
16: *
17: * You should have received a copy of the GNU General Public License
18: * version 2 along with this work; if not, write to the Free Software
19: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA
21: *
22: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
23: * Clara, CA 95054 or visit www.sun.com if you need additional
24: * information or have any questions.
25: *
26: */
27: /**
28: * QtScrollbarPeer.java
29: *
30: * @author Created by Omnicore CodeGuide
31: */package sun.awt.qt;
32:
33: import sun.awt.peer.*;
34: import java.awt.*;
35: import java.awt.event.*;
36:
37: class QtScrollbarPeer extends QtComponentPeer implements ScrollbarPeer {
38: private static native void initIDs();
39:
40: static {
41: initIDs();
42: }
43:
44: QtScrollbarPeer(QtToolkit toolkit, Scrollbar target) {
45: super (toolkit, target);
46:
47: setValues(target.getValue(), target.getVisibleAmount(), target
48: .getMinimum(), target.getMaximum());
49: setLineIncrement(target.getLineIncrement());
50: setPageIncrement(target.getPageIncrement());
51: }
52:
53: protected void create(QtComponentPeer parentPeer) {
54: createScrollbar(parentPeer, ((Scrollbar) target)
55: .getOrientation());
56: }
57:
58: private native void createScrollbar(QtComponentPeer parentPeer,
59: int orientation);
60:
61: public boolean isFocusTraversable() {
62: return isFocusTraversableNative();
63: }
64:
65: private native boolean isFocusTraversableNative();
66:
67: public native void setValues(int value, int visible, int minimum,
68: int maximum);
69:
70: public native void setLineIncrement(int l);
71:
72: public native void setPageIncrement(int l);
73:
74: public Dimension getPreferredSize() {
75: if (((Scrollbar) target).getOrientation() == Scrollbar.HORIZONTAL)
76: return new Dimension(60, 16);
77: else
78: return new Dimension(16, 60);
79: }
80:
81: private void postAdjustmentEvent(int type, int value) {
82: QtToolkit.postEvent(new AdjustmentEvent((Adjustable) target,
83: AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, type, value));
84: }
85:
86: protected boolean shouldFocusOnClick() {
87: return true;
88: }
89: }
|